MLPV2 Tutorial

From Second Life Wiki
Revision as of 10:57, 14 June 2008 by Chaz Longstaff (Talk | contribs)

Jump to: navigation, search

Setting up MLPV2

These instructions look long, but it's easier than it looks. Here's the overview:

  1. get the scripts and install them in a prim
  2. put your anims in the same prim
  3. Create and edit one or more .MENUITEMS.* notecards (use whatever you want for "*"). Configure menus and add poses to the menus. Mostly the same as old MLP, with enhancements and no need to edit the main menu.)
  4. Reset and try the menu
  5. adust each pose (same way as old MLP)
  6. dump memory and save positions in notecard (nearly same way as old MLP; sellers may want to use modular .POSITIONS.* files)

These instructions are oriented for someone setting up a new object. However, those who bought one and are adjusting it or adding poses can simply skip the obvious steps that the maker would already have done.

Get the scripts

Get MLPV2 (empty) from SLExchange. Cost, L$1. I also recommend the configured example for L$100.

Take a good look at the .readme file.

Install scripts

Either copy its contents into inventory and then into your furniture, or else edit the prim and use it in your bed. Life is easiest if you use the root prim for MLPV2; instructions below for when it's not. For your first try, stick with root prim and keep life simple. (An easy way to add it to an existing bed is to just float it slightly above your mattress and then apply a totally clear texture, available in any freebie depot.)

Click the MLPV2 prim so that it starts up for the first time. If you get a menu, fine; you've already done this.

Install animations

Drag all the anims you'll use into the prim. (You can pull these out of poseballs you like. If the animations are no-copy, this will render the poseballs useless.)

Create and edit your .MENUITEMS.* file

Create a new notecard, named ".MENUITEMS.mystuff", where "mystuff" can be anything you want. MLPV2 can take any number of these, and bed sellers can make different pose sets for different customers. For now we'll make just one, and talk about "pose packs" later. Drop this notecard into the object -- though you might want to do most of the editing first -- objects with lots of things in inventory react slowly to changes, and you might have a lot of animations.

Create a menu:


This creates a menu whose button in the top menu will be labeled MyMenu. ALL indicates that it will be accessible by everyone (alternatives here are GROUP, only allowing people in the same group as the object, or OWNER, only allowing the owner). After that, list each ball color for the poses in this menu. You can have up to four balls. If you have some solo poses, some couples poses, and some 3some poses, they have to be in different menus.

In this example, a pink and a blue poseball will be rezzed.

For each pose in this menu, add a line like this:

POSE pose1 | anim1 | anim2


pose1 will be the button name for this pose.
anim1 is the name for the animation for the first poseball (which happens to be pink in our example)
anim2 is the name for the animation for the second poseball (which happens to be blue in our example)

For facial expressions, you add a suffix to the animation names indicating the expression. Note that you don't change the actual name of the animation in the inventory, you just add the suffix in this configuration notecard. These are explained under MLPV2 Expressions below. For a simple example, appending "*" will give an astonished open-mouth expression.

The following can also be included in your menu:

TOMENU MyOtherMenu

STOP makes a button labeled STOP that de-rezzes the poseballs and unsits everyone. SWAP makes a button labeled SWAP that exchanges the first two balls. It currently has no effect on any 3rd or 4th ball. BACK makes a button labeled BACK that goes back to the previous menu. TOMENU makes a button labeled MyOtherMenu, which goes to another menu (which you must create).

