Henmations Support
Knowledgebase
Henmations > Customer Support > Knowledgebase

How can i add own Animations into Henmations Furniture

Solution 1. Open your furniture in Edit Mode and click on the Content Tab
2. Open the menuitems Notecard
3. Follow the advice below


MENUITEMS
Be carefull when editing .MENUITEMS, most mistakes are made here. If you're new to this, only change one thing at a time. Restart each time to check the effects of a change you made. Please study the example .MENUITEMS notecard. Take your time to get familiar with the options.
Common mistakes:
• Check exact spelling, animations are not recognised is a spelling mistake is made.
• If you add/change a menu, also add/change a link with the same menuname in the MAIN MENU (TOMENU menuname).
• Check if you inserted the "|" separators at the right places: COMMAND buttonname | option1 | option2 | etc. (This is wrong: COMMAND | buttonname | option1 | option2 | etc. ).
You don't have to enter a buttonname for all items, in this case the button will show the commandname, but check the separator position: COMMAND | option1 | option2 | etc. (This is wrong: COMMAND option1 | option2 | etc. ).
• You can add max 12 buttons per menu, if you add more they won't appear.
• Make sure you edit the .MENUITEMS notecard which is located inside the XPOSE object (not one in your Inventory, or not the one in the Help notecard).
• After editing (re)start XPOSE to see the changes.

INDEX:
1. DEFINING A (SUB)MENU
2. DEFINING MENUBUTTONS IN GENERAL
3. DEFINING A LINK TO A (SUB)MENU
4. DEFINING A POSE (ANIMATIONS)
5. ADDING FACE EXPRESSIONS TO A POSE
6. DEFINING SOUNDS
7. ADDING SOUND TO A POSE
8. DEFINING A PLAY SEQUENCE
9. DEFINING MULTIPOSES WITH A PLAY SEQUENCE
10. DEFINING SWAP BUTTONS
11. DEFINING MULTIPOSES WITH SWAP/UNSWAP
12. DEFINING REZ OBJECTS
13. ADDING A REZ OBJECT TO A POSE
14. DEFINING GIVE ITEMS
15. MAX LINE LENGTH IN MENUITEMS
16. HIDING COMMANDS FROM THE MENU


