Script_génération

integer ttl; integer ttl_base; float hasard2; integer listen_iterations; vector scale; float variation;

rez_child { if(ttl > 0) { integer ttl_child = ttl - 1; hasard2 = llFrand(2);

llRezObject("rezTest", llGetPos+(<0,0,1.5>)*llGetLocalRot, <0,0,0>, llGetLocalRot + llEuler2Rot(  * DEG_TO_RAD ), ttl_child);

if(hasard2 < 1) { llRezObject("rezTest", llGetPos+(<0,0,1.5>)*llGetLocalRot, <0,0,0>, llGetLocalRot + llEuler2Rot(  * DEG_TO_RAD ), ttl_child); } } variation = (ttl_base-ttl)*.2; scale = llGetScale; llSetScale(scale - < variation, variation, variation>); }

default { state_entry { listen_iterations = llListen(PUBLIC_CHANNEL, "", "", ""); llSay(0, "Quel sera le nombre d'itérations?..."); listen_iterations; }

listen( integer channel, string name, key id, string message ) { ttl = (integer)message; ttl_base = ttl; llListenRemove(listen_iterations); llSay(0, "Votre script a été paramétré. Prennez une copie de l'objet et insérez-le dans son inventaire"); state rez; } }

state rez { touch_start(integer total_number) { rez_child; }

object_rez(key child) { llGiveInventory(child, llKey2Name(child)); }

on_rez(integer ttl_in) { ttl = ttl_in; }

changed(integer change) { if(change == CHANGED_INVENTORY) { rez_child; } } }

Retour à Binôme 4