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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Help !! probleme d'animation :(

Par durite le 20/2/2003 à 15:36:38 (#3276869)

Bonjour , j essaie tant bien que mal de faire executer une sorte de scene a 2 ou 3 pnj , et je me heurte a un probleme assez enervant , chaque commande que je place ,(exActionSpeakString , effet visuels ou autre ...) se répete une bonne dizaine de fois et je ne comprends pas pourquoi ... si vous avez une solution je suis preneur

Merci d'avance

Par Jaha Effect le 20/2/2003 à 15:56:24 (#3277054)

Tu sais si tu nous le montre pas ton script on peut pas faire grand chose pour toi.

Jaha Effect :D

Par durite le 20/2/2003 à 17:06:44 (#3277602)

void main()
{
//déclarations
object oKiran = GetObjectByTag("Kiranfilm");
object oBalorkPoint = GetObjectByTag("Balork2");
object oBalork = GetObjectByTag("Balorkfilm");
object oCible =(oKiran);//à définir!
effect eVis = EffectVisualEffect(VFX_FNF_IMPLOSION);
effect eVis2 = EffectVisualEffect(VFX_IMP_DEATH_L);
{
DelayCommand(0.0, AssignCommand(oBalork, ActionMoveToObject(oBalorkPoint)));

DelayCommand(10.0, ActionSpeakString("*Grognement*On me la fait pas a moi ..."));

DelayCommand(10.1, ClearAllActions());

DelayCommand(11.0, ActionCastFakeSpellAtObject(SPELL_IMPLOSION, oCible));

DelayCommand(11.1, ClearAllActions());

DelayCommand(13.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, oKiran, 0.5));

DelayCommand(13.1, ClearAllActions());

DelayCommand(14.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis2, oKiran, 0.5));

DelayCommand(14.1, ClearAllActions());

}
}


voila le script , au début il était sans les ClearAllActions mais je les rajoutés apres pensant pouvoir résoudre le probleme avec eux mais ca a rien changé.

Par Jaha Effect le 20/2/2003 à 17:12:20 (#3277649)

Juste comme ça pour savoir tu l'as mis ou ce script?
Parceque si tu as collé ça dans un OnHeartBeat ça va se répéter toute les 6 secondes.
Et gerbe les ClearAllAction ();

Jaha Effect :D

Par durite le 20/2/2003 à 17:45:35 (#3277938)

c est placé sur le Onperceive d'un pnj , pour que des qu il voit le joueur y fasse une suite d actions.

alors apres si ca viens du fait que le pnj me foit 10 fois où j y suis 1 fois ben je vois pas comment faire ...

Par Jaha Effect le 20/2/2003 à 18:08:15 (#3278147)

Dans ton OnPerceive tu met ça

void main()
{
if(GetIsPC(GetLastPerceived()) && GetLastPerceptionSeen())
{
SignalEvent(OBJECT_SELF,EventUserDefined(200));
}
}

Dans ton OnUserDefine tu met
void main()
{
switch(GetUserDefinedEventNumber())
{
case 200:
{
if(!IsInConversation(OBJECT_SELF))
{
//ton code
}
}
}
}


Je pense que ça devrait aller :)

Jaha Effect :D

Par durite le 20/2/2003 à 18:27:40 (#3278311)

ok je teste Ca et je te dis

Par RAT le 20/2/2003 à 19:10:55 (#3278638)

Oui pour explication. Si tu mets dans le onperception de ton npc, à chaque fois qu'il vois un pj , il va renvoyer le code.
Et tant qu'il voit le pj, il renvoi le code automatiquement,
c'est justement grâce à ça que j'utilise mon système de multi discussion entre npc :)

Par durite le 20/2/2003 à 19:18:03 (#3278706)

Merci beaucoup , ca marche nickel :)

comme on dit mieu vaut 1 qui sait plutot que ... 1 qui trouve pas :p

Par Jaha Effect le 20/2/2003 à 19:34:16 (#3278847)

A ton service :)

Jaha Effect :D

Par durite le 21/2/2003 à 17:56:14 (#3285902)

Voila , je suis de retour avec mes problemes d'animation :) pour pas saturer le forum je continue sur ce post ;)

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 d'avance

Par Jaha Effect le 21/2/2003 à 18:05:05 (#3285955)

Alors les règles du forum, c'est un post par sujet et un titre explicite et surtout pas du genre help ! problème animation ;)
et surtout utilise les balises PHP quand tu met un code sur le forum, pour un soucis de lisibilité ;)

Jaha Effect :D

Par durite le 21/2/2003 à 19:03:27 (#3286290)

sorry je reposte sur un autre sujet

JOL Archives 1.0.1
@ JOL / JeuxOnLine