Now that the Mesmerizer update is out, and I'm about to start sending it to current owners, I thought I should make a post about how to upgrade from an existing Mesmerizer.
A Mesmerizer's persistent state consists of triggers, role-play names, teleport permissions, access-lists, commlink state, variables, scheduled events, things you've added to the inventory, and a couple of internal state items like chastity and lockguard chains. Of these, triggers, the access-lists, the comm-state and inventory additions are the most important to preserve. The backup command is useful for much of this.
Before using the backup command, though, you should set the access control in the new Mesmerizer. The first time you rez or wear a new Mesmerizer, it will go through a fairly lengthy initialization process. Let it finish this before you try to do anything else with it (including taking it back into inventory or detaching it). If you do interrupt the initialization, you may get an initialization error the next time you wear the Mesmerizer, and doing a /99help may only show a handful of commands. In either case, you should issue a /99rebuild command to restart the initialization from the beginning, and this time wait until it completes.
Once the new Mesmerizer has initialized, edit its Access notecard to match
the entries in the old Mesmerizer's Access notecard. Usually, you can
just replace the shipped Access notecard in the new Mesmerizer with the
one from your old Mesmerizer, but it is possible that the format might
change (especially during the beta period), so at least look at the new
notecard and make sure it uses the same format as your original one (the
0.98l update doesn't change the Access notecard format).
Once the new Mesmerizer's owner(s) are correctly set, you (or your owners) can use backup to transfer the bulk of the persistent state. Issuing a /99backup command will result in an output like this:
/99Nue Broome:
#1 robot-off = internal play "Attention"
#2 normal = internal stop
#3 on-pan = internal executeif "'$pancmd' off streq" robot-off
#4 on-pan = internal executeif "'$pancmd' on streq" normal
#5 good night = me hypnotize
#6 on-rlv-enabled = internal text "RLV on!"
#7 tphome = internal tpto "ThroneRoom"
#8 on-chat = internal say "$message"
#9 on-emote = internal emote "$message"
#10 doll time $rpname = me env "pinktint"
setname "fred"
setcommaddr "1234d2cb-124f-2345-05fd-abc1540ab8cc@lsl.secondlife.com" 12345678-abcd-1234-5678-9abcdef12345
Ignoring the actual content of the triggers (which are mostly for my own testing), the output is a channel-99 command that will restore the triggers, role-play names, teleport permissions, chastity and commlink state. If it's too long to fit in a single message, multiple messages will be used, and each will be a complete channel-99 command. So to transfer all these things from one Mesmerizer to another, you wear your old Mesmerizer, issue a /99backup command, and wait until it's finished. The last thing it outputs will always be the setname and (if your mesmerizer is networked) the setcommaddr commands. Then detach your old Mesmerizer, wear the new one (and if this is the first time you've worn the new one, wait until it's finished initializing), and then and cut and paste each message from local into the chat bar. If there are multiple messages, the order in which you repeat them doesn't matter, although it will change the numbering of the triggers. Make sure to paste the entire message in one go, and not individual lines from it. And only paste each message once, or you'll end up with duplicate triggers.
backup is also useful if you want to simply see all your sub's triggers, or delete some of them. The number at the start of each trigger line can be used with the delete command to remove the specified trigger. So, with the above triggers, if I did a /99delete 1, the "robot-off" trigger would be removed (and the rest of the triggers renumbered).
After transferring triggers, the final things to move over should be any sounds, images, animations or landmarks that you've added to the inventory of your old Mesmerizer. If you had to edit the AnimFixup notecard to accommodate custom animations that aren't full-permission, you will have to transfer the key values from your old AnimFixup notecard to the new one. The format of this notecard has changed, as it now does double duty - to declare keys for non-full-perm animations, and to specify height offsets. The new format is described in the 0.98l Mesmerizer's AnimFixup notecard.
There is currently no simple way to transfer the state of variables or scheduled events forward, so you will have to manually re-schedule any events and re-define any variables you want to preserve.
No comments:
Post a Comment