Da OpenSimITA.
list oggettivalidi=[ "oggetto1","oggetto2","oggetto3" ];
default
{
// alla partenza occorre impostare che l'oggetto è sensibile alle collisioni di oggetti fisici
state_entry()
{
llVolumeDetect(TRUE);
}
collision_start(integer count)
{
integer i;
// esegue loop per non perdersi nessun oggetto che entra in contatto
for( i=0; i<count; i++) {
// ottiene la id dell'iesimo oggetto che ha colliso
key id=llDetectedKey(i);
// ottiene il nome dell'oggetto collidente
string name=llDetectedName(i);
// ottiene la descrizione dell'oggetto collidente che contiene il nome dell'avatar che lo sta spingendo
string avname=llList2String(llGetObjectDetails(id,[OBJECT_DESC]),0);
//llSay(0,"Detected "+name+" grabbed by "+avname);
// verifica se il nome è uno di quelli che riconosciamo come giusto
// if(llListFindList(oggettivalidi,[name])>=0 // alternativa per dare giusto per un elenco di nomi
if(name=="Giusto")
{
llSay(0,avname+" ha messo l'oggetto giusto");
}
else
{
llSay(0,avname+" ha sbagliato");
}
}
}
}