MLPV2 Version Tracking

From Second Life Wiki
Jump to navigation Jump to search

MLPV2 Version Tracking


  • MEMORY commands for all notecards
  • During "Adjust" mode, ~memory script's limit is set to max, to allow storing new pose positions. Its limit goes back down when you leave Adjust mode.


This is a first cut at memory reduction for MLPV2. The goal is to reduce memory usage stats.

  • ~menucfg: deleted state exit handler, moved code to entry handler.
  • ~menucfg sets memory limit to usage + 100 and shuts off
  • MEMORY commands for .MENUITEMS and .POSITIONS (see xxxx.example for examples)
  • prints ~menu memory usage on Adjust. What about ~positions? ~pose?
  • reduced memory in ~run
  • "Adjust" menu button now prints current memory usage in ~menu. (Need something for ~positions as well.)

TODO in subsequent release(s):

  • have posers set their memory limit low -- NOPE, leave as LSL, because they take 17K in Mono.
  • have posers shut themselves down? (Currently ~menu stops them when not in use.)
  • check for other scripts to lower memory.
  • memory limit for ~pos? use same as ~menu, or that minus a constant?
  • find out whether lists can be further optimized
  • MEMORY commands for ~sequencer and ~swap


  • sequences: omit objname in chat
  • xcite: allow multiple /x in chat strings
  • Changed scripts: ~sequences, ~MLPT-Xcite-adaptor4, and ~menu (version number only)


  • Use version 2.4z7 (5 and 6 releases were replaced within hours owing to permission issues, etc.)
  • Moved the "check config" feature to a separate script in MLP tools, freeing up a bit of memory in ~menu and ~memory.
  • The config check is for when you think it's done: it checks for poses without positions and vice versa, or missing sounds.
  • Change to ~ball that allows changing sit target without having to adjust .POSITIONS


  • Resync when starting same anim (e.g., new pose using same anim, or choosing same pose again)


  • BUG FIX - Since MLPV2.4w, if you change to a pose with fewer balls, avs popped off are not de-animated, and partner scripts (like xcite) are not told that the avatar stood.
  • Only changed script is ~menu.

2.4 z

  • Adds SOUND for sequences

2.4 y

  • With this version, you may now delete unnecessary "~poser n" scripts (e.g. ~poser 5). Delete the unnecessary high-numbered ones. For couples, you need "~poser" and "~poser 1" but not the others.

