Difference between revisions of "MLPV2 Menu Maker Helper"

From Second Life Wiki
Jump to: navigation, search
(Created page with "<lsl> //won't make your MLP menu for you completely but will save you some typing time //drop in a box of animations that are paired by name logically so that they will appear in…")
 
Line 1: Line 1:
 
<lsl>
 
<lsl>
//won't make your MLP menu for you completely but will save you some typing time
+
//won't make your MLP menu for you completely but will save you some typing time by giving you an outline of your menu based on a set of animations
//drop in a box of animations that are paired by name logically so that they will appear in alpha order in an inventory list
+
//drop in a box of animations that are paired by name logically so that they will appear in alpha order in an inventory list.
 
//it will make an MLP menu giving POSE name to first animation in the set of two
 
//it will make an MLP menu giving POSE name to first animation in the set of two
//you may need to re-order M and F anims in the pose line
+
//you may need to re-order M and F anims in the pose line depending on your style of creating MLP menu lines
 
//Chaz Longstaff November 2013
 
//Chaz Longstaff November 2013
 
//
 
//
 
//Sample of what this can produce for you
 
//Sample of what this can produce for you
//[05:26]  POSE Cuddle 1 M|Cuddle 1 M|Kiss His Neck F
+
//[05:58]  POSE Cuddle 1 B|Cuddle 1 B|Cuddle 1 T
//[05:26]  POSE Relax Hug1 M|Relax Hug1 M|Sex Neck Kiss 01 F
+
//[05:58]  POSE Kiss His Neck B|Kiss His Neck B|Kiss His Neck T
//[05:26]  POSE Sex1 M|Sex1 M|Sex1 F
+
//[05:58]  POSE Relax Hug1 B|Relax Hug1 B|Relax Hug1 T
//[05:26]  POSE Sex1Brut M|Sex1Brut M|Sex1Brut F
+
//[05:58]  POSE Sex Neck Kiss 01 B|Sex Neck Kiss 01 B|Sex Neck Kiss 01 T
//[05:26]  POSE Sex1BrutFast M|Sex1BrutFast M|Sex1BrutFast F
+
//[05:58]  POSE Sex1 B|Sex1 B|Sex1 T
//[05:26]  POSE Sex1Fast M|Sex1Fast M|SexLickTit F
+
//[05:58]  POSE Sex1Brut B|Sex1Brut B|Sex1Brut T
 
+
//[05:58]  POSE Sex1BrutFast F|Sex1BrutFast F|Sex1BrutFast T
 
+
//[05:58]  POSE Sex1Fast B|Sex1Fast B|Sex1Fast T
 +
//[05:58]  POSE SexLickTit B|SexLickTit B|SexLickTit T
  
  
Line 27: Line 28:
 
