llDetectedOwner et UnSit - help, svp !

Répondre
Partager Rechercher
hello ,

pour des raisons particulieres sur un rezzer ( quasi au point ) , je voudrais empecher le owner du rezzer seulement d' utiliser l' object ( un vehicule ) et donc dès que le owner s' assoit , il est " UnSit " , donc interdit de s' asseoir , plus précisement il est remis debout

j' ai ce Script que j' ai adapté , mais le souci c' est que tout le monde owner et n' importe ( comme NULLKEY ) ne peut plus s' asseoir et est remis debout ( UnSit )

comment transformer ce script ci dessous pour que uniquement le owner ait l' impossibilité de s' asseoir ???



Code PHP:


string      OwnerMessage 
"The OWNER Can NOT Drive the Bikes from Rezzer due to abuses of use"

// UnSit on Sit, Using a sit target
default
{
    
state_entry()
    {
     
llSetText("", <0,0,1>, 0);
    }

    
    
changed(integer change// Triggered when various changes are sensed.
    
{
        if(
change CHANGED_LINK// When an agent sits on an object they become a new link.
        
{
            
key user llDetectedOwner(0); // Store the UUID of any agent sitting on the sit target.
            
if(user// An avatar is on the sit target.
                
llUnSit(user); // Un-Sit the avatar.
 
llOwnerSay(OwnerMessage);
llSetScriptState("MAIN SCRIPT V2"FALSE);
llSetText("The OWNER Can NOT Drive the Bikes from Rezzer due to abuses of use", <1.0,0.0,0.0>, 1);
llSetStatus(STATUS_PHYSICSFALSE);
llStopSound();
 
llSleep(5.0);
llSetText("This Bike is OUT of use ! delete it !\n select 'Ignore' on the Blue Pop-Up Menu", <0,1,0>, 1); 
llOwnerSay("This Bike is OUT of use ! delete it !\n select 'Ignore' on the Blue Pop-Up Menu");
//llSetScriptState("MAIN SCRIPT V2", TRUE);
//llResetOtherScript("MAIN SCRIPT V2");
 //llResetScript();



 
 
}
            
    }

quand quelqu'un s'assoit, il faut détecter qui s'assoit :

Code PHP:

key user llAvatarOnSitTarget(); // Store the UUID of any agent sitting on the sit target. 

ensuite, vérifier si la personne qui vient de s'assoir est le propriétaire. Si oui, l'éjécter.
Code PHP:

            if(user// An avatar is on the sit target.
                
if (user == llGetOwner()) llUnSit(user); // Un-Sit the avatar. 
Dans ton script, losrque quelqu'un s'assoit, tu détectes qui est le propriétaire. Et tu le compares au propriétaire. C'est normal que le test est toujours vrai, et que tout le monde est éjéecté.
Par ailleurs , ton if(user) est un peu bizarre.
user est de type key, alors qu'on attend un type integer.
Le test devrait plutôt être :
Code PHP:

if (user!=NULL_KEY
Celà dit, tu peux même supprimer cette condition, elle ne sert à rien ici.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés