MLPv2 Help

MLPV2 Help Page – for MLPv2 Furniture Products

Lok’s version of MLPv2 scripts have been tested extensively, but everybody makes mistakes.
Please IM Sera Lok directly, or leave a comment here, if you encounter any problems with this bed that are NOT covered in the notes below.


If your item has completely stopped operating or responding to clicks, or the pose balls aren’t working correctly: you can reset all scripts inside the item by right clicking the item and selecting “Edit,” then in the main menu select “Tools” (Or Build, if you are using a V2 viewer), and click “Reset Scripts in Selection.” Then click the item one or two times to start it up.


Right click and Edit the item, and locate the ~menu script in the contents (you may have to edit linked parts to select individual prims).  Double click on the ~menu script to open it, then click the “Reset” button.


For basic operation of this item, see below for the .readme file that is included with MLP scripts which has lots of helpful information.  You can also check out the wiki pages on the Second Life™ website.
[Skip Down for Customization Instructions]


1.  Problem: “I don’t see the poseballs.”
Solution: Select a pose set from the menu.  If you still don’t see the poseballs, choose another pose.  If the poseballs still don’t appear, restart the bed (OPTIONS > ShutDown…>Restart).

2.  Problem: “I moved the bed but the poseballs didn’t go with it.”
Solution: Click on the bed to get the menu and click STOP, then select a pose from the menu.

3.  Problem: “Nothing happens when I click for the menu.”
Solution: First, make sure the item has the correct group tag and that scripts are allowed on the parcel. Check for transparent prims that might be in the way by pressing Ctrl-Alt-T (press Ctrl-Alt-T
again to go back to normal view). If this does not help, you need to do a Hard Reset.
HARD RESET: You should not perform hard resets unless necessary; it is highly recommended that you do a -Dump Pos- and paste the output into the .POSITIONS notecard inside the
bed.  Then, right click > Edit the bed.  Go up to Tools in the main menu, and click “Reset Scripts in Selection.” Then click the bed once or twice to get it going.

3.  Problem: “These animations don’t look right… our lips never touch, etc etc.”
Solution: Take the time to manually adjust and save your poses.  You won’t regret it!  I’ve rearranged the interface so that adjusting and saving positions should take less time, less clicks, and be
slightly less torturous.  Some people say takes away from the experience, but if you give it a chance, I think you’ll see that the opposite is true. 🙂

4.  Problem: “I keep walking through my bed and I don’t like that!”
Solution: Some of my products are set to phantom by default, but you can change it manually.  Right-click > Edit; under “Object” tab, uncheck the box in front of Phantom.

5.  Problem: “This bed talks too much.”
Solution: Click the Chat Off/On button in the Main Menu or Admin Menu (they both do the same thing).
Unfortunately this setting doesn’t stick through a restart.  If you want a bed that will remain silent through a restart (by scripted default), contact Sera Lok to arrange an exchange.

6.  Problem: “These sculpties look bad.”
Solution: Go to the Advanced Tab (Ctrl-Alt-D) >  Debug Settings >  Find “rendervolumeLODFactor” (or just start typing it in the search field) > raise value to 4.0 or above.



Scripts and notecards will not normally be in the root prim, so you may need to use Edit Linked Parts after selecting the furniture (in the Edit menu) to access the scripts, notecards, and animations in Contents.  (NOTE: It may take 10-40 seconds for the items inside the prim to load.  Let items load fully, or you won’t be able to open them to edit.)

Please remember to back up notecards before you make any changes.

The *Adjust* Menu:
Lok’s uses a custom menu that tries to streamline the process of adjusting and saving positions.  Each menu has an *Adjust* button which presents a menu designed exclusively for that purpose.  (MLPv2 is very useful in that you no longer have to get off the poseballs to make that unsightly adjustment beam go away! Just click “Adjust Pos” or “QuitAdjust” and the beams disappear.)
Simply click “Adjust Pos,” edit the beams until you’re satisfied, click “Save Pos,” then “QuitAdjust.”  In your chat history (Ctrl-h) will be something like this:

[1:33]  *Lok’s* Sectional Sex/Cuddles Couch: {Incline} <-1.478,0.923,1.565> <0.,0.,78.> <-1.504,0.8,1.569> <0.,0.,78.>
[1:33]  *Lok’s* Sectional Sex/Cuddles Couch: 90 positions stored (~memory: 20160 bytes free)

