Advertisement
Guest User

Untitled

a guest
Sep 16th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. integer gMaxMilk = 100;
  2. float gTimerInterval = 72.0;
  3. integer gMilkChannel = 100;
  4. integer gCriticalMilk;
  5. integer gMilkLevel;
  6. string gName;
  7. integer gFinalCounter;
  8. integer getUniqueChannel(key id){
  9.     return (integer)("0x"+llGetSubString(llMD5String((string)id,1),0,6));
  10. }
  11. string getFirstName(string fullName)
  12. {
  13.     return llList2String(llParseString2List(fullName,[" "],[]),0);
  14. }
  15. say(string msg)
  16. {
  17.     string objName = llGetObjectName();
  18.     llSetObjectName("");
  19.     llSay(0, msg);
  20.     llSetObjectName(objName);
  21. }
  22. default
  23. {
  24.     state_entry()
  25.     {
  26.         llSetTimerEvent(gTimerInterval);
  27.         gMilkChannel = getUniqueChannel(llGetOwner()) - 30;
  28.         gName = getFirstName(llGetDisplayName(llGetOwner()));
  29.         gCriticalMilk = (integer)((float)gMaxMilk * 0.6);
  30.         llListen(gMilkChannel, "", NULL_KEY, "");
  31.         say("/me " + gName + "s udders are empty");
  32.     }
  33.    
  34.     listen(integer channel, string name, key id, string msg)
  35.     {
  36.         if(msg == "Milk")
  37.         {
  38.             if((gMilkLevel / gMaxMilk) >= 0.5)
  39.             {
  40.                 say("/me " + gName + " is being milked");
  41.                 gMilkLevel = 0;
  42.                 gFinalCounter = 0;
  43.             }
  44.             else
  45.             {
  46.                 say("/me " + gName + " is not ready for milking yet");
  47.             }
  48.         }
  49.     }
  50.    
  51.     attach(key id)
  52.     {
  53.         if(id != NULL_KEY) llResetScript();
  54.     }
  55.    
  56.     on_rez(integer param)
  57.     {
  58.         llResetScript();
  59.     }
  60.  
  61.     touch_start(integer num)
  62.     {
  63.         integer i;
  64.        
  65.         for(i = 0; i < num; i++)
  66.         {
  67.             string text = gName+"s udders\n Milk level: "+(string)gMilkLevel+"/"+(string)gMaxMilk;
  68.             llDialog(llDetectedKey(i), text, ["Milk"], gMilkChannel);
  69.         }
  70.     }
  71.    
  72.     timer()
  73.     {
  74.         if(gMilkLevel < gMaxMilk)
  75.         {
  76.             gMilkLevel++;
  77.         }
  78.        
  79.         if(gMilkLevel >= gCriticalMilk)
  80.         {
  81.  
  82.             if(gFinalCounter == 0)
  83.             {
  84.                 say("/me " + gName + " moorews soflty, feeling her swollen udders and strained teats, ready for milking");
  85.             }
  86.  
  87.             gFinalCounter++;
  88.             if(gFinalCounter == 5) gFinalCounter = 0;
  89.         }
  90.        
  91.         //string text = gName+"s udders\n Milk level: "+(string)gMilkLevel+"/"+(string)gMaxMilk;
  92.         //llSetText(text,<1.0, 1.0, 1.0>, 1.0);
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement