help pour une Porte ouverture slide avec acces

Répondre
Partager Rechercher
Bonjour,
voilà je viens de finir de construire ma maison et je cherche un script copiable et (si possible modifiable) mais sans succès, pour que les portes de ma maison s'ouvre en slide avec une liste d'acces...

J'ai déjà un script d'ouverture en slide avec mot de passe :

Code:
string  gMagicPhrase = "slide";

float gOpenTime = 3.0;

integer gSteps = 10;                               
vector  gOffset = <-0.0, -0.73, 0.0>;           // 2 meters of total motion


default

{

    state_entry()

    {

        llSay(0, "Acces Reserve " );

        llListen(1, "", "", gMagicPhrase);  

    }
    
    listen(integer channel, string name, key id, string message)

    {

        integer i;
         vector localpos = llGetLocalPos();
        //llWhisper(0, "localpos = " + (string)localpos);
        for (i = 0; i < gSteps; i++)

        {

            llSetPos(localpos +  i*gOffset);
            llSleep(0.1);

        }

        gOffset *= -1;

    }

}
Si quelqu'un a un script du même style mais dont l'acces ce fait par une liste et non un mot de passe, je suis preneur merci d'avance...
Vala un petit bout de code... (mais j'ai quand même parfois l'impression de me répéter : https://forums.jeuxonline.info/showthread.php?t=813609)


Avec mot de passe toujours
Code:
list names=["Nom1", "Nom2", "Nom3"];


string  gMagicPhrase = "slide";

float gOpenTime = 3.0;

integer gSteps = 10;                               
vector  gOffset = <-0.0, -0.73, 0.0>;           // 2 meters of total motion


default

{

    state_entry()

    {

        llSay(0, "Acces Reserve " );

        llListen(1, "", "", gMagicPhrase);  

    }
    
    listen(integer channel, string name, key id, string message)

    {

        string name_toucher=llKey2Name(id);
        integer index = llListFindList( names, [name_toucher] );
        if ( index != -1 )
        {

             integer i;
             vector localpos = llGetLocalPos();
            //llWhisper(0, "localpos = " + (string)localpos);
            for (i = 0; i < gSteps; i++)

            {

                llSetPos(localpos +  i*gOffset);
                llSleep(0.1);

            }

            gOffset *= -1;
        }

    }

}
Sans mot de passe cette fois
Code:
list names=["Nom1", "Nom2", "Nom3"];

float gOpenTime = 3.0;
float distance = 2; //Distance de détection des AV
integer gSteps = 10;                               
vector  gOffset = <-0.0, -0.73, 0.0>;           // 2 meters of total motion


default

{

    state_entry()

    {

        llSay(0, "Acces Reserve " );

        llSensorRepeat("","",AGENT,distance,PI,0.5);

    }
    
    sensor(integer number)

    {

        string name_toucher=llKey2Name(llDetectedKey(0));
        integer index = llListFindList( names, [name_toucher] );
        if ( index != -1 )
        {

             integer i;
             vector localpos = llGetLocalPos();
            //llWhisper(0, "localpos = " + (string)localpos);
            for (i = 0; i < gSteps; i++)

            {

                llSetPos(localpos +  i*gOffset);
                llSleep(0.1);

            }

            gOffset *= -1;
        }

    }

}
Voilà ça doit marcher normalement
j'avais vu ton post d'il y a deux jours mais je capte rien au scripting, j'ai bien essayer de bidouillé mais sans succès donc je redemande

je test ça dans l'aprem merci en tout cas
Répondre

Connectés sur ce fil

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