Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- integer gON;
- float speed = 1;
- dialog(){
- llDialog(llGetOwner(),"Select an option",["Speed -"," " ,"Speed +",t," ","Access"],internalChannel);
- }
- onoff(){
- if (gON) {llSetKeyframedMotion([llEuler2Rot(<0.0,0.0,360>), speed],[KFM_DATA,KFM_ROTATION, KFM_MODE,KFM_LOOP]);}
- else {llSetKeyframedMotion([],[]);}
- }
- string access = "Owner";
- integer internalChannel;
- string t;
- default
- {
- state_entry(){
- llSetKeyframedMotion([],[]);
- internalChannel = (integer)llFrand(2500000)*-1;
- llListen(internalChannel,"","","");
- }
- touch_start(integer total_number)
- {
- //check status and update string 't'
- if(gON){
- t= "Turn OFF";
- } else {
- t = "Turn ON";
- }
- //check if user is the owner
- if(llDetectedKey(0) == llGetOwner()){
- //Is the Owner - show dialog
- llDialog(llGetOwner(),"Select an option",["Speed -"," " ,"Speed +",t," ","Access"],internalChannel);
- } else {
- //check if has same group
- if(access == "Group"){
- key id = llDetectedKey(0);
- integer sameGroup = llSameGroup(id);
- //same as llDetectedGroup(i) (with llDetectedGroup, detected does not need to be in the sim)
- if (sameGroup)
- {
- //is in the same group and allowed to use - show dialog
- llDialog(id,"Select an option",[t],internalChannel);
- }
- else
- {
- //not using the right group - deny use
- llRegionSayTo(id, 0, "Wrong active group!");
- }
- } else {
- //this user has no right to use it - deny use again
- llInstantMessage(llDetectedKey(0),"You cannot use this.");
- }
- }
- }
- listen(integer channel, string name, key id, string message){
- //self explanatory
- if(message == "Turn ON" || message == "Turn OFF" ){
- gON = !gON;
- onoff();
- } else if(message == "Access"){
- llDialog(llGetOwner(),"Who will have access?",["Owner","Group"],internalChannel);
- } else if(message == "Owner"){
- //only owner can use
- access = "Owner";
- } else if(message == "Group"){
- //group can use
- access = "Group";
- } else if(message == "Speed +"){
- //increase speed
- if(speed- 0.5 >= 0.1){
- speed-=0.5;
- }
- onoff();
- dialog();
- } else if(message == "Speed -"){
- //decrease speed
- speed+=0.5;
- onoff();
- dialog();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment