package creation help

Post Reply
Caled
Posts: 403
Joined: Thu Apr 09, 2009 4:45 am

package creation help

Post by Caled »

I can't seem to find information on this, yet I'm sure I've read explanations before.

I understand how to create a package, and to install/uninstall them.

The bit which I am unsure about, is whether there is an easy way to update a package. If my package consists of triggers, aliases, scripts and maybe others, then to create the package I need to export each, group by group, to xml. Then I put them all in a zip archive, renamed to *.mpackage

Two days later I make some changes to it, add a new alias, some triggers etc, and then to remake it as a package I need to repeat the whole process again.

Or is there an easier way to do this? It seems to me that if the package control window can uninstall a package, it could also export the whole package to xml, which would make keeping updates a breeze.

User avatar
Oneymus
Posts: 321
Joined: Thu Sep 17, 2009 5:24 am

Re: package creation help

Post by Oneymus »

I'm not sure about the "official" Mudlet answer, but I would recommend writing as much of your code as you can in .lua files, and require()'ing them in. Then updating is a simple matter of changing those files.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: package creation help

Post by Heiko »

Mudet-2.0-test4 has a new shared package feature that needs testing. This is probably what you're looking for.

Caled
Posts: 403
Joined: Thu Apr 09, 2009 4:45 am

Re: package creation help

Post by Caled »

I was more thinking for sharing parts of a system with other people, that are in a kind of beta stage.
Examples:
1. A GUI front end for someone else's system (which I am using at the moment). The GUI is only just beginning and it will need frequent assessment from the other person.
2. Additions to the Aetolian mapper script that I'm making, which are not part of the official package, and so need to be in a package of their own.
3. A 'toolbox' package I loosely keep and occasionally share. Just a collection of functions and aliases that make life a little easier. I don't often share this, but it changes often enough so whenever I do, I need to rebuild it.
4. A set of triggers/aliases for coordinating group combat which gets shared between a bunch of people, and gets updated fairly often (whenever someone dreams up a new tactic).
The list could actually go on and on.

The lua file idea might be the answer - it's probably easier to be coding in notepad++ anyway - but that is just for scripts, right? Not for triggers and aliases? Please do correct me if I am wrong.

I'm not really pushing for this (after all, we've all managed so far), I just thought that it might already exist. The package system was implemented while I wasn't really playing, so I'm not very familiar with its progress.

The 'remove package' option in the package manager seems to remember what it needs to delete anyway - couldn't it just export as well as delete?

User avatar
Oneymus
Posts: 321
Joined: Thu Sep 17, 2009 5:24 am

Re: package creation help

Post by Oneymus »

.lua files do function as Mudlet scripts.

But, with the use of the exists() function, in addition to the perm* functions, you can handle, to some extent, aliases and triggers. I haven't spent much time with that, specifically, so I wouldn't be able to give you good advice on the particulars of that practice, but I do know it's doable.

If you're fine with transparency, you can also create tempTriggers and tempAliases, which are created per session (and thus you don't have to worry about creating duplicates).

User avatar
Vadi
Posts: 5050
Joined: Sat Mar 14, 2009 3:13 pm

Re: package creation help

Post by Vadi »

Take a look at the module system as Heiko recommended, that is the answer. I'm not sure if it rezips, but it handles xmls just fine.

User avatar
Heiko
Site Admin
Posts: 1548
Joined: Wed Mar 11, 2009 6:26 pm

Re: package creation help

Post by Heiko »

Caled wrote:I was more thinking for sharing parts of a system with other people, that are in a kind of beta stage.
Examples:
1. A GUI front end for someone else's system (which I am using at the moment). The GUI is only just beginning and it will need frequent assessment from the other person.
2. Additions to the Aetolian mapper script that I'm making, which are not part of the official package, and so need to be in a package of their own.
3. A 'toolbox' package I loosely keep and occasionally share. Just a collection of functions and aliases that make life a little easier. I don't often share this, but it changes often enough so whenever I do, I need to rebuild it.
4. A set of triggers/aliases for coordinating group combat which gets shared between a bunch of people, and gets updated fairly often (whenever someone dreams up a new tactic).
The list could actually go on and on.

The lua file idea might be the answer - it's probably easier to be coding in notepad++ anyway - but that is just for scripts, right? Not for triggers and aliases? Please do correct me if I am wrong.

I'm not really pushing for this (after all, we've all managed so far), I just thought that it might already exist. The package system was implemented while I wasn't really playing, so I'm not very familiar with its progress.

The 'remove package' option in the package manager seems to remember what it needs to delete anyway - couldn't it just export as well as delete?
Shared packages is not about sharing your package with other people. It's about creating and automatically updating content that you shared among several profiles/characters e.g. mapper script, chat script etc.. Those packages that are installed as shared modules will always use the latest version of the code instead of the version of the once installed package. As you've been one of the most prominent people who asked for this feature in the past, I'm sure this is what you are looking for :)

Runei
Posts: 15
Joined: Sun Jan 02, 2011 8:39 am

Re: package creation help

Post by Runei »

Sounds like something I could use. How does one utilize this? There's nothing in the manual.

Post Reply