No sensor/fr

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.