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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Faire une quetes

Par sarda le 9/1/2003 à 12:17:02 (#2979646)

bonjour tous le monde,

je suis un peu null car j'ai lue bcq de tutoriaux et de postic, mais je n'arrive toujours pas a faire une quetes, je fais bien mon noeud de dialogue dans le sens inverse, et j'attribue bien les quetes comme il faut grâce au journal.

mais mon probléme, c'est que le premier dialogue qui donne la quetes marche bien, mais par contre il reste bloqué dessus et je n'arrive pas a le faire changer de dialogue.

quelqu'un peut m'aider

Par Cassin le 9/1/2003 à 16:55:02 (#2982038)

Est-ce que tu initialises bien ta variable une fois ta quête terminée, afin de faire apparaître la phrase suivante dans le dialogue ?


Sinon, il paraît que l'Assistant Quêtes, ajouté avec le patch 1.27 est très pratique pour les quêtes simples (mais je peux pas dire, je ne m'en suis jamais servi)

Par sarda le 9/1/2003 à 17:10:51 (#2982151)

bah oui normalement je crois qu'elle se font bien en faite c ca mon probléme je ne sais pas je le fais bien, donc si on pouvez tu pouvez me donner la formule je verais, car en plus j'utilise le wizard et ca ne marche pas du tout mais alors pas du tout du tout du tout.


donc bon je ne sais pas pourquoi.

Par Jaha Effect le 10/1/2003 à 2:33:07 (#2986138)

Si tu nous mettait tes scriptes ici?
On a un peux de mal pour te dire ou ça cloche si tu nous en dis pas plus :D

Jaha Effect :D

Par sarda le 10/1/2003 à 8:35:22 (#2986771)

j'ai 3 dialogues qui se détermine comme ca.

Ah vous avez trouvé mon bidule
Vous n'avez pas encore trouver
Pouvez vous aller me chercher mon bidule.

_____________________________

int StartingConditional()
{

// Inspecter variables locales
if(!(GetLocalInt(GetPCSpeaker(), "Quete_p_ame") == 100))
return FALSE;

return TRUE;
}


voici le script pour la cas ou il n'as pas encore fais la quete. donc le 2eme dialogues en partant du haut.

et voici le script quand il a fais la quetes
_____________________________

int StartingConditional()
{

// Inspecter variables locales
if(!(GetLocalInt(GetPCSpeaker(), "Quete_p_ame") == 200))
return FALSE;

return TRUE;
}


Donc voilà les 2 script que je met dans les dialogues

Par Jaha Effect le 10/1/2003 à 8:46:43 (#2986793)

Nul pars tu met dans action consequente

void main()
{
SetLocalInt(GetPCSpeaker(),"Quete_p_ame",200);
}


Si tu n'attribue pas la nouvelle valeur de ta variable, elle ne risque pas de changer. Il faut lui dire que ta variable passe a 200 pour que la deuxième partie du dialogue qui verifie que ta variable est a 200 puisse s'afficher.

Jaha Effect :D

Par sarda le 10/1/2003 à 8:51:11 (#2986809)

bah si tu regarde c'est ce qui se passe dans le 2 eme script et les 2 script sont fais avec le wizard e tmis dans action conséquences.

Par Jaha Effect le 10/1/2003 à 9:16:39 (#2986899)

SetLocalInt et GetLocalInt sont deux fonction différentes, la premiere attribue une valeur, la deuxième la vérifie, là tu fais que vérifier et pas attribuer.

Jaha Effect :D

Par Iridian le 10/1/2003 à 9:30:26 (#2986964)

int StartingConditional()

action conséquences


:confus: :confus: :confus:

Tu es sur qu'il ne faut pas les mettre en condition alors ???
StartingConditional

Par Jaha Effect le 10/1/2003 à 9:45:21 (#2987042)

j'ai pas de starting conditionnal(); dans mon script, c'est un script pour un action conséquente, je vois pas ce que ça y ferait.

Jaha Effect :D

Par Iridian le 10/1/2003 à 9:50:00 (#2987062)

Provient du message de Jaha Effect
j'ai pas de starting conditionnal(); dans mon script, c'est un script pour un action conséquente, je vois pas ce que ça y ferait.

Jaha Effect :D


Provient du message de Sarda
int StartingConditional()


J'ai pas rêvé la ;)
Arretez moi si je me trompe mais ... le StartingConditional() est bien réservé aux conditions d'affichage d'une ligne de dialogue ?

Par Jaha Effect le 10/1/2003 à 9:57:11 (#2987111)

Bon je reprends parce-que j'ai l'impression d'être incompris.
Il propose deux phrases
- première phrase qui apparait quand il a pas fait la quête (la variable est a 100)
- deuxième phrase qui apparait quand il a fait la quête (la variable est a 200)

Il fait bien dans ces deux scriptes les testes pour voir si sa variable est a 100 ou 200. Mais dans les actions conséquentes, il doit attribuer sa valeur à la variable, c'est a dire, une fois la quête finie, dire que la variable est a présent a 200 pour pouvoir faire apparaitre la deuxième phrase dans le dialogue.

Moi ce qui m'interresse c'est ce qu'il a mis pour changer les valeurs de ces variables. Parceque tel quel ça risque pas de marcher

Jaha Effect :D

Par sarda le 10/1/2003 à 13:18:04 (#2988313)

mais alors dans ce cas, la condition,

void main()
{
SetLocalInt(GetPCSpeaker(),"Quete_p_ame",200);
}___________________________


je la place ou par rapport a mon script ?????? et comment ????

car là je vois pas ??????

Par Jaha Effect le 10/1/2003 à 13:37:38 (#2988463)

C'est pas une condition d'execution. c'est une action consequente, c'est l'onglet juste a coté dans l'éditeur de dialogue.

Un dialogue avec des variables de quêtes

Par Mastokk le 10/1/2003 à 15:27:53 (#2989286)

NPC - Je vous remercie encore d'avoir résolu mon petit problème.// Ceci apparaît lorsque la quête a été terminée par le joueur (PC). On met donc ce script dans l'onglet "condition d'exécution":


int StartingConditional()
{

// Inspecter variables locales
if(!(GetLocalInt(GetPCSpeaker(), "vardequete") == 2))
return FALSE;

return TRUE;
}



NPC - Le petit travail que je vous ai demandé sera-t-il terminé bientôt ? //Voici la phrase qui se déclenche lorsque la quête est en cours d'exécution. Donc il faut mettre dans "Condition d'exécution" (premier onglet en bas à droite dans l'éditeur de dialogue) ce script, qui vérifie l'état de la variable de quête:


int StartingConditional()
{

// Inspecter variables locales
if(!(GetLocalInt(GetPCSpeaker(), "vardequete") == 1))
return FALSE;

return TRUE;
}


PC - Oui je m'en occupe ne vous inquiétez pas...
PC - blablabla....

NPC - Haaaaaaaaa je vois que vous avez terminé le petit travail que je vous avais donné ! // Ce texte doit apparaître si le PC ramène quelque chose pour fournir une preuve par exemple ou bien si vous avez mis une autre variable à une valeur lorsque l'objectif est atteint. Donc par exemple, vous pouvez décider de checker que le PC ait bien la tête de sa victime dans son sac. Je ne mets pas le script ici puisqu'il se fait facilement avec l'éditeur de dialogue. Bien sur pour vérifier ceci on met le script dans "Condition d'exécution" de cette ligne de dialogue.

PC - Oui voici la tête de votre infâme belle mère ! // C'est ici que l'on va mettre la valeur de la variable de quête pour dire que c'est terminé. On met donc dans le "action conséquente" le script suivant:

void main()
{
SetLocalInt(GetPCSpeaker(),"vardequete", 2);
}


NPC - Bonjour, Pouvez vous m'aider ? // Ce texte est le texte par défaut du NPC. Il apparaît si aucune des condition spécifiées n'est valide.

PC - Oui bien sûr // Ici on va définir une valeur de la variable de quête pour dire qu'elle est en cours. Donc dans "Action Conséquente", on met ce script:


void main()
{
SetLocalInt(GetPCSpeaker(),"vardequete", 1);
}


PC - Non, pas envie // On ne va rien mettre mais rien ne vous empêche de définir une nouvelle variable de quête pour faire réagir le NPC différemment suite à ce refus

Par sarda le 10/1/2003 à 16:59:53 (#2989946)

ok je vais l'essayer merci.

Par sarda le 12/1/2003 à 9:10:06 (#3001556)

je réponds un peu tardivement bon déjà c'etait pour dire que ca marcher mais je voudrais que le PNJ pour la derniere réponse verifie s'il a bien 200 po,
mais je ne sais pas comment faire quelqu'un peut m'aider.

Par Mastokk le 12/1/2003 à 18:06:00 (#3004424)

Je sais pas si c'est bon mais essaie ça dans condition d'exécution:

object oTarget = GetPCSpeaker();
int iGold = GetGold(oTarget);
int StartingConditional()
{

// Inspecter variables locales
if(iGold >= 200)
return FALSE;

return TRUE;
}

Par sarda le 12/1/2003 à 18:13:54 (#3004482)

ok v essayer

JOL Archives 1.0.1
@ JOL / JeuxOnLine