Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > jeter de dart
jeter de dart
Par Vanfanel le 8/8/2002 à 0:24:59 (#1932456)
je suis parti du scripte du NPC qui jete des dart (voir en dessous)
le probleme et que si on change le type d'arme ou il jete c 3 armes (de jet) ou il rentre en boucle walk cible retour WP pour exemple il suvi de remplace les dart par des etoile pour qui pete les plombs g cru que cette mon scripte au depart mais meme en
reprenent l'original je tombe sur le meme pbs se que je voi pas c que un Dart ou une etoile sont tous les 2 des arme de jet en main droite
qui a la solution ou un indice pour se pbs
(Original)
l'idee et que NPC fait sont jet (la 3) va a la cible et revient
void main()
{
int nCalledBy = GetUserDefinedEventNumber();
object oTarget = GetNearestObjectByTag("Cible");
int nDartsReady = GetLocalInt(OBJECT_SELF, "DARTSTATE");
//
switch(nCalledBy)
{
case 1001: // Called by OnHeartbeat
//
// nDartsReady will be 1 if ready to throw, 2 if not.
//
if ((GetIsObjectValid(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND)))
&& (nDartsReady == 1))
{
// If we have darts in the right hand, and we're ready to throw, go for it.
ClearAllActions();
ActionAttack(oTarget, TRUE);
}
else
{
// Otherwise, there are two cases. We've either just run out, or we are in
// the process of getting darts. We don't want to interrupt the cycle if we're
// already working on it.
if (nDartsReady == 1)
{
SetLocalInt(OBJECT_SELF, "DARTSTATE", 2);
ActionMoveToObject(oTarget);
ActionWait(0.5);
ActionPlayAnimation(ANIMATION_LOOPING_GET_MID, 1.0, 1.0);
ActionWait(0.5);
ActionPlayAnimation(ANIMATION_LOOPING_GET_MID, 1.0, 1.0);
ActionWait(0.5);
ActionPlayAnimation(ANIMATION_LOOPING_GET_MID, 1.0, 1.0);
object oDestination=GetNearestObjectByTag("DARTWP001");
ActionMoveToObject(oDestination);
CreateItemOnObject("nw_wthmsh007", OBJECT_SELF, 3);
ActionEquipMostDamagingRanged();
ActionDoCommand(SetLocalInt(OBJECT_SELF, "DARTSTATE", 1));
}
}
break;
}
}
:hardos: Vanfanel
JOL Archives 1.0.1
@ JOL / JeuxOnLine