With MLPV2 (assuming you're using the .MENUITEMS that comes with MLPV2 rather than an old MLP configuration), any MENU that is not found in a previous TOMENU entry is added to an empty slot in the top menu. I'll talk more about this below, under MLPV2 Submenus.

It's a good convention to end each menu with the following:


For MLPV2 (again, assuming you're using the .MENUITEMS that comes with MLPV2 rather than an old MLP config), buttons are placed in the menu in the same order they appear in the config notecard.

Continuation menus

As we all know, you get at most 12 buttons in an SL menu. However, with MLPV2, you can have more than 12 buttons in a configured MENU. If there are more than 12, MLPV2 will automatically add a MORE--> button after the 11th item, leading to the remaining choices. (And also after the 22nd item, etc.)

However, currently, MLPV2 does not automatically add a BACK button. (Maybe some day it will ...) So, in the meantime, it's best to manually add a BACK button as the 11th button in any menu with more than 11 other buttons.

Menu Reset

Save your changes. (If you're editing a copy in inventory, install it in the MLPV2 prim).

Click the MLPV2 object. If this is the first time since you installed the scripts, it will start up and read the configurations. If you get a menu, select OPTIONS -> ShutDown -> Menu Reset. This button causes it to re-read all .MENUITEMS.* files, including yours.

Watch for warning messages. The most common one is due to an animation being missing or misspelled in the configuration. Fix any mistakes and do another Menu Reset.

Click to get the menu. You should see the button for your new menu; click it. You should see the menu you configured. Click the first pose. You should see the right number and color balls appear. They may be in odd places.

The default pose

The "default pose" is a set of poseball positions and orientations that is used for any new pose, since new poses don't have saved positions yet.

The default pose in the MLPV2 distribution assumes that the MLPV2 prim is essentially an unrotated box, flattened and stretched like a mattress cover. If your prim is rotated (as is likely if you're using a flattened cylinder lying on its side for the mattress, and MLPV2 is in the mattress), you will want to adjust the default pose so none of the balls are underground.

Go to main blue menu and select adj-default -> default.

Tip! If you don't have this choice, see here: [1]

If the default pose looks fine (4 balls arranged in a square, avs sitting facing each other), skip this step.

If the default pose looks wrong, adjust it following the instructions below, as for any pose you would add. You may have to be clever to get at balls that might end up under the floor or buried in your object.

When saving the default pose as described below, be sure to save it to the .POSITIONS notecard, rather than to your .POSITIONS.mystuff notecard.

Adjusting poses

Use the menu to select whichever pose you want to adjust. If it's a new pose, it will get the default pose. Have avatars sit on the poseballs. Use the menu OPTIONS -> Adjust to make the poseballs visible and easy to select for editing. (They get long and translucent, so we call them "beams".)

Select the beams and orient them as desired. When done, use the OPTIONS -> SavePos button.

You may continue with the next pose, or re-adjust this one. When someone stands, their poseball will go back to the normal shape. Just click the AdjustPos button to make it a beam again.

The AdjustPos button's only affect is to change the size and appearance of the poseballs. Feel free to adjust positions by selecting the clear tiny sat-upon poseballs and moving them, if you prefer.

Saving pose positions

NOTE WELL: The SavePos button saves the position in MLPV2 memory. A reset will cause it to forget, as will taking it into inventory and rezzing it again, even if it's no-copy. End users will probably want to save the changes, and sellers will need to.

Saving pose positions, new object

Follow these instructions if this is a new object and you plan to sell it and possibly a line of related objects with MLPV2 poses. There is a simpler way for end users, below.

Create a .POSITIONS.mystuff notecard, where mystuff matches your .MENUITEMS.mystuff file name. (This isn't absolutely required, but makes life simple and I will assume that convention is followed in this tutorial.)

Use OPTIONS -> MemDump to dump all the positions. Using the chat history window, copy the text between the "-----" lines, which looks something like this:

MLPV2 (empty): {pose1} <... numbers ...>

It may include a timestamp.

Paste them into your notecard. It is not necessary to delete the stuff before {pose1}, but you can if you like things tidy.

Delete the {stand} line. Delete the {default} line. (Note: if you changed the default pose, save this line in .POSITIONS notecard.)

Save, and OPTIONS -> ShutDown -> PosReset. This causes the .POSITIONS.* files to be re-read, including yours.

That's about it; now you're ready to test your poses. Have fun!

Saving a single position that you've updated

When you use OPTIONS -> SavePos for, say, pose1, you'll see a line in chat looking like this:

MLPV2 (empty): {pose1} <... numbers ...>

There may be a timestamp. You can copy this line and replace it in the corresponding .POSITION.* file (e.g., the one already containing this pose's position).

Saving pose positions, simplified version for end users

If you're adjusting an object you bought that's already set up, and you've adjusted a lot of poses, this is the easiest way to save all your changes. Note, however, that if your product has pose pack modules and you might want to remove one to make room for other add-on poses, this might not be the best way.

Use OPTIONS -> MemDump to dump all the positions. Using the chat history window, copy the text between the "-----" lines, which looks something like this:

MLPV2 (empty): {pose1} <... numbers ...>

It may include a timestamp.

Paste them into the .POSITIONS notecard, replacing its previous contents. It is not necessary to delete the stuff before {pose1}, but you can if you like things tidy.

Delete all other .POSITIONS.* files in the MLPV2 prim's inventory.

If you later decide to delete a pose pack (a .MENUITEMS.* file) with poses you won't use, you can still do that. The positions for those poses will still be in the .POSITIONS notecard, and you can feel free to delete them manually.

Deleting adj-default menu button

Once you're happy with the default pose positions, simply delete .MENUITEMS.zz-default from the MLPV2 prim's inventory. You can always put it back by dragging that file from the MLPV2 distribution.

Lear Cale 10:31, 14 May 2008 (PDT)