Advertisement
worstbull

warning if owner is not nearby

Sep 30th, 2014
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. float LastTimeOwnerDetected;
  2. key owner;
  3.  
  4. float fDISTANCE = 50.0; //meter
  5.  
  6. integer isAvatarNearby(key avatar, float distance)
  7. {
  8.     integer iCount;
  9.     if (llGetAgentSize(avatar) != ZERO_VECTOR)
  10.     { //avatar found
  11.         vector vPos = llList2Vector(llGetObjectDetails(avatar, [OBJECT_POS]), 0);
  12.         if (llVecDist(vPos, llGetPos()) <= distance)
  13.         { //avatar is nearby
  14.             return TRUE;
  15.         }
  16.         else
  17.         {
  18.             return FALSE;
  19.         }
  20.     }
  21.     else
  22.     {
  23.         return FALSE;
  24.     }
  25. }
  26. TellOwner( string Message )
  27. {
  28.    // llWhisper( 0, "Trace: " + Message );    
  29.    
  30.     llInstantMessage(owner, (string)llGetPos() + " " + Message );
  31. }
  32.  
  33. Init()
  34. {
  35.      owner = llGetOwner();
  36.      LastTimeOwnerDetected = llGetTimeOfDay();
  37.      llSetTimerEvent(30.0);
  38. }
  39.    
  40. SelfDestructNow()
  41. {
  42.             llSay(0, "Too far from owner.  Self-destructing...");
  43.             llInstantMessage(owner,"Too far from owner.  Self-destructing...");
  44.             llDie();
  45. }
  46.  
  47. default
  48. {
  49.     state_entry()
  50.     {
  51.         Init();
  52.     }
  53.     on_rez(integer start_param)
  54.     {
  55.         Init();
  56.     }
  57.     timer()
  58.     {
  59.         if (isAvatarNearby(owner, fDISTANCE))
  60.         { //avatar detected
  61.             LastTimeOwnerDetected = llGetTimeOfDay();
  62.         }
  63.         else
  64.         {
  65.             if( llGetTimeOfDay() - LastTimeOwnerDetected >= 60 )
  66.             {
  67.                 //TellOwner( (string)llGetTimeOfDay() + " " + (string)LastTimeOwnerDetected );
  68.                 SelfDestructNow();
  69.             }
  70.             else if( llGetTimeOfDay() - LastTimeOwnerDetected >= 30 )
  71.             {
  72.                 TellOwner( "Self destructing in 30 seconds..." );
  73.             }
  74.         }
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement