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

Panneau de contrĂŽle

Recherche | Retour aux forums

JOL Archives

Assigner une quĂȘte

Par Miragul le 25/8/2002 Ă  20:36:07 (#2025265)

J'ai chercher sur le moteur et j'ai rien trouvé :(

Comment assigner directement une quĂȘte d' un NPC Ă  un PJ ? et aussi comment donner une autre quĂȘte directement si la premiĂšre Ă  Ă©tĂ© faites ? EN fait, je veux que mon NPC donne des quetes de plus en plus dur Ă  chaque fois que le PJ Ă  rĂ©ussi la quĂȘte.

Merci.

Par Théranthil le 25/8/2002 à 21:35:30 (#2025646)

suffit de chercher dans les tutoriaux

Par Théranthil le 25/8/2002 à 21:37:23 (#2025663)

et voila
C'Ă©tait dans le premier tutorial en plus.

UN EXEMPLE TRES SIMPLE DE DIALOGUE DE QUETE.

La chose Ă  se souvenir est que quand vous crĂ©ez votre premier nœud, juste en dessous de Root, les propositions doivent ĂȘtre dans l’ordre inverse de l’ordre dans lequel elles seront complĂ©tĂ©es. (cf exemple ci dessus)

Admettons maintenant que notre NPC donne 3 boulots. Imaginez la structure suivante sous le « root » :

#1. "Je n’ai plus aucun travail pour vous."
#2. "Avez vous fini le travail #3?"
#3. " Avez vous fini le travail #2?"
#4. " Avez vous fini le travail #1?"
#5. "Est ce que vous cherchez un travail ?"
#6. "Salut!"

Il faut se souvenir que lorsqu’on clique sur un NPC, l’ordinateur commence Ă  vĂ©rifier le script « Text Appears When » des parties du noeud. Si le script renvoie TRUE (ou si il n’y a pas de script), ce nœud est initialisĂ©. Si il retourne FALSE, il passe Ă  la suite.

Voici la liste des script qui sont attribuĂ© Ă  chaque nœud.

#1 - script dans 'Text Appears When' qui renvoie TRUE si la variable "Job" du PC a pour valeur 4:

int StartingConditional()
{
int nJob = GetLocalInt(GetPCSpeaker(), "Job") == 4;
return nJob;
}

#2 - script dans 'Text Appears When' qui renvoie TRUE si la variable "Job" du PC a pour valeur 3 (cf. ci dessus). Si le PC a fini le travail, le NPC donne la récompense et fixe la variable « Job » à 4 (plus de travail) dans « Action Taken » comme ceci :

void main()
{
SetLocalInt(GetPCSpeaker(), "Job", 4);
}

#3 - script dans 'Text Appears When' qui renvoie TRUE si la variable "Job" du PC a pour valeur 2 (cf. ci dessus). Si le PC a fini le travail, le NPC donne la récompense et le travail #3 et fixe la variable « Job » à 3 dans « Action Taken »

#4 - script dans 'Text Appears When' qui renvoie TRUE si la variable "Job" du PC a pour valeur 1 (cf. ci dessus). Si le PC a fini le travail, le NPC donne la récompense et le travail #2 et fixe la variable « Job » à 2 dans « Action Taken »

#5 - Script dans 'Text Appears When' renvoie TRUE si la variable "TalkedToJoe" du PC est fixée à 1 (cf. ci dessus). Dans le dialoque, si le PC accepte le travail #1, fixe la variable « Job » du PC à 1 dans 'Actions Taken'.

#6 – Pas de script dans 'Text Appears When' (si tous les autres scripts qu dessus sont « FALSE », c’est que le PC a parlĂ© pour la premiĂšre fois au NPC). Sur la premiĂšre ligne, placez un script dans « Action Taken » qui fixe la variable "TalkedToJoe" du PC Ă  1.

Par Miragul le 25/8/2002 Ă  22:12:47 (#2025870)

Je ne comprend rien...:(

Merci, je vais essayer de bosser sur le tutorial.

Par Théranthil le 25/8/2002 à 23:42:02 (#2026474)

pour résumer tu a une variable qui indique l'avancé du perso.
Tu l'augmente d'un des que le PC a fini la quĂȘte.

Et tu fixe l'apparition des diffĂ©rentes quĂȘtes aux diffĂ©rentes valeur de la variable.

Par exemple, si la variable est Ă©quale Ă  1, le texte affixhera la premiĂšre quetes, si elle afficha 2, la deuxiĂšme...

j'ai moi-meme

Par Blam le 26/8/2002 Ă  0:04:09 (#2026599)

le meme probleme avec bien pire

ex: vous avez fini la quete x (le joueur de mauvaise foi)
oui bien sur = quete validée quand meme ! tss tss
et il passe a la suivante

je sais j'ai merdé, mais........ou ?

:)

Par Théranthil le 26/8/2002 à 0:27:53 (#2026715)

ba faut lui dire avant de vérifier par exemple si t'a le bon objet dans ton inventaire.

Par JedaĂŻ le 26/8/2002 Ă  14:03:54 (#2029790)

Si tu es bien vicieux tu peux mĂȘme le laisser dire qu'il a fini et faire vĂ©rifier par le NPC : tu le fais disparaĂźtre et rĂ©aparaitre au bout de quelques secondes (le PC va avoir droit Ă  un petit discours...:D). La fin de la quĂȘte dĂ©clenche un changement d'une variable locale du PC (Par exemple si il faut tuer un boss tu met un SetLocalInt() dans son OnDeath).

JOL Archives 1.0.1
@ JOL / JeuxOnLine