envoi de script ou objet dans tous les prims d'un objet lie |
![]() |
Technique - Scripts | |||
Écrit par ssm2017 | |||
Samedi, 29 Novembre 2008 16:55 | |||
Manna possede un objet qui fait 250 prims.... Elle souhaiterait mettre un script dans chacune des prims... Comment faire ?.... // hum hum... tout le monde est assis ? on peut commencer ? // m'en fous je commence quand meme, les retardataires avaient qu'a etre la... // **** variables qui vont nous servir ( sinon on les mettrait pas... ) *** // // stockage du nombre de prims integer nombre_de_prims; // numero de prim de depart integer prim_de_depart = 1; // nom du script ou objet a envoyer string nom_element_a_envoyer = "toto"; // script principal... default { touch_start(integer total_number) { // on recupere d'abord le nombre de prims dans l'objet nombre_de_prims = llGetNumberOfPrims(); llOwnerSay("Nombre de prims = "+(string)nombre_de_prims); // pour chaque prim, on recupere la clef uuid de la prim et on lui envoie le script integer i; for ( i=prim_de_depart;i<=nombre_de_prims;++i) { llGiveInventory(llGetLinkKey(i), nom_element_a_envoyer); llOwnerSay("Envoi vers la prim numero : "+(string)i); } // effacagement du script une fois le taf termined llRemoveInventory(llGetScriptName()); // effacagement du script qui a ete envoye llRemoveInventory(nom_element_a_envoyer); } }et c'est tout :) Par contre, attention a ne pas dupliquer la commande car si le script ou objet existe deja dans la prim de destination, celui ci sera copie avec un numero a la fin... Ah oui, j'oubliais un truc : le script n'est pas actif, il faut recompiler les scripts dans la selection par le menu outils...
Mais helas les scripts sont inactifs. Il existe une fonction qui permet d'envoyer des scripts dans une prim qui possede deja un script, mais ca met 3 secondes par script....
|