Take that *first* line… find the notecard called .POSITIONS.xx  (xx will be something like Sex, Oral, etc.) and open it.  Now *delete* the old line with the same pose name and *copy* the new line, and save.
If you are adjusting more than one pose, you should keep the beams out until you are finished adjusting all poses.  You can skip the “Save Pos” and “QuitAdjust” and go right to the next pose; MLPv2 will automatically save the previous pose, as long as the adjustment beams have not reverted to poseballs.  When you are done, click the “Dump Pos” button in the *Adjust* menu and copy/paste the results into the appropriate .POSITIONS notecard.  If it’s easier, delete all the separate .POSITIONS.xx  notecards (after you’ve backed them up, of course) and make one big .POSITIONS notecard to put the entire list into one notecard.
Facial expressions can be easily changed by editing the .MENU notecards.  Each .MENU card has a ‘key’ that includes all the facial expressions as well as instructions on how to change them.
Arousal is customized through the .XCITE card, see instructions in the card.  (Tilt and Kinks are also controlled through the .XCITE card.) See sections marked with “**LOK’S NOTES** for detailed instructions.


The following is a copy of the .readme file that is included with the base MLPv2 Scripts, written by Lear Cale:

MLPV2 Version 2.4, by Lear Cale, based on
MLP – MULTI-LOVE-POSE V1.2 – Copyright (c) 2006, by Miffy Fluffy (BSD License)

The BSD Licence allows anybody to use the source code, in any manner they wish, providing that they provide the copyright notice above on further distributions.
Please feel free to donate to Lear Cale for the MLPV2 enhancements.  My thanks to Miffy Fluffy for the original!  Find MLPV2 scripts for L$1 at .  Please use SL Forums “MLPV2 Q&A”  thread for support:

Also, see

for a tutorial Wiki.

– Put all your poseball animations into one object (supports over 200 couple’s poses).
– Create submenus for each category of poses, for instance: “Solo, Boy-Girl, Girl-Girl, Dance, 3some, 4some”
– Shows 1, 2, 3, or 4 poseballs depending on the submenu you select
– Positions can be adjusted and saved into memory (backup is easy: select Memory Dump and copy-paste into notecard)
– Portable, can be worn and used everywhere
– Option to adjust height offset (Z) of all poses at once (for different persons/locations).
– 15 poseball colors:
– Per-pose props, sequences, and configurable SWAP

– Click the MLP object to switch it on
– When everything has loaded click again for the menu
– Select a submenu containing poses, and select a pose.  Poseballs will appear.
– Sit on your poseball (Right-click)
– Accept the popup asking permission to animate your avatar.  (Might be behind the MLP menu, click “>>>” to see.)
– To remove the balls, select ‘STOP’.
– After moving the MLP object, use STOP to reset its position.

You can adjust the poses to fit your own avatar and those you share MLP with.
– Select a pose you want to adjust and sit on the balls.
– Go back to the main menu, select “Options – Adjust Pos”.  This changes the balls into transparant beams.
– Right-click a beam, select Edit and adjust the position (Shift-click to select more than one).
– Position the balls anywhere within 10m from the MLP object.
– “Save Pos” stores the position into memory.
– Important!  Back it up; see below.

Saved positions are stored in memory but are not permanent.  They are lost on script error (See “Script run-time error / Stack-Heap Collision” below).  They are also lost on shutdown/startup, or “Pos Reset”.  To back the positions up more permanently you have to copy them into the .POSITIONS notecard:
– Select “Mem Dump”
– Copy the complete dump (from Chat-History)
– Paste it into the .POSITIONS notecard (just replace everything, you don’t need to edit/format anything).
– Delete any other *.POSITIONS* files.

Note: After changing any *.POSITIONS* files, use the “Pos Reset” command to verify your changes, if desired.  This also helps to avoid losing changes due to Stac-Heap collisions.

Select “Height Adj” and click the “Z”-buttons, this will adjust the height for all poses.
Note: the offset height is stored in the Object Description, so any descriptions will be replaced.

Copy all animations into the MLP object (if you want to use existing poseballs, open them to rip their animations). Note: you can use any object as MLP, just copy the MLP contents in the object of your choice.
Open the .MENUITEMS and add the animations:
POSE name | animation1 | animation2 …
The changes will become active after MLP is (re)started.  Use the “Menu Reset” command after changing *.MENUITEMS* files.

To give an expression to an animation, add one of the following suffixes to the anim name in the POSE line.
(Just add it to the POSE config line, don’t change the anim name.)

