No sensor/fr

From Second Life Wiki
Jump to navigation Jump to search

Description

! Event: no_sensor( ){ ; }

Evènement généré par llSensor ou llSensorRepeat.


Défauts

  • no_sensor ne sera pas déclenché à moins que le script ne comporte un évènement sensor ~ SVC-2409
    • Un évènement sensor, même vide, est suffisant pour que no_sensor puisse être déclenché.*sensor/no_sensor ne sont pas toujours la meilleur solution pour :
    • Déterminer si quelque chose a été détruit. Utilisez plutôt llGetObjectDetails cf. la section des Les Truc&Astuces.
    • Pour déterminer si un avatar est dans la région. Utilisez plutôt llGetAgentSize

Exemples

<lsl> //Liste tous les avatars dans le périmètre default {

    on_rez(integer i) {
         llSensor("", "", AGENT, 100000, 10000);
    }
    sensor(integer num) {
         integer i = 0;
         do {
              llOwnerSay(llDetectedName(i) + " est à  " + (string)llVecDist(llGetPos(), llDetectedPos(i)) + "m.");
              i++;
         } while (++i < num)
    }
    no_sensor() {
         llOwnerSay("Pas d’avatars dans le périmètre.");
    }

} </lsl>

Codes utiles

<lsl>//Une alternative pour déterminer si un avatar est à proximité //No sensor utilisé dans l'exemple précédent ne s'applique pas ici.

integer InRange(key uuid, float distance) {

   list data = llGetObjectDetails(uuid, [OBJECT_POS]);
   if(data == [])
       return 0;
   return llVecDist(llList2Vector(data, 0), llGetPos()) <= dist;

}</lsl>

Voir aussi

Fonctions

•  llSensor Lance un senseur.
•  llSensorRepeat Lance un senseur avec timer.

Notes complémentaires

Problèmes

   llSensorRepeat ne déclenche pas no_sensor à moins que l'évènement sensor soit présent.
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.