2.4 w

  • Should fit about 50 more couples poses (assuming button and anim names aren't long).

2.4 v

  • added random expressions via  ::21 (change in all ~poser scripts)
  • fixed: the "build-in" typo;
  • fixed: example SEQUENCES nc had debug turned on


  • same as 2.4u, but with a 'fullstop timeout' script in the tools box


  • allow STAND as first pose chosen in a menu. Previously, rezzed no balls for STAND (used whatever balls from last menu chosen)
  • provide a button for adjusting STAND in zz-adjDefault
  • free up some memory in ~menu (about 2K)
  • Changes to: ~menu, .readme only, .POSITIONS.zz-default


  • Forgot to update vers # in 2.4t, please use this one.
  • Changed: ~menu, ~swap.


  • Minor bug fixed: if SWAP used after reset before any pose selected, ~swap fails; reset required.
  • ~MLPT-timeout added to MLP Tools box. Drop this script in so MLP will STOP when unused for one hour (editable). See MLPT readme for details.
  • NOTE: In this distribution to the MLPV2 group, ~MLPT-timeout is included directly, not just in the MLP Tools box. Please give it a try and let me know if there are any problems.


  • Sequences turned "chat" off; this update fixes that. I thought I'd fixed that before, but evidently not.
  • Changed scripts are ~menu (version string only), and ~sequence.
  • No other changes.


  • MLPV2.4p was borked in reading positions. This fixes it. It also backs out the ~memory changes, which don't work well with the new server code (1.30.2) (as I'd suspected).


  • fixed OFF for "CHAT Chat Info OFF" and "REDO RedoMenu OFF" configs. (Buttons worked; default settings didn't.)
  • removed object name from pose chats
  • reduced probability of "*" prefix in ~ball desc causing it to miss color change message
  • eliminated sliced arrays in ~memory, dramatically increasing free mem (but perhaps running afoul of upcoming changes, stay tuned). followed Liz's suggestion to use one list rather than multiple. I don't know why multiple had the severe overhead. When I tested it earlier, the two methods worked the same in Mono, whereas multiple lists worked much better for LSL. However, there's an issue here, and I expect this subject will come up again, related to memory handling differences for per-parcel script memory limits.
  • sitter: Instead of arrow keys adjusting, you now press both page-up and page-down to enable the arrow keys (shift left/right, up/down, and page up/down). Push page-up and page-down to disable again. This way, folks trying to adjust their view won't move their avvies.
  • updated scripts: ~menu, ~memory, ~ball
  • Added "ready" linked message. Uses -11003, "READY"


  • same as for 2.4p1 above, except linked message "ready" used channel 0.


  • fixes to address some sequencing issues such as NOCHAT turning off all chat, etc.

Changes made to the following scripts: ~sequencer


  • fixes to turning off scripts (lag reduction). Should no longer fail after sim reset. Should also fix a reanimation problem.
  • Leave ~timeout running so it'll delete itself when bought
  • ~timeout moved to MLP Tools kit
  • Changes made to the following scripts: ~menu and and all ~poser* scripts (~poser, ~poser1, etc.)


  • by this version, the MATURE directive was partially retired by being commented out


  • fix warning when multiple people using menu at same time (popups go to wrong people)

2.4m - add warning and truncate for pose button label too big (usually, missing "|") - sitter adjustable poseball (start ~ball description with plus sign to activate)


  • avoid "animating without permission" script errors (when sitter doesn't accept) -- partially solved (error gone, but something's still wrong if MLP bought when someone's on a ball.)
  • MATURE directive (skip rest of card if not MATURE sim). (might ditch this)
  • stop poser# scripts when corresponding ball isn't rezzed
  • stop several other scripts when no balls are rezzed


  • fix ~prop: don't jump on double-save


  • fix ~ball: don't listen if rez-arg is zero; cancel old listen on rez.


  • fix getrefpos issue on save


  • warn if props aren't copiable (check for current and for next owner)


  • Adjust mode auto-saves props too; delete trailing zeros on save


  • STOP resets swap


  • restarter button in MLP Tools, xcite double-stim for per-anim fixed

2.4 d

  • Bug fix: SAVE after SWAP should now work correctly. Note: don't SWAP while editing a pose; it'll reset it to the previously saved position. Instead, save and then swap, after which you can save and it'll do the right thing. I should put this in the wiki!
  • ~timeout put back in


  • HIDDEN attribute for menus (instead of "ALL/GROUP/OWNER") for menus used only by sequences.
  • NOCHAT option for sequences (use "SEQUENCE | seqname | NOCHAT") -- disables bed chatting pose name during sequence.
  • SWAP behavior configurable per-pose (for poses with more than 2 balls). See "CONFIGURING SWAP FEATURE" above.


  • fixed startup race condition (stopping before reading MENUITEMS), fixed sequence labels not found


  • height menu bug fix (probably broken since 2.3's reorient menu added)


  • bug fix (remenu broken in 2.3h)


  • sequences: rez balls on sequence start


  • reset fixes:
  • kill balls on reset in ~menu startup
  • don't say "click to start" until ready, in ~run

CHANGES in MLPV2 Version 2.3:

- Supports sounds

- Supports up to 6 avatars (poseballs)

- Sequences (tours) -- set up a menu button that plays a sequence of poses and chats. You configure the sequences in a new .SEQUENCE type of notecard. More info on that here:

- When rezzed, balls are now named ~ball0 .. ~ball5, to support easy sitting for bot clients (used for machinima, not camping!) The object name in inventory has not changed.

- "Adjust Pos" is now a toggle. Try it and see! Avs can hop on and off and balls return to the 'adjusting' shape. You can also use STOP to return to normal mode.

- EZ-Adust! Now, when you're in adjust mode and you change poses, it saves the current pose before swithcing to new pose. To abandon changes, quit adjust mode, STOP, or just re-select the current pose.


- "Reorient" menu for more easily adapting an existing pose set to a new furniture item

- script to check anim permissions

- script to check for unused animations

- Three different example xcite adaptor scripts (requires Xcite! Partner script from Xcite) - AutoZhao adaptor script

- touch passer moved here, since it's never required in the MLP prim

CHANGES in MLPV2 Version 2.2 (unreleased other than to MLPV2 group)

- Added LMs when avs sit or unsit, to make it possible to add support for things like xcite and cuffs without modifying MLP scripts. Read more here:

- Cleaner chat on DUMP (omits object name)

CHANGES in MLPV2 Version 2.1:

- Props! Rez an object per pose. Object is deleted when changing to new pose, or after 3 minutes if bed is deleted.

- 15 ball colors supported!

- AUTOBACK - automatically inserts BACK before MORE--> button (optional, off by default)

- Bug fix for AUTOMORE on main menus with too many buttons. AUTOMORE no longer supported for main menu. Might be fixed some day.

- Bug fix for AUTOMORE menues with more than one extra page.

- Expression control code removed -- didn't work out. MLPV2 no longer takes controls. Of course, still compatible with all MLP and MLPV2.0 scripts.

CHANGES in MLPV2, Version 2.0:

- Now supports Solo, 3some, and 4some menus.

- Memory optimized: now holds over 70 couples poses.

- Expressions supported (20 expressions, constant or periodic). See "TO ADD POSES" above.

- Extended menus. (Automatic "More-->" button for menus with more than 12 buttons.)

- Menu buttons now appear in menus in the same order as in the configuration but only if the new MENUORDER config item appears -- otherwise order is same as before, for backwards compatibility).

- Modular configuration: reads all *.MENUITEMS* and *.POSITIONS* files, in sort order (same as in object contents).

MENU config lines with no corresponding TOMENU lines get added to the main menu (replacing a blank "TOMENU -" line).

This allows makers to easily provide add-on packs, each being folder containing .MENUITEMS*, .POSITIONS*, and animations files. Customer simply drops the folder in and resets.

- Backwards-compatible with MLP V1.2 configurations.

- Ball timeouts have been disabled. This should make MLPV2 a little more efficient. However, if you move a bed with balls rezzed, you'll need to delete the balls manually.

- Set poseball's floating text and pie menu sit text by changing its description. Also, if the ball's description begins with an asterisk ("*"), the poseball is phantom. After changing ball's description, STOP to delete any balls and then select any pose.

- New LM button type, to pass LMs to other scripts/prims. This allows adding features to furniture, with buttons in the MLP menus, without changing any MLP scripts.

- Warning for duplicate entries in .POSITIONS* files.

- Configuration consistency checker: try "ConfigCheck" in Shutdown menu NOTE: this will reload .POSITIONS.* files, so backup any saved positions first! It will find buttons with no positions and vice versa.

- AutoZhao support

- Restart menu reorganized:

Use "Pos Reset" button after changing *.POSITIONS* files.

Use "Menu Reset" button after changing *.MENUITEMS* files.

Use "Restart" button to restart all. This used to do only a menu reset.

- MLP bug fix: if you rez a copy, it uses the same channel as the original, and on MLP V1.2 you'd get crosstalk.

The menu script is now reset on rez. This does not reset positions; saved positions are not lost.

- MLP bug fix: Avoid reanimating a non-sitting avatar! This happened in these cases that I'm aware of:

A) Avatar is posed and STOP button is hit and then a new pose is selected. The avatar (no longer sitting) would get animated.

B) Same as above, but instead of STOP button, avatar teleports or relogs