Sur le web
Sur ce site



 

Description : ce script permet d'enregistrer toutes les personnes passant dans un rayon de 10 mètres autour de l'objet.

Note : les raccourcis sont aide (pour les raccourcis), donner liste (pour obtenir la liste), et effacer (pour effacer la liste).

Code:
list visitor_list;
float range = 10.0; // en metres
float rate = 1.0; // en secondes
 
integer isNameOnList( string name )
{
integer len = llGetListLength( visitor_list );
integer i;
for( i = 0; i < len; i++ )
{
if( llList2String(visitor_list, i) == name )
{
return TRUE;
}
}
return FALSE;
}
 
default
{
state_entry()
{
llSay(0, "Demarrage de l'enregistrement...");
llSay(0, "Le proprietaire peut dire 'aide' pour avoir les raccourcis."); 
llSensorRepeat( "", "", AGENT, range, TWO_PI, rate );
llListen(0, "", llGetOwner(), "");
}

sensor( integer number_detected )
{
integer i;
for( i = 0; i < number_detected; i++ )
{
if( llDetectedKey( i ) != llGetOwner() )
{
string detected_name = llDetectedName( i );
if( isNameOnList( detected_name ) == FALSE )
{
visitor_list += detected_name;
}
}
}    
}
    
listen( integer channel, string name, key id, string message )
{
if( id != llGetOwner() )
{
return;
}
        
if( message == "aide" )
{
llOwnerSay( "Cet objet enregistre les noms de chaque personne qui passe dans un rayon de "+ (string)range + " meters." );
llOwnerSay( "Commandes du proprietaire:" );
llOwnerSay( "'aide'  - Donne les raccourcis." );
llOwnerSay( "'donner liste'   - Donne la liste complete des visiteurs.");
llOwnerSay( "'effacer' - Efface tous les noms de la liste." );
}
else
if( message == "donner liste" )
{
llSay( 0, "Liste des visiteurs:" );
integer len = llGetListLength( visitor_list );
integer i;
for( i = 0; i < len; i++ )
{
llSay( 0, llList2String(visitor_list, i) );
}
llSay( 0, "Total = " + (string)len ); 
}
else
if( message == "effacer" )
{
visitor_list = llDeleteSubList(visitor_list, 0, llGetListLength(visitor_list));
llSay( 0, "Reinitialisation");
}
}        
}

 

VirWoX
AJOUTER CETTE PAGE AUX FAVORIS
Votre pub Second Life ici

Contacter Momo Foulsbane

via SL ou e-mail