1. DEFINING A (SUB)MENU
• To add a menu/submenu, use syntax:
MENU menuname | useraccess | ballcolor1 | ballcolor2 | ballcolor 3 | etc.
Example:
MENU 3-some | ALL | PINK | BLUE | PURPLE
- menuname: may be any name you like (but don't make it too long, or the text won't fit on the buttons).
- useraccess: ALL/GROUP/OWNER - determine who can access this menu (don't use this for the main menu, main menu access is defined in .SETTINGS, and can be changed by selecting 'OPTIONS >> More >> Menu Users').
- ballcolors: add as many ballcolors as you need balls for the poses in this submenu. F.i. if the poses in this submenu use 2 balls then enter 2 colors here. New colors can be defined in the .SETTINGS notecard.
• When you select the (sub)menu, the menuname will be shown above the buttons, by default. To show a different text, add this command below MENU:
MENUTEXT text
for "text" enter the text you want to appear, example:
MENUTEXT \ \ \Lovers\select a pose:\
- to start a new line use: \
- to insert a blank line use: \ \ (not: \\ )


2. DEFINING MENUBUTTONS IN GENERAL
• You can add max 12 menubuttons under each menu.
general syntax:
COMMAND buttonname | option1 | option2 | etc.
• The following commands are described below: TOMENU, BACK, POSE, SOUND, PLAY, REZ, SWAP
For a list of all commands, see: "!XPOSE Menuitems Command List"


3. DEFINING A LINK TO A (SUB)MENU
• To add a link to a submenu, use syntax:
TOMENU menuname
this will add the button "menuname" which links you to that menu.
• To link back to previous menu (one level up), you can use command:
BACK buttonname
(if you omit the buttonname, the button will just show: "BACK")


4. DEFINING A POSE (ANIMATIONS)
• To add a pose, use syntax:
POSE buttonname | animation1 | animation2 | etc.
For animation1,animation2,etc. enter the animations you've copied/moved into the XPOSE object. You need to use exactly the same spelling.
f.i. a pose for two poseballs:
POSE Let's hug | hug-femanine | hug-masculine
This will create a menubutton "Let's hug" which will set animations "hug-femanine" to the first poseball and "hug-masculine" to the second poseball.
• If you omit the animations, the defaultpose will be set (you can define the defaultpose in .SETTINGS, usually "stand" for rugs or "sit_ground" for beds)
f.i. to add a "Stand" button:
POSE Stand
This will create a menubutton "Stand" which will set the defaultpose (defined in .SETTINGS) to all poseballs
• If you use *POSE instead of POSE, the pose will be set automatically when the submenu is selected (so only use one *POSE or *PLAY per submenu). Usually *POSE is used to set the defaultpose automatically when the submenu is selected.


5. ADDING FACE EXPRESSIONS TO A POSE
• Often used face expressions are: express_open_mouth, express_smile, express_toothsmile, express_tongue_out
You can add these to each animation in a pose, use syntax:
POSE buttonname | animation1 ; expression1=repeattime | animation2 ; expression2=repeattime | etc.
f.i:
POSE Kiss | kiss_f ; express_open_mouth=0.5 | kiss_m ; express_tongue_out=3
• Expressions are usually short during animations, so you want to repeat them: express_open_mouth=0.5 means it will be repeated every 0.5 seconds to keep the mouth open.


6. DEFINING SOUNDS
• To define sounds, use syntax:
SOUND buttonname | sound1=time | sound2=time | sound3=time | etc. | (LOOP/REPEAT=number) | (STOP)
• Set the times aprroximately to the length of each sound (or longer if you want silence inbetween sounds). SL can remember 2 sounds, with more sounds played after each other, you need to set the time. Always set times when using LOOP/REPEAT otherwise you create unnecessary load/lag.
• You can add LOOP to loop the sound, or repeat to play a number of repeats (REPEAT=1 means the sounds will be repeated once, so played two times in total).
• If you add STOP: the sound will stop automatically when a new pose is set. Otherwise you need to select the 'STOP' button manually to end a loop.
f.i:
SOUND femsound | PAUSE=1 | Shh Female=7 | Sigh Female=5 | LOOP | STOP
This will create a button "femsound" in the menu. If you don't need a menubutton for this sound (because you want to play it when selecting a pose only), place the SOUND command below an "END OF MENU" command, see: 16. HIDING COMMANDS FROM THE MENU


7. ADDING SOUND TO A POSE
• First you need to define the sounds somewhere else in .MENUITEMS (see above).
• If you want to add this sound to a pose, add this to the pose definition: | SOUND=...
f.i:
POSE Girls hug | hug-femanine | hug-femanine | SOUND=femsound
When the pose "Girls hug" is selected, the sound "femsound" will be played (for the definition of "femsound" see the example in point 6. above).


8. DEFINING A PLAY SEQUENCE
• You can automatically play a sequence of poses (including the expressions/sounds defined in that poses).
To add a play sequence, use syntax:
PLAY buttonname | pose1=time | pose2=time | pose3=time | etc. | (LOOP/REPEAT=number) | (STOP)
• You can add LOOP to loop the play sequence, or repeat to play a number of repeats (REPEAT=1 means the sequence will be repeated once, so played two times in total).
• If you add STOP: posing will stop automatically after playing the last pose, the balls are unrezzed. Otherwise the default pose will be set after playing the last pose.
f.i:
PLAY Playtime | Let's hug=14 | Kiss=17 | REPEAT=2
This will play pose "Let's hug" for 14 seconds, then pose "Kiss" for 17 seconds, this will be repeated two times again, thereafter the default pose will be set.
If you've added expressions and/or sounds to the poses (like described in point 5. and 6.), these will be played too.
• If you use *PLAY instead of PLAY, the play sequence will start automatically when the submenu is selected (so only use one *PLAY or *POSE per submenu).
• With 'PREV/NEXT/HOLD' buttons you can skip manually though a play sequence


9. DEFINING MULTIPOSES WITH A PLAY SEQUENCE
• Multiposes are poses with a series of similar animations but f.i. with different speeds or other variations. You need the right animations for this, creators of animations often make several variations on the same poseset (it's not possible to actually change the speed of animations SL, so you need a different animations for each speed).
• You can combine multipose animations in a play as explained above.
• If you don't want the poses to change automatically: simply don't set times:
PLAY buttonname | pose1 | pose2 | pose3 | etc.
• You can select other poses from the sequence with 'PREV/NEXT' buttons, you can change the buttonnames to f.i: Slower/Faster
PREV << Slower
NEXT >> Faster
f.i, if you have defined a series of "Pet" poses:
POSE Pet slower | cat_sit | pet_slow2
POSE Pet slow | cat_sit | pet_slow1
POSE Pet normal | cat_sit | pet_norm
POSE Pet fast | cat_sit | pet_fast1
etc.
Put them under one button like this:
PLAY Pet Cat | Pet slower | Pet slow | *Pet normal | Pet fast | Pet faster | Pet lightspeed
This will create a button: "Pet Cat", use buttons Slower/Faster to change speed
(to hide the individual poses from the menu, place them under "END OF MENU", see 16. HIDING COMMANDS FROM THE MENU)
• Use * before the pose which has to be set first, in the example above: "*Pet Normal" will be set first (instead of "Pet slower").


10. DEFINING SWAP BUTTONS
• To add a swap button to swap poses between poseballs/avatars, use syntax:
SWAP buttonname | swappattern0 | swappattern1 | swappattern2 | etc.
Each time the swap button is pressed the next pattern will be set.
For a simple 2-ball swap, you can omit the swappatterns (it would be: 12 | 21 to swap ball 1 and 2)
• Example for a 4-ball swap with 2 pink + 2 blue balls. Suppose the balls are defined in the menu as: PINK | BLUE | PINK | BLUE, then we could set:
SWAP Swap | 1234 | 1432 | 3412 | 3214
This example cylces to all combinations without avatars changing to a ball of a different color:
1234 -> this is the normal (unswapped) position, don't change this
1432 -> ball 2 and 4 are swapped (the blue balls)
3412 -> ball 1 and 3 are swapped too (the pink balls)
3214 -> ball 2 and 4 are unswapped
the next time the "Swap" button is pressed: 1234 is set again, everything normal.
• For swap patterns with 10 to 15 poseballs, use characters "abcdef" (so the normal pattern for 15-balls would be: 123456789abcdef ).
• You can add custom text to each swap pattern, if "Chat Info" is ON, this text will be chat when the swap button is selected:
SWAP buttonname | swappattern0/text0 | swappattern1/text1 | swappattern2/text2 | etc.
If you add "/" but no text, the buttonname + number of the swap pattern will be chat, f.i:
SWAP Swap | swappattern0/No Swap | swappattern1/ | swappattern2/ | etc.
If you select the "Swap" button 3 times, you'll see chat info: "Swap 1", "Swap 2", "No Swap"


11. DEFINING MULTIPOSES WITH SWAP/UNSWAP
• Usually you define multiposes with a PLAY (see 9. DEFINING MULTIPOSES WITH A PLAY SEQUENCE). You can also define multiposes with SWAP/UNSWAP, this is an advanced option which allows you to load more poses. Usually you can load around 150 poses (150 poses for 2 balls would be 300 animations, for 4 balls that would be 600 animations,for 8 balls that would be 1200 animations etc.). By defining multiposes via swap, you could load about 1000 poses for 2 balls (2000 anims) or 500 poses for 4 balls, etc. (I've not tested the maximum capatity, so let me know when you reach the limits).
• Example menu:
MENU Multispeed | ALL | PINK | BLUE
UNSWAP << Slower
SWAP Faster >> | 12/Normal | 0012/Fast | 000012/Faster | 000012/Fastest | END | 00000012/Slowest | 0000000012/Slower | 000000000012/Slow
BACK
POSE •Pose 1 | anim1F | anim1M | anim1F_fast | anim1M_fast | anim1F_faster | anim1M_faster | anim1F_fastest | anim1M_fastest
| anim1F_slowest | anim1M_slowest | anim1F_slower | anim1M_slower | anim1F_slow | anim1M_slow
POSE •Pose 2 | anim2F | anim2M | anim2F_fast | anim2M_fast | anim2F_faster | anim2M_faster | anim2F_fastest | anim2M_fastest
| anim2F_slowest | anim2M_slowest | anim2F_slower | anim2M_slower | anim2F_slow | anim2M_slow
POSE •Pose 3 | anim3F | anim3M | anim3F_fast | anim3M_fast | anim3F_faster | anim3M_faster | anim3F_fastest | anim3M_fastest
| anim3F_slowest | anim3M_slowest | anim3F_slower | anim3M_slower | anim3F_slow | anim3M_slow
In this example we've defined 2 poseballs (PINK and BLUE), but poses contain 14 animations each (that's 7 sets of animations for 2 balls).
We've defined 7 SWAP patterns, to be able to select between the 7 sets of animations.
Swap pattern "12" means that we're using the first set of animations (and positions)
Swap pattern "0012" means we're using the seconds set (which usually would be for ball 3+4, but we're using only 2 balls in this menu)
Swap pattern "000012" means we're using the third set (which usually would be for ball 5+6, but we're using only 2 balls in this menu)
etc.
Although we're using 2 balls only, we need to configure XPOSE for max 14 poseballs to use all 14 animations in this example (use the XPOSE update box if you need to reconfigure).
"END" in the swap pattern means the swapping stops there, this prevents jumping between Fastest and Slowest.
Each time you press "Faster >>" the next pattern will be set (the next set of animations), untill END is reached. Each time you press "<< Slower" the previous pattern is set. At the first pattern, you'll loop to the last pattern and continue backwards until END is reached.
We've added text to the swap patterns in this example, so you'll see chat messages like "Slow/Fast/Faster" when selecting the SWAP/UNSWAP ("<< Slower/Faster >>") buttons.
• Example for 3 poseballs:
SWAP Faster >> | 123/Normal | 000123/Fast | 000000123/Faster | END | 000000000123/Slower | 000000000000123/Slow
This example uses 5 swap patterns, so we can select between 5 sets of 3 ball poses. The poses have 15 animations each (so configure XPOSE for max 15 poseballs). A multipose for this example could look like this:
POSE •3-somes 1 | anim1A | anim1B | anim1C | anim1A_fast | anim1B_fast | anim1C_fast | anim1A_faster | anim1B_faster | anim1C_faster
| anim1A_slower | anim1B_slower | anim1C_slower | anim1A_slow | anim1B_slow | anim1C_slow
• Adjust and Save Positions for each set (for each swap pattern), XPOSE will combine them automatically. You can also copy positions easily: save the positions of the first (unswapped) pattern after you're finished saving the other sets (this way you need to adjust the positions only once).


