MM Multi Pose V2.0

Your professional Pose System



User Manual and Developers Manual












Canis Canning, SecondLife

Copyright 2013 – All Rights reserved

1Introduction

MMMultiPose is meant for Furniture with multiple seats and a limited number of animations. All functionality is concentrated in one script. In addition there is a very small animate script for each seat. A sofa with 5 seats for example uses only 98KB of Sim script storage, so it will not causelag, even if you use numerous of these scripts on one sim. The script supports up to about 120 animations summed up over all seats.

Each seat has its own number of animations. On each seat it can be freely swicthed between single animations, couple animations and multi seat animations. People on the same set of couple animations are synchronized.

Example: Imagine 2 sitters sit on seats 1 and 2. The sitter of seat 1 switches to a couple animation where seat 2 is involved. So the sitter on seat 2 also automatically switches into this couple animation.

1.1Features

The script supports all useful features you would expect:

No poseballs, no silly questions when sitting down

Supports one prim sitting (beware: this does not work with any system on some sims, e.g. with sim surround landscapes)

Supports defined seats, e.g. cushions of a sofa, so the sitter can directly choose where he wants to sit! This is not supported by any other script of this kind as far as I know! No silly solutions like dictating the sequence you sit down or asking you where you want to sit, just point and sit. Seats are defined by their names, no changes are necessary when relinking the object.

Each sitter can adjust his sit position using menu functions. Changed positions can be reset by the owner hitting the Reset button. Changed positions can be listed in the format needed by the notecard by hitting the List button. All positions are relative to the main prim. Any changes to other prims will not affect the positions.

SWAP button to change seats in a couple/multi animation

SYNC button to resynchronize sitters in a couple/multi animation

One script does all the work. A very small script per seat does the animations. e.g. a 5 seat sofa will only occupy 98KB of script storage.

Only one configuration notecard defines all poses for all seats in an easyly understandable notecard syntax.

Poses can be separated into one level of freely definable submenus

Give button to give a folder of items to wear

1.2Definitions

seat

A place where exactly 1 avatar can sit

animation

One SecondLife animation that can be performed by one avatar

pose

Several animations done on seats by several avatars at the same time

2User Manual

Point to the part where you want to sit, right click and select „Sit“ from the menu.

To select a pose left click on the furniture and you will get a menu with a list of poses available on your seat.

There are several special buttons, if applicable.

>>

Next page of menu (will switch to first page at the end)

<<

Previous page of menu (will switch to the last page at the start)

something...

submenu

Back

Go back to main menu from a submenu

Swap

Change seats with people in same couple/multi pose

Give Items

Give a folder with items to wear with some poses

Adjust

Open the menu to adjust your position



The adjust menu is easy to use. All changes are immediately saved..

X, Y, Z

There are three direction. X, Y are horizontal axes forward/backward and left/right of your current position. Z is the up down axis. You can either change your position along an axis or rotate around the axis.

Position, Rotation

You select to change your position by hitting the Position button. Instead you can rotate arunfd the axis by hitting the Protations button.

++, +, -, –

You actually move usinbg these buttons. The buttons + and – move by a small amount. The buttons ++ and – move by a larger amount.

List

This button is only available for the owner. It lists all poses on all seats with their positions and rotations.

Reset

This resets ALL positions and rotations to the values define in the notecard „~SitConfig“.



3Creators manual

First copy everything necessary into the inventory of one of the prims. This is not necessarily the main prim, but it is a good idea to place it there. You need:

Now edit the notecard.

It consits of lines with definitions. The definitions end with a line containing „end“. Everything after the end line is ignored, you can use it for descriptions. You may use empty lines, but keep them to a minimum: each line of a notecard needs 1 second to be read.

The definitions consist of fields separated by pipe characters „|“. The first fields always contains the definition type. At the moment there are 4 definition types:

S – seat definition

P – pose definition

M – menu definition

G – give definition

3.1Seat Definition

The seat definitions define the seats numbered from zero to the number of seats-1. If you have three seats, then you have seat numbers 0, 1, 2, 3. For each seat you define name of the prim that is used. The speciual name „#“ defines the root prim, so you may rename your object to whatever you want without changing the seat definitions.

Example:

S|#

S|cushion

S|pillow

These 3 lines define the root prim to be seat 0, „cushion“ is seat 1 and „pillow“ is seat 2.

You can define no seats, then all avatars are seated on one prim.



3.2Pose Definition

The pose definitions define the poses. A pose name is a freely definable name. The same name can be used several times for different seats.

A pose definition consists of 6 fields:

pose definition type

always is „P“

pose name

The name of the pose may contain blanks an special characters but no pipe character

list of seats

The comma separated list of seat numbers. The seat numbers are given in the sequence of the seat definitions (see above). The first defined seat is number 0.

list of animations

a comma separated list of animations. All animation have to be contained in the contents of the object.

list of positions

a comma separated list of positions. A position is a vector of 3 numbers enclosed in „<“ and „>“, The positions in X-, Y- and Z-direction are relative to the root prim.

list of rotations

a comma separated list of rotations. A rotation here is a vector of 3 numbers that are the rotations around the X, Y, and Z achsis given in degree. The rotation is given relative to the root prim.



Example:

S|Place 1

S|Place 2

P|Sit 1|0|anim_sit|<0.5,0.1,0.6>|<0,0,90>

P|Sit 2|0|anim_lay|<0.2,1.4,0.8>|<10,20,270>

P|Sit 1|1|anim_sit|<1.5,0.1,0.6>|<0,0,100>

P|Cuddle|0,1|cuddle_f,cuddle_m|<0.5,0.1,0.6>,<1.2,0.2,0.6>|<0,0,90>,<0,0,100>

In this example are 2 seats: „Place 1“ has seat number 0 and „Place 2“ has seat number 1.

For seat number 0 there are three poses: Sit 1, Sit 2 and Cuddle. For seat number 1 there are 2 poses: Sit 1 (the second definition of the same name) and also Cuddle. The Cuddle pose is shared with seat 0.

If the sitter on seat number 0 or the sitter on seat number 1 chooses „Cuddle“ from the menu, then both seats will switch to the Cuddle pose.

Note that in the cuddle pose seats, animations, positions and rotations are defined for each seat, always separated by comma.

The two „Sit 1“ definitions are not connected. In this example they only use the same animation „anim_sit“.

Sit 1“ is the default sit pose for seat number 0 and also for seat number 1, because it is the first single sitting pose of both seats.

3.3Menu Definition

The menu definitions are interspersed with the pose definitions. Each menu contains the poses that are defined until the next menu definition. All that is defined is just the name of the menu.

Example:

M|Single

P|Sit 1|0|anim_sit|<0.5,0.1,0.6>|<0,0,90>

P|Sit 2|0|anim_lay|<0.2,1.4,0.8>|<10,20,270>

P|Sit 1|1|anim_sit|<1.5,0.1,0.6>|<0,0,100>

M|Cuddle

P|Cuddle|0,1|cuddle_f,cuddle_m|<0.5,0.1,0.6>,<1.2,0.2,0.6>|<0,0,90>,<0,0,100>

This will lead to a main menu:

And for a sitter on seat 0 the submenu Single will be:



3.4Give Definition

Give definitions define all objects that will be given together in one folder to the avatar requestung them.

Example:

G|book

G|knife

The avatar hitting the button „Give Items“ will get the two objects named „book“ and „knife“ in a folder named like the furniture.