Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Comment faire activer un objet a un NPC ?
Comment faire activer un objet a un NPC ?
Par Amaranthe le 4/10/2002 à 19:05:33 (#2282183)
Je voudrais que mon NPC utilise sa baguette sur tous les bléssés qu'il percoit.
J'ai donc ce bout de script dans le OnUserDefined.
( ... )
else if(nUser == 1002) // PERCEIVE
{
object oSeen = GetLastPerceived();
if (GetFactionEqual(OBJECT_SELF, oSeen) && GetLastPerceptionSeen())
{
if (GetCurrentHitPoints(oSeen) < GetMaxHitPoints(oSeen))
{
ActionMoveToObject(oSeen, TRUE);
object oWand = GetObjectByTag("WandDuNPC");
location lLoc = GetLocation(oSeen);
event eWand = EventActivateItem(oWand, lLoc, oSeen);
SignalEvent(OBJECT_SELF, eWand);
SpeakString("Te voila guéri... " + GetName(oSeen));
}
}
}
Et... ca marche pas tout a fait...
Il se déplace bien, dit bien la phrase... mais le coup de baguette magique ne part pas.
Je me doute que j'ai du me merder qqpart... une idée ?
Amaranthe.
Par Gargantuel le 4/10/2002 à 19:34:27 (#2282332)
Je peux me gourer mais ton EventActivateItem(oWand, lLoc, oSeen), il déclenche le OnItemActivated du module non ?
Et dans ce script là tu fais quelque chose ?
J'ai toujours utilisé que des items qui se controlent par le OnItemActivated. Si y a d'autres méthodes automatiques, c'est que je me gourre de piste :confus:
Par Amaranthe le 4/10/2002 à 19:36:34 (#2282350)
Et non, je n'ai rien de special a ce sujet dans le onActivate du module... mais c'est un cercle vicieux...
Que devrais je mettre dans le OnActivate du module a ce moment la ???
Amaranthe.
Par Gargantuel le 4/10/2002 à 19:40:13 (#2282365)
Je ne fais que me réferer à ce que je connais. Par exemple quand on utilise de DM wand (DM Helper) la conversation se déclenche "manuellement" dans le script du OnItemActivated.
Pareil quand on utilise la pierre de recall dans le chapitre un, si je me souviens bien.
*s'en va réviser la gestion des activations*
Par Amaranthe le 4/10/2002 à 19:43:30 (#2282381)
Euh... un de plus ;)
Cf. Mon "petit" probleme plus bas.
Amaranthe.
PS. C'est cool d'utiliser le forum comme messagerie "quasi" instantannée... si tu dois quitter le boulot... ne répond pas a mes posts ;)
Par Amaranthe le 6/10/2002 à 15:30:22 (#2289805)
Apres maintes recherches, il semblerait que personne ne sache utiliser le EventActivateItem.
A se demander si cette fonction marche bien d'ailleurs.
Par Jedaï le 6/10/2002 à 15:46:32 (#2289866)
En fait en y réfléchissant je suis à peu près convaincu que la seule utilisation possible de EventActivateItem() est lié à l'Event du module et que celui-ci se préoccupe juste du tag de l'objet qui l'a activé. Attribuer la capacité "Pouvoir Unique" à un objet ne serait rien d'autre que de lui ordonner d'exécuter cette fonction lorsqu'on l'utilise... :lit:
Je pense donc qu'à moins de vouloir te compliquer la vie à modifier l'Event du module, tu devrais utiliser un simple Effect.
Par Amaranthe le 6/10/2002 à 19:02:56 (#2290512)
Tes remarques sont judicieuses, mais j'aurai quand meme voulu savoir s'il etait possible ou non de faire utiliser un objet a un npc... a priori, comme tu dis... non. Et c'est bien dommage.
Amaranthe.
JOL Archives 1.0.1
@ JOL / JeuxOnLine