Advertisement
Guest User

Untitled

a guest
Sep 15th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. integer action;
  2. integer brush;
  3. list brushes = ["2","4","8"];
  4. default
  5. {
  6.     state_entry()
  7.     {
  8.         llListen( 67, "", NULL_KEY, "" );
  9.         llSetScale(<2,2,.5>);
  10.     }
  11.     timer()
  12.     {
  13.         integer perm = llGetPermissions();
  14.         if(perm & PERMISSION_TAKE_CONTROLS)
  15.         {
  16.         llReleaseControls( );
  17.              llSay(0,"Contol Timeout and Released!");
  18.             }
  19.             llSetTimerEvent(0);
  20.     }
  21.     run_time_permissions(integer perm)
  22.     {
  23.         if(PERMISSION_TAKE_CONTROLS & perm)
  24.         {
  25.             llTakeControls(
  26.                             CONTROL_FWD |
  27.                             CONTROL_BACK |
  28.                             CONTROL_ROT_LEFT |
  29.                             CONTROL_ROT_RIGHT |
  30.                             CONTROL_UP |
  31.                             CONTROL_DOWN ,
  32.                             TRUE, FALSE);
  33.  llSay(0,"You now have Control of the Land Tool!");
  34.  llDialog(llGetOwner(),"Select Land Action or Brush Size:\n"+"Position: "+(string)llGetPos()+"\nBrush Size: "+llList2String(brushes,brush),["RAISE","LEVEL","LOWER","SMOOTH","REVERT","NOISE","SMALL 2","MEDIUM 4","LARGE 8","MOVE","EXIT","RELEASE"],67);  
  35.         }
  36.         else
  37.        
  38.         {
  39.             llSay(0,"Control Permission NOT Given!");
  40.             }
  41.     }
  42.     listen(integer channel, string name, key uuid, string msg)
  43.     {
  44.         llSetTimerEvent(60);
  45.         if(msg=="MOVE")
  46.         {
  47.             llRequestPermissions(llGetOwner(), PERMISSION_TAKE_CONTROLS);
  48.             llSay(0,"Please Allow Permission Control of the Land Tool!");
  49.         }
  50.         if(msg=="RELEASE")
  51.         {
  52.              llReleaseControls( );
  53.              llSay(0,"Contol Released!");
  54.         }
  55.         if(msg=="LEVEL")
  56.         {
  57.             action=0;
  58.             llModifyLand(  action, brush );
  59.         }
  60.         if(msg=="RAISE")
  61.         {
  62.             action=1;
  63.             llModifyLand(  action, brush );
  64.         }
  65.         if(msg=="LOWER")
  66.         {
  67.             action=2;
  68.             llModifyLand(  action, brush );
  69.         }
  70.         if(msg=="SMOOTH")
  71.         {
  72.             action=3;
  73.             llModifyLand(  action, brush );
  74.         }
  75.         if(msg=="NOISE")
  76.         {
  77.             action=4;
  78.             llModifyLand(  action, brush );
  79.         }
  80.         if(msg=="REVERT")
  81.         {
  82.             action=5;
  83.             llModifyLand(  action, brush );
  84.         }
  85.         if(msg=="SMALL 2")
  86.         {
  87.             llSetScale(<2,2,.5>);
  88.             brush=0;
  89.         }
  90.         if(msg=="MEDIUM 4")
  91.         {
  92.             llSetScale(<4,4,.5>);
  93.             brush=1;
  94.         }
  95.         if(msg=="LARGE 8")
  96.         {
  97.             llSetScale(<8,8,.5>);
  98.             brush=2;
  99.         }
  100.         if(msg!="EXIT"&&msg!="MOVE")
  101.         {
  102.            llDialog(llGetOwner(),"Select Land Action or Brush Size:\n"+"Position: "+(string)llGetPos()+"\nBrush Size: "+llList2String(brushes,brush),["RAISE","LEVEL","LOWER","SMOOTH","REVERT","NOISE","SMALL 2","MEDIUM 4","LARGE 8","MOVE","EXIT","RELEASE"],67);  
  103.         }
  104.        
  105.     }
  106.     control(key id, integer down, integer new)
  107.     {
  108.         llSetTimerEvent(60);
  109.         integer pressed = down & new;
  110.         integer held = down & ~new;
  111.         integer released = ~down & new;
  112.  
  113.        
  114.         if (held & CONTROL_FWD)//+x
  115.         {
  116.             llSetPos(llGetPos()+<1,0,0>);
  117.         }
  118.         if (held & CONTROL_ROT_LEFT)
  119.         {
  120.             llSetPos(llGetPos()+<0,1,0>);
  121.             }
  122.             if (held & CONTROL_BACK)
  123.         {
  124.             llSetPos(llGetPos()+<-1,0,0>);
  125.             }
  126.             if (held &  CONTROL_ROT_RIGHT)//-y
  127.         {
  128.             llSetPos(llGetPos()+<0,-1,0>);
  129.             }
  130.             if (held & CONTROL_UP)
  131.         {
  132.             llSetPos(llGetPos()+<0,0,1>);
  133.             }
  134.             if (held &  CONTROL_DOWN)
  135.         {
  136.             llSetPos(llGetPos()+<0,0,-1>);
  137.             }
  138.            
  139.            
  140.     }
  141.  
  142.     touch_start(integer total_number)
  143.     {
  144.        
  145.         if(llDetectedKey(0)==llGetOwner())
  146.         {
  147.       llDialog(llGetOwner(),"Select Land Action or Brush Size:\n"+"Position: "+(string)llGetPos()+"\nBrush Size: "+llList2String(brushes,brush),["RAISE","LEVEL","LOWER","SMOOTH","REVERT","NOISE","SMALL 2","MEDIUM 4","LARGE 8","MOVE","EXIT","RELEASE"],67);  
  148.         }
  149.        
  150.  
  151.     }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement