Advertisement
Guest User

Untitled

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