12. DEFINING REZ OBJECTS
• To add an object you want to be rezzed when selecting a menubutton, use syntax:
REZ buttonname | object
object needs to be the exact name of the object you've copied into the XPOSE object (note: you can't use "no-copy" objects).
If the button is selected, the object will be rezzed.
• To add an object you want to be rezzed automatically when the submenu is selected:
*REZ (buttonname) | object
Notes:
- You can use one *REZ per submenu, if you need to rezz more objects at once: link them first).
- Probably you don't need a menubutton for the *REZ command, because the object is already rezzed automatically when defining *REZ, to omit the button, place this command below an "END OF MENU" command, see: 14. HIDING COMMANDS FROM THE MENU
• To delete the object automatically, add UNREZ(-options):
REZ buttonname | object | UNREZ(-options)
UNREZ and all variations below remove the object when it's selected again or STOP is selected
UNREZ-M removes the object when selecting a pose or object from another MENU
UNREZ-P also removes the object when selecting any new pose
UNREZ-R also removes the object when selecting any other rez object
UNREZ-P-R removes the object when selecting any new pose or other rez object
f.i:
REZ Rez pillows | satinpillows | UNREZ-M
This will define a menubutton: "Rez pillows" which rezzes the object: "satinpillows".
• Notes:
- You can't use no-copy objects (without copy permission you can rez it only once and you'll loose the object when it's unrezzed!)
- Don't forget to drop ".XPOSE Rez Object" script into each object (otherwise it can't UNREZ or save it's position).


