LlSensorRepeat/fr

From Second Life Wiki
< LlSensorRepeat
Revision as of 23:58, 19 September 2015 by Jerome Manatiso (talk | contribs) (mise en forme du code lsl)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Description

Fonction: llSensorRepeat( string nom, key id, integer type, float rayon, float arc, float rep );

Réalise un scan pour les nom et id du type indiqués dans le rayon (mètres) et l’arc (radians) indiqués et répète ce scan toutes les rep secondes.

• string nom Nom de l'objet ou de l'avatar recherché
• key id Clef (UUID) de l'objet ou de l'avatar recherché
• integer type masque des types recherchés (AGENT, ACTIVE, PASSIVE, SCRIPTED)
• float rayon rayon de recherche de 0.0 à 96.0m
• float arc la recherche est effectuée dans le cone d'angle arc par rapport à l'axe x de la prim. arc est entre 0 et PI
• float rep temps entre 2 scans

Si les données nom, id et/ou type sont vides ou nulles, elles sont ignorées.
Si id est une clé invalide ou une NULL_KEY, elle est considérée comme vide.

Consultez : llSensor pour une explication très intéressante de l’arc.

type Flag Description
AGENT 0x1 Uilisé pour détecter des Agents.
ACTIVE 0x2 Utilisé par les senseurs pour trouver les objets qui se déplacent ou contenant un script actif.
type Flag Description
PASSIVE 0x4 Utilisé pour trouver les objets immobiles ou les objets non-physiques non scriptés ou sans script actif.
SCRIPTED 0x8 Utilisé pour trouver les objets contenant un script actif.
Constantes (Float) Arc
PI_BY_TWO Une demie sphère
PI Une sphère complète

Avertissements

  • La vitesse de répétition du senseur est affectée par la dilatation temporelle (lag) de la région.
  • Quand un événement sensor est mis en queue il efface tous les autres déjà présent dans la queue.
  • Pour qu'un événement no_sensor puisse arriver le script doit comporter un évènement sensor même vide.

Exemples

Nomme les personnes à proximité.

float range = 3.0; //  mètres
float interval = 5.0; // secondes
default
{
    state_entry()
    {
         llSensorRepeat("", "", AGENT, range, TWO_PI, interval); // active le scanner.
         // recherché des avatars dans toutes les directions
    }
 
    sensor (integer numberDetected)
    {
        string msg = "Detecté(s) :  "+(string) numberDetected+" avatar(s): ";
        integer i;
        msg += llDetectedName(0);
        for (i = 1; i < numberDetected; i++)
        {
            msg += ", ";
            msg += llDetectedName(i);
        }
        llWhisper(0, msg);
    }
 
    no_sensor()
    {
        llWhisper(0, "Personne de détecté.");
    }
}

Notes

Astuce sur le lag: dans plusieurs situations, la fonction llVolumeDetect consomme moins de ressources que la fonction llSensorRepeat .

Voir également

Évènement

•  sensor Evènement déclenché quand le senseur détecte quelque chose.
•  no_sensor Evènement déclenché quand le senseur ne détecte rien

Fonctions

•  llSensor Lance le senseur une fois
•  llSensorRemove Arrête le senseur lance par llSensorRepeat
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.