list printObjectList(integer type) {
 
list printObjectList(integer type) {
 
     list      result = [];
 
     list      result = [];
     integer    n = llGetInventoryNumber(type);
+
     integer    n = llGetInventoryNumber(INVENTORY_ANIMATION);
 
     integer    i = 0;
 
     integer    i = 0;
     integer count = 0;
+
     integer count = 1;
 
     string myitem;
 
     string myitem;
 
     string myitem1;
 
     string myitem1;
Line 37: Line 38:
 
     while(i < n) {
 
     while(i < n) {
 
              
 
              
         string itemName = llGetInventoryName(INVENTORY_ALL, i);
+
         string itemName = llGetInventoryName(INVENTORY_ANIMATION, i);
 
         type = llGetInventoryType(itemName);
 
         type = llGetInventoryType(itemName);
 
              
 
              
         if (type != INVENTORY_ANIMATION) {
+
         if (type == INVENTORY_ANIMATION) {
        jump gonext;
+
        }
+
 
          
 
          
 
         string myitem = llGetInventoryName(type, i);
 
         string myitem = llGetInventoryName(type, i);
 
         if (count == 1) {
 
         if (count == 1) {
 
             myitem1 = myitem;
 
             myitem1 = myitem;
 +
          // llSay(0, (string)count + " " + myitem1);
 
         }
 
         }
 
         else myitem2 = myitem;
 
         else myitem2 = myitem;
 
          
 
          
 
         if (count == 2) {
 
         if (count == 2) {
 +
        // llSay(0, (string)count + " " + myitem2);
 
           mySay("","POSE " + myitem1 + "|" + myitem1  + "|" + myitem2 );  
 
           mySay("","POSE " + myitem1 + "|" + myitem1  + "|" + myitem2 );  
           count = 0;
+
           count = 1;
 
           myitem = "";
 
           myitem = "";
 
           myitem1 = "";
 
           myitem1 = "";
Line 62: Line 63:
 
          
 
          
 
                
 
                
        @gonext;
+
}
 
          
 
          
  
Line 107: Line 108:
 
      
 
      
 
}
 
}
 +
  
 
</lsl>
 
</lsl>

Revision as of 06:02, 16 November 2013

<lsl> //won't make your MLP menu for you completely but will save you some typing time by giving you an outline of your menu based on a set of animations //drop in a box of animations that are paired by name logically so that they will appear in alpha order in an inventory list. //it will make an MLP menu giving POSE name to first animation in the set of two //you may need to re-order M and F anims in the pose line depending on your style of creating MLP menu lines //Chaz Longstaff November 2013 // //Sample of what this can produce for you //[05:58] POSE Cuddle 1 B|Cuddle 1 B|Cuddle 1 T //[05:58] POSE Kiss His Neck B|Kiss His Neck B|Kiss His Neck T //[05:58] POSE Relax Hug1 B|Relax Hug1 B|Relax Hug1 T //[05:58] POSE Sex Neck Kiss 01 B|Sex Neck Kiss 01 B|Sex Neck Kiss 01 T //[05:58] POSE Sex1 B|Sex1 B|Sex1 T //[05:58] POSE Sex1Brut B|Sex1Brut B|Sex1Brut T //[05:58] POSE Sex1BrutFast F|Sex1BrutFast F|Sex1BrutFast T //[05:58] POSE Sex1Fast B|Sex1Fast B|Sex1Fast T //[05:58] POSE SexLickTit B|SexLickTit B|SexLickTit T


mySay(string objectName, string msg) {

   string name = llGetObjectName();
   llSetObjectName(objectName);
   llSay(0, "/me " + msg);
   llSetObjectName(name);

}


list printObjectList(integer type) {

   list       result = [];
   integer    n = llGetInventoryNumber(INVENTORY_ANIMATION);
   integer    i = 0;
   integer count = 1;
   string myitem;
   string myitem1;
   string myitem2;
   integer type;   
   mySay("", "__________________________________________");
   while(i < n) {
           
       string itemName = llGetInventoryName(INVENTORY_ANIMATION, i);
       type = llGetInventoryType(itemName);
           
       if (type == INVENTORY_ANIMATION) {
       
       string myitem = llGetInventoryName(type, i);
       if (count == 1) {
           myitem1 = myitem;
          // llSay(0, (string)count + " " + myitem1);
       }
       else myitem2 = myitem;
       
       if (count == 2) {
       // llSay(0, (string)count + " " + myitem2);
          mySay("","POSE " + myitem1 + "|" + myitem1  + "|" + myitem2 ); 
          count = 1;
          myitem = "";
          myitem1 = "";
          myitem2 = "";
       }
       else {
          count = count + 1;  
       }
       
              

}


       ++i;
   }
   mySay("", "__________________________________________");
   return result;

}


//__________________________


default {

   on_rez(integer start_param) {
       llResetScript();
   }
   
   
   state_entry() {
   }
   
   
   changed(integer change) {
       if (change & CHANGED_INVENTORY) {
           llResetScript();
       }
   }
   
   touch_start(integer total_number) {
       string tmp = "all";  
       integer type;      
           type = INVENTORY_ALL;

       printObjectList(type);
   }
   


}


</lsl>