Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Script du "Battlecry"
Script du "Battlecry"
Par Paoh le 4/7/2001 à 15:43:00 (#25985)
(Reference Sheet du 24 juin 2001 de NWVault)
- le Cri de Guerre est apparement provoqué lors de la présence d'un joueur
- Il est lancé par l'objet/pnj d'un shaman gobelin.
-------------------
void BattleCry(string sCry1, string sCry2);
void main()
{
// declaration compteur
int nCount;
// declaration et initialisation de l'objet oTarget
// qui designe la creature la plus proche
object oTarget= GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC);
// Test de validité de l'objet cible (probablement si l'objet a un format correct)
if (GetIsObjectValid(oTarget))
{
// Si la cible est a moins de 40f(feet?) et qu'elle est vivante
if (GetDistanceToObject(oTarget) < 40.0f && GetIsDead(oTarget)==FALSE)
{
// Si l'objet qui a lancé le script (OBJECT_SELF) a la constante FIREBALL à 0
// alors il lance le sort de fireball sur la cible et met la constante à 1
if (GetLocalInt(OBJECT_SELF, "FIREBALL") == 0)
{
ActionCastSpellAtObject(SPELL_FIREBALL, oTarget);
SetLocalInt(OBJECT_SELF, "FIREBALL", 1);
}
// sinon (FIREBALL à 1), si la constante WALK est à 0 (qu'il ne marche pas)
// alors il se rend à son lieu de départ et met la constante à 1
else if (GetLocalInt(OBJECT_SELF, "WALK") == 0 )
{
ActionMoveToLocation( GetLocalLocation(OBJECT_SELF, "ShamanStart"), TR....
SetLocalInt(OBJECT_SELF, "WALK", 1);
}
// sinon (FIREBALL et WALK à 1), si la constante MAGIC_MISSILE est inférieure
// à 3, il lance sur la cible le sort magic missile et rajoute 1 à la constante
else if (GetLocaInt(OBJECT_SELF, "MAGIC_MISSILE") < 3)
{
ActionCastSpellAtObject (SPELL_MAGIC_MISSILE, oTarget);
nCount = GetLocalInt(OBJECT_SELF, "MAGIC_MISSILE");
nCount++
SetLocalInt(OBJECT_SELF, "MAGIC_MISSILE", nCount);
}
// sinon (si il a lancé fireball, ses 3 magic missiles et qu'il est revenu
// a son point de depart), il attaque l'objet cible
else
{
ActionAttack(oTarget);
}
// lance la fonction decrite ci-dessus
BattleCry("goblin_bc1_tmp","goblin_bc2_tmp");
}
}
}
-------------------
C'est un script qui représente bien ce qu'il est possible de créer avec un PNJ.
Je n'ai pas mentionné de nombreuses explications qui seront peut-être nécessaires pour ceux qui n'ont pas mes compétences de programmation.
Dites-moi ce que vous n'avez pas compris où ce que ça vous inspire...
(Note pour Uther : pourrais-tu jeter un oeil sur tes messages privés :))
[ 04 juillet 2001: Message édité par : Paoh ]
JOL Archives 1.0.1
@ JOL / JeuxOnLine