Advertisement
Guest User

Untitled

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