13. ADDING A REZ OBJECT TO A POSE
• First you need to define the rez object somewhere else in .MENUITEMS (see above).
• When you want to rez the object automatically with a pose, add this to the pose definition: | REZ=...
When you want to rez the object automatically with a pose, add it to the pose: | REZ=....
f.i, if you've defined:
REZ Rez pillows | satinpillows | UNREZ-M
You can add it to a pose like this:
POSE Let's hug | hug-femanine | hug-masculine | REZ=Rez pillows
Selecting the menubutton "Let's hug" will also rez the object now.
• Note:
Together with the various UNREZ options this allows you to create many applications (objects/structures changing with poses, add custom scripts to poses, add chain attachments to poses, etc.)


14. DEFINING GIVE ITEMS
• To give an item to the menu user, use syntax:
GIVE buttonname | item
item needs to be the exact name of the item (object/notecard) you've copied into the XPOSE object (note: you can't use "no-copy" items, and if you use "no-transfer" items other users can't receive them).
f.i:
GIVE Help | !XPOSE Help
The user which selects the menubutton "Help" will receive item: "!XPOSE Help" from the object contents.


15. MAX LINE LENGTH IN MENUITEMS
• In SL lines longer than 255 characters will be truncated when the notecard is read.
If you have longer lines, you'll have to split them. Break a line by inserting a 'Return' (press 'Enter') just before a separator: |
So each next line has to start with a separator: |
• Example, the data for this SWAP command is spread over 3 lines:
SWAP Next | 123456789abcdef | 13456789abcdef2 | 1456789abcdef23 | 156789abcdef234 | 16789abcdef2345
| 1789abcdef23456 | 189abcdef234567 | 19abcdef2345678 | 1abcdef23456789 | 1bcdef23456789a
| 1cdef23456789ab | 1def23456789abc | 1ef23456789abcd | 1f23456789abcde
(actually this example would also fit on 2 lines, but better be safe if you don't want to count.)


16. HIDING COMMANDS FROM THE MENU
• In some cases you need to define a command, but you don't want a button to appear in the menu for that command.
In this case you can use: END OF MENU
Place END OF MENU under the last command/menubutton you want to be visible. Every command you enter below END OF MENU won't show up as a button.
• Examples:
- You want to add sound to a pose, but you don't need a button for that sound
- You don't need a button for a *REZ command, because the object is already rezzed automatically with this command
- When using a series of poses in a PLAY sequence: you don't need a button for each individual pose
Under the last visible command/menubutton enter:
END OF MENU
SOUND femsound | PAUSE=1 | Shh Female=7 | Sigh Female=5 | LOOP | STOP
*REZ | satinpillows2 | *UNREZ
 
Was this article helpful? yes / no
Article details
Article ID: 2
Category: V4 Engine/ X-Pose
Date added: 2009-03-07 17:07:54
Views: 560
Rating (Votes): Article rated 3.3/5.0 (16)

 
<< Go back