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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Comment faire partir un NPC après une conversation ?

Par Morethil le 4/11/2002 à 11:06:52 (#2475699)

Un autre sujet abordait le probleme, mais ce n'était pas tout a fait ça, donc je (re)centre ici sur mon pbm.

Dans plusieurs de mes conversation les NPC je fait partir une action après une réplique du joueur. Comme par exemple faire ouvrir une porte par le NPC, faire partir le NPC du scénario (par disparition) ou encore faire faire une suite d'action au NPC avant son départ.

Dans les cas les plus simple, le NPC va faire l'action lorsque l'action conscéquente est placé sur sa réplique. comme ici :

PC - Je voudrait rentrer
NPC - Je vous ouvre sire ---> scripte_ac
PC [End Dialog]


void main()
{
object oDoor;
oDoor=GetNearestObjectByTag("dt_doorTag");
if (GetIsOpen(oDoor)==0)
{
ActionOpenDoor(oDoor);
}
}


1er probleme c'est que si le PJ clique sur [End Dialog] avant que la porte soit ouverte (ou que l'action définie soit terminé) le PNJ s'arrête.

Placé sur le [End Dialog]

PC - Je voudrait rentrer
NPC - Je vous ouvre sire
PC [End Dialog] ---> scripte_ac

le scripte ne va rien faire. Le PNJ ne bouge pas, ne réagit pas, rien. C'est genant...

J'ai donc opté pour la première option, mais elle s'avère innutile quand par exemple le PNJ fait une action qui coupe le dialogue (lancer un fake_spell par exemple) car cela entraine le 1er probleme.

Si vous avez une solution ici encore, elle est bienvenue. Au pire je previendrait les PJ, mais ça ne résoudra pas le probleme pour les long scriptes qui interompent le dialogue.

Par Etienne le 4/11/2002 à 11:14:36 (#2475742)

Dans les propriétés du dialogue, il y a deux événements quitter le dialogue.
Le normale
Le fin de conversation brutale

C'est ici que tu peux mettre tes scriptes.

Par eMRaistlin le 4/11/2002 à 11:19:36 (#2475771)

Tu peut aussi verifier que dans l'event OnConversation du NPC, il n'y ait pas un ClearAllActions quelque part...

Sinon, effectivement, sur les event du dialogue, y'a pas mal de choses reglables, comme l'a si bien souligné Etienne

Par Morethil le 4/11/2002 à 12:16:44 (#2476170)

Provient du message de Etienne
Dans les propriétés du dialogue, il y a deux événements quitter le dialogue.
Le normale
Le fin de conversation brutale

C'est ici que tu peux mettre tes scriptes.


Donc dand l'onglet "fichier actuel" (ça doit etre actual file en anglais) sur les 2 fenetres j'imagine ? (Normales et abandon)

Je vais les mettre là, jusqu'a nouvel ordre, merci pour tous, je viens d'apprendre un truc de plus :)

Au fait, il faut le mettre sur le dernier dialogue du NPC, ou sur le [End Dialog] du PJ ?
Question résolue, ca marche à partir du End Dialog. Merci beaucoup.

Edit :
Je viens de remarquer que depuis cet emplacement le scripte definissait l'action que prend le PNJ quel que soit la fin de conversation. Donc je suppose qu'en fait il faut laisser le scripte dans l'action conscéquente de la phrase concerné, et virer le(s) scripte de fin de conversation par defaut pour qu'ils n'interompent pas me action conscequente.
Je vais tester ça, si vous avez des precisions, je suis preneur, en tous cas vos remarques m'ont mis sur la piste :)

JOL Archives 1.0.1
@ JOL / JeuxOnLine