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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Comment faire activer un objet a un NPC ?

Par Amaranthe le 4/10/2002 à 19:05:33 (#2282183)

Bon tant que j'y suis ;)

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)

Aie Amaranthe pose un probleme ... ca va pas etre simple ;)

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)

Ca a pas l'air idiot ce que tu dis...

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)

Bon je me risque à une réponse à la con ... tu scriptes ce que le wand est censé faire.

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)

J'avais bien pensé a cette solution... qui serait sans doutes facile puisque la wand en question ne fait qu'un cure ligth... mais j'aurai aimé profiter de ce problème pour comprendre un peu mieux un aspect du Toolset que je ne connais pas...

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)

Bon ca marche toutjours pas...

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)

J'ai plusieurs questions qui me viennent immédiatement à l'esprit en lisant ce script : EventActivateItem() ne doit-il pas être plutôt envoyé au module : après tout seul le module a un eventactivateitem ? Deuxièmement : je n'ai jamais vu un NPC utiliser un autre objet que son arme, le peut-il ? Troisièmement : pourquoi essayer d'utiliser un objet qui peut s'épuiser, qu'on peut voler, etc... Alors qu'un simple Effect et une animation pour l'agrémenter si nécessaire devrait suffire ?

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)

C'est ce que j'ai finalement fini par faire...

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