Suffix / expression
*        open mouth
::1      open mouth
::2      surprise
::3      tongue out
::4      smile
::5      toothsmile
::6      wink
::7      cry
::8      kiss
::9      laugh
::10    disdain
::11    repulsed
::12    anger
::13    bored
::14    sad
::15    embarrassed
::16    frown
::17    shrug
::18    afraid
::19    worry
::20    sleeping (combination of disdain and smile, closest I could find)
::21    randomly changing between open mouth, surprise, smile, and a few others

To make the expression happen periodically rather than constantly, add another extension and the period (in seconds).

For example, to use MyAnim with open mouth every 5.5 seconds:

POSE Mypose | MyAnim::1::5.5

TO ADD SOUNDS (buttons to play sounds), in a menu (just like a POSE button), add a line like this:

SOUND She moans |  female-moan

where “She moans” will be the button label, and “female-moan” is the animation to play, which must be in object inventory.
For sounds in menus with poses (rather than in a menu specifically for sounds) I recommend you begin the pose name with “☊” (which looks a bit like headphones, the best I could find for the purpose).  This serves as a clue to the user that the button plays a sound.

Create and files (where xxx is whatever you want) and put the corresponding menu configs and poses in them.  This way you can deliver a bed with folders of add-on menus so the customer can choose what types of anims they want to add to the menu.  Note that you get at most 12 top menu choices.  The scripts read the .POSITIONS files in alphabetical order (and .POSITIONS must be first).  The menus are assembled in the usual SL ass-backwards-by-three manner.

This also allows you to sell furniture with “enhancement packs”, which are simply collections of,, and the associated animations for the customer to drop into the furniture.  Customers can easily select furniture appearance and pose bundles independently!

Note for those who are adding animation sets to MLP V1.2 configurations: For this feature to work, there must be “TOMENU -” entries in the main menu.  These are very easy to add to an existing configuration, just delete all “TOMENU” lines in the main menu and replace them with “TOMENU -” lines.  Also, add a “MENUORDER” to the .MENUITEMS file.  Now, all MENU configs that don’t have a corresponding “TOMENU” entry will be put in the main menu, replacing a blank one.  Unused blank ones are deleted automatically.  See the .MENUITEMS file from the MLPV2 release for more info.

The owner is the only one who can start/restart/shutdown, in all cases.
– if “Options – MenuUser” is set to OWNER: the owner is the only one who can access the menus
– if “Options – MenuUser” is set to ALL: anyone can access the MAIN MENU
– if “Options – MenuUser” is set to GROUP: members of the same Group as the MLP object can access the MAIN MENU (the MLP Group can set by right-clicking MLP and selecting Edit, More >> General tab – Group: Set)
Note: even if “MenuUser” is set to ALL or GROUP, individual SUBMENUS can still be blocked (you can define access for each submenu in .MENUITEMS, see examples in .MENUITEMS).

– if “Options – BallUsers” is set to ALL: anyone can sit on the ball
– if “Options – BallUsers” is set to GROUP: only groupmembers can sit on a poseball. The balls will check if the person who tries to sit on the ball belongs to the same Group as the ~ball object (to set the Group of the ball, take a new copy of the MLP with your preferred Group set active on you. You could also take the ~ball out of the MLP, into the world, right-click, Edit, More >> General tab – Group: Set, thereafter take the edited ~ball into your Inventory (note: do this within a minute or so, because balls commit suicide after a while when taken into the world), delete the old ~ball in the MLP, and drag the new ~ball from your Inventory to the MLP).

Create a notecard called “”, where xxx is anything you want.  For each pose, add a line like this:

posename | 0 1 3 2 : 1 0 3 2 : 1 0 2 3

where “posname” is the name of the pose button (same name as in .MENUITEMS and .POSITIONS files).  The last part gives the alternate poseball orders, separated by colons.  The default order, “0 1 2 3 4 5” (for a 6-ball pose), is always automatically generated; do not include it in the configuration.  The default order means that ball0 (the first ball color) gets animation 0 ( the first pose configured in .MENUITEMS* notecard) and position 0 (the first position in .POSITIONS*  notecard) for that pose; and so on.  In the example above, which is for a 4-avatar pose, hitting SWAP will cause ball order “0 1 3 2” to be used, meaning that the last two balls are switched.  Hitting SWAP again makes it change to “1 0 3 2”, which reverses the first two (and keeps the last two swapped as before).  SWAP again yeilds “1 0 2 3”, which reverses the last two back to their original order, but keeping the first two swapped.  Hitting SWAP again makes it go back to the original order.

After changing a .SWAP* notecard, use OPTIONS -> Pos Reset to make the changes take effect.  (A full Restart will allso work.)

