Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Comment empécher un NPC de bouger tout en le laissant attaquer
Comment empécher un NPC de bouger tout en le laissant attaquer
Par Mastokk le 2/2/2003 Ă 22:48:06 (#3157502)
Par Jaha Effect le 3/2/2003 Ă 0:38:18 (#3158013)
// sPnj: Tag du pnj qui forge
// sAnvil: Tag de l'enclume sur laquelle va taper le pnj
void PlayForgeAnimation(string sAnvil, string sPnj);
void PlayForgeAnimation(string sAnvil, string sPnj)
{
object oPnj = GetObjectByTag(sPnj);
if(oPnj != OBJECT_INVALID)
{
AssignCommand(oPnj, PlayAnimation(ANIMATION_LOOPING_GET_MID, 1.0, 4.0));
DelayCommand(1.0, PlaySound("as_cv_smithhamr1"));
location locAnvil = GetLocation(GetObjectByTag(sAnvil));
vector vEffectPos = GetPositionFromLocation(locAnvil);
vEffectPos.z += 1.0;
location locEffect = Location( GetAreaFromLocation(locAnvil), vEffectPos,
GetFacingFromLocation(locAnvil) );
ApplyEffectAtLocation (DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_SPARKS_PARRY), locEffect);
DelayCommand(1.7, ApplyEffectAtLocation (DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_SPARKS_PARRY), locEffect));
DelayCommand(2.4, ApplyEffectAtLocation (DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_SPARKS_PARRY), locEffect));
DelayCommand(3.1, ApplyEffectAtLocation (DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_SPARKS_PARRY), locEffect));
DelayCommand(3.8, ApplyEffectAtLocation (DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_SPARKS_PARRY), locEffect));
}
}
En général, j'utilise le OnPerception pour lancer l'anim et à vous de la boucler (l'animation) ou de faire faire au PNJ ce que vous voulez après)
Jaha Effect :D
Par Florin le 3/2/2003 Ă 12:20:41 (#3160293)
Ah nan ca c'est dans Diablo bon oki je sors :rasta:
Par Mastokk le 4/2/2003 Ă 11:23:08 (#3167293)
JOL Archives 1.0.1
@ JOL / JeuxOnLine