Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Par quoi puis je remplacer les DestroyObject qui font bugger mon script ?

Par durite le 21/2/2003 à 19:11:10 (#3286334)

Voila , je suis de retour avec mes problemes d'animation

Explication du probleme :

j'utilise ce script sur le onExit d'une zone:


void main()
{
object oDemonfilm = GetObjectByTag("Demonfilm");
object oDemonfilm2 = GetObjectByTag("Demonfilm2");
object oPretreHaruPoint2 = GetObjectByTag("PretreHaru1");
object oMbrcultPoint1 = GetObjectByTag("Membreculte1");
object oMbrcultPoint2 = GetObjectByTag("Membreculte2");
object oMbrcultPoint3 = GetObjectByTag("Membreculte3");
object oMoonrockPoint2 = GetObjectByTag("Moonrock1");
object oKilhiamPoint2 = GetObjectByTag("Kilhiam1");
object oKiranPoint2 = GetObjectByTag("Kiran1");
object oBalorkPoint2 = GetObjectByTag("Balork1");
object oBalork = GetObjectByTag("Balorkfilm");
object oRecuciteKiran = CreateObject(OBJECT_TYPE_CREATURE, "Kiranfilm", GetLocation(oKiranPoint2));
object oRecuciteKilhiam = CreateObject(OBJECT_TYPE_CREATURE, "Kilhiamfilm", GetLocation(oKilhiamPoint2));
object oRecuciteMoonrock = CreateObject(OBJECT_TYPE_CREATURE, "Moonrockfilm", GetLocation(oMoonrockPoint2));
object oMembreculte1 = CreateObject(OBJECT_TYPE_CREATURE, "membreduculte", GetLocation(oMbrcultPoint1));
object oMembreculte2 = CreateObject(OBJECT_TYPE_CREATURE, "membreduculte", GetLocation(oMbrcultPoint2));
object oMembreculte3 = CreateObject(OBJECT_TYPE_CREATURE, "membreduculte", GetLocation(oMbrcultPoint3));
object oPretreHaru = CreateObject(OBJECT_TYPE_CREATURE, "pretreharuspicie", GetLocation(oPretreHaruPoint2));

DestroyObject(oDemonfilm);
DestroyObject(oDemonfilm2);
AssignCommand(oBalork, JumpToObject(oBalorkPoint2));



Le probleme auquel je suis confronté est que lorsque je quitte la zone ya comme un micro lag a cause des 2 DestroyObject , et cela fait que au lieu que les pnj se recrée normalement 1 fois , ils se recréent 3 fois ... pourtant il est indispensable que je detruise les 2 pnj "Demonfilm 1 et 2" a la sortie de cette zone ... si vous avez une solution je suis preneur

Merci pour vous conseils

Re: Par quoi puis je remplacer les DestroyObject qui font bugger mon script ?

Par Iridian le 21/2/2003 à 22:19:25 (#3287426)

Voila ce que je commencerai par essayer a ta place


void main()
{
//on detruit les montres en premier, pour eviter qu'il ne s'attaque aux pnjs crée (puisqu'ils sont de factions ennemis tu m'a dit)
DestroyObject(GetObjectByTag("Demonfilm"));
DestroyObject(GetObjectByTag("Demonfilm2"));

//je deplace celui ci ensuite, çar les teleportations on toujours eu tendance a faire lagger mon PC ...
AssignCommand(GetObjectByTag("Balorkfilm"), JumpToObject(GetObjectByTag("Balork1")));

//enfin les creations, sans les declarations inutile (puisque chaque objet n'est utilisé qu'une fois)
CreateObject(OBJECT_TYPE_CREATURE, "Kiranfilm", GetLoçation(GetObjectByTag("Kiran1")));
CreateObject(OBJECT_TYPE_CREATURE, "Kilhiamfilm", GetLocation(GetObjectByTag("Kilhiam1")));
CreateObject(OBJECT_TYPE_CREATURE, "Moonrockfilm", GetLocation(GetObjectByTag("Moonrock1")));
CreateObject(OBJECT_TYPE_CREATURE, "membreduculte", GetLocation(GetObjectByTag("Membreculte1")));
CreateObject(OBJECT_TYPE_CREATURE, "membreduculte", GetLocation(GetObjectByTag("Membreculte2")));
CreateObject(OBJECT_TYPE_CREATURE, "membreduculte", GetLocation(GetObjectByTag("Membreculte3")));
CreateObject(OBJECT_TYPE_CREATURE, "pretreharuspicie", GetLocation(GetObjectByTag("PretreHaru1")));
}


pis ca fait quand même plus propre comme ca non ? ;)

Par Jedaï le 21/2/2003 à 23:18:34 (#3287698)

Iridian, je ne t'avais pas déjà dit que les DestroyObject() avait au minimum lieu à la fin du script, à quelque endroit que tu les mettes...:p

[Edit] eh puis je me demande ce que va faire NWN face à un GetLoçation()...:D

Mais c'est vrai que c'est nettement plus propre !! :eek:

Par Iridian le 21/2/2003 à 23:33:02 (#3287764)

Provient du message de Jedaï
Iridian, je ne t'avais pas déjà dit que les DestroyObject() avait au minimum lieu à la fin du script, à quelque endroit que tu les mettes...:p

non mais je suis heureux de le savoir, je dirai même que si je l'avais su plus tôt je me serai moins arraché les cheveux ;)

Provient du message de Jedaï
[Edit] eh puis je me demande ce que va faire NWN face à un GetLoçation()...:D

ca j'y peu rien si le correcteur orthographique a corrigé les 2 premier "ca" qu'il a rencontré et non ceux de ma dernière phrase ... tient pour la peine je ne corrigerai plus ce mot la !

Provient du message de Jedaï
Mais c'est vrai que c'est nettement plus propre !! :eek:

et concis ;)

JOL Archives 1.0.1
@ JOL / JeuxOnLine