Attach the object to the HUD, you can use it’s default shape and color for clickable bar on one of the edges of your screen (to move HUD position: Right-click – Edit), you can edit color/transparancy/size/position.
Adjust the height offset (Z). Note: the balls will appear relative to the initial MLP position (to reset where the balls appear, press STOP to remove the balls.  Then select a pose).


– Why do I hover, sitting, after sitting on a poseball?
Be sure to answer “Yes” to the popup that asks permission to animate your avatar.  This is often buried under the MLP main menu, so click the “>>>” to cycle through menus.  This is SL behavior and there’s no way to fix it, other than turning “remenu” off.

– Will my animations be lost if I lose a poseball?
No. The animations are not placed the balls, they remain in the main MLP object. Don’t worry about the poseballs, they are copies of the one in the MLP object. A balls will commit suicide if left behind somewhere (the MLP object needs to be within 20m).

– Sometimes notecards or scripts won’t open for editing, why?
If the MLP contains many animations, access to it’s contents can be slow, try again after a few seconds.  Sometimes i find it gets “stuck” with old contents, and i have to drop in a new item or rename or change an existing one to get it to reload the contents correctly.  I usually rename “.readme” slightly.

– “Script run-time error / Stack-Heap Collision”?
Right-click/Edit the object, and use SL menu: “Tools -> Reset Scripts in Selection” to reset.
Any saved positions that were not backed up in .POSITIONS files are lost, so if your furniture has lots of poses (over 50) and you save positions, be sure to back up regularly.  Use OPTIONS -> Pos Reset after changing .POSITIONS* files.

FAQ for those who edit *.MENUITEMS files:

– “Script run-time error / Stack-Heap Collision”?
After a restart, this is a clue that there are too many items in *.MENUITEMS* or *.POSITIONS* files.  NOTE: this also happens if you re-compiled the scripts in your inventory, rather than in an object.  (Mono checkbox must be checked when you save; currently this box appears only when compiling a script in an object.)

– My new menu appears on the main page, rather than as a submenu where I configured it.  Why?
Most likely, you named it differently in the MENU line versus the TOMENU line.  When MPL sees a MENU line, it looks for the same name in a TOMENU line.  If it doesn’t find it, it replaces any “TOMENU -” entries it finds, generally on the main menu.

2.4z3 – BUG FIX – since 2.4w when changing pose to fewer poseballs, anyone popped off is not de-animated, and other scripts are not told that the av is no longer sitting (e.g., for xcite adaptor script)
2.4z – SOUND for sequences
2.4y – ~poser n scripts are optional
2.4x – ~ball: move sit target to top
2.4w – memory savings in ~menu
2.4v – “::21” suffix – random expression changes (cycles throughfs open mouth, surprise, smile, kiss, laugh)

2.4u – allow STAND as first pose chosen in a menu.  Previously rezzed no balls for STAND.  Freed up some memory in ~menu.
2.4t – fix ~swap math error if no pose selected before SWAP used (after reset)
2.4s – fix chat getting turned off by sequences
2.4r – fix “no name” seen by Emerald
2.4q – fix catastrophic  bug in ~memory from mlpv2.4p
– put sliced arrays back in, since Second Life Server 1.30.2 version now checks memory on every call, making this again necessary.

2.4p – 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).
– sitter: press both pg up & down keys to toggle adjustment mode
2.4p2 – LM signalling end of startup (“READY”)

2.4n4 – fixes for sequences.  – Stop old sequence when changing to new.  – Force a wait after AVWAIT to avoid sequences stopping early if avs seated and no wait between two poses.
2.4n3 – 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
2.4n – 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)
v2.4l – 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
v4.2k – fix ~prop: don’t jump on double-save
v4.2j – fix ~ball: don’t listen if rez-arg is zero; cancel old listen on rez.
v4.2i – fix getrefpos issue on save
v4.2h – warn if props aren’t copiable (check for current and for next owner)
v4.2g – Adjust mode auto-saves props too; delete trailing zeros on save
v4.2f – STOP resets swap
v2.4e – restarter button in MLP Tools, xcite double-stim for per-anim fixed
CHANGES in MLPV2 Version 2.4:

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.

2.3k: fixed startup race condition (stopping before reading MENUITEMS), fixed sequence labels not found
2.3j: height menu bug fix (probably broken since 2.3’s reorient menu added)
2.3i: bug fix (remenu broken in 2.3h)
2.3h: sequences: rez balls on sequence start
2.3g: 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:

Comments are closed.