Quête : tuer plusieurs trucs

Aides pour les développeurs de mods (scénarios)
Post Reply
Le Jedi Fou
Posts: 59
Joined: Tue Apr 08, 2003 2:00 am
Location: Rennes

Post by Le Jedi Fou »

Alors voilà, j'ai un petit problême et j'ai besoin d'aide.
Ce qui se passe c'est que j'ai fait une quête durant laquelle on me demande de tuer 9 bestioles. Sur ces 9 bestioles j'ai attaché un script qui incrémente la Variable Globale 1 de 1 à chaque mort. Quand la variable est à 9, le script est supposé mettre l'état de la quête à 3, c'est à dire completée mais pas encore terminée, la nuance étant qu'elle est terminée quand on en parle à celui qui m'a donné la quête.

Cela ne marchant pas, j'ai regardé des tutoriaux qui proposaient de donner un dialogue au donneur de quête qui testerait la Variable Globale 1. Si elle était à 9, alors je pouvais dire que j'avais terminé la quête et recevoir ma récompense, et la quête sera marquée comme Terminée dans mon journal de quête.
Et ça ça marche ! Effectivement la variable est à 9 et je peux terminer la quête de cette façons.

Il n'empêche que j'aimerais arriver à l'état 3 de la quête, et que ce soit indiqué dans mon journal. Pour l'instant je passe directement de Acceptée (quand je prend la quête) à Terminée/Rayée (quand je le dis au NPC). Mais rien n'est indiqué quand j'ai supprimé les 9 bestioles !

Voici mon script attaché à la mort des bestioles :

0. Global Variable 1 = Global Variable 1 + 1
1. If Global Variable 1 = 9
THEN set PC Player quest 1001 to state 3
2. return and RUN default

La quête est bien la 1001, j'en suis certain. Donc qu'est-ce qui cloche ?

pofman
Posts: 53
Joined: Sun Aug 11, 2002 2:00 am

Post by pofman »

si tu regarde bien quand tu joue quand ta quete
est censée passer au stade 3 l'icone de ton journal va devenir rouge (indiquant que quelque chose y a été modifié) donc la quete a bien changée de stade mais il n'y aucun changement visuel dans le journal.
Chez moi aussi ca fait ca et en y reflechissant je me souvient plus d'avoir vu dans le journal une quete au stade 3 quand j'ai joué a arcanum, je pense que ca ne sert qu'au createur de module.

Le Jedi Fou
Posts: 59
Joined: Tue Apr 08, 2003 2:00 am
Location: Rennes

Post by Le Jedi Fou »

Effectivement ça le fait, mais il n'y a rien dans le journal des quêtes qui indique cela. Moi non plus je ne suis pas sur qu'il y ai une différence dans le jeu entre Achevée et Completée dans le journal, mais la documentation a l'air de le dire.

Dans Eventscripts.doc:
Achieved : the PC has achieved the goal of the quest, but has to return to the NPC to report it
Completed : the PC has finished the quest by achieving and reporting the goal

Dans ARCANUM REFERENCE SHEET.doc:
3 Completed Not Reported
4 Completed

Dans tous les cas je suis quasiment certain que le test qu 1001 3 pour un des dialogues ne marche pas, alors que j'ai bien tué toutes les bestioles (et que l'icone du journal s'est allumée). J'ai été obligé de passer par le test sur la variable globale.
Bon je vais refaire un essai et je vous dirai cela.

triblonto
Chasseur de ténèbres
Chasseur de ténèbres
Posts: 1029
Joined: Tue Jan 08, 2002 1:00 am
Location: Bordeaux
Contact:

Post by triblonto »

J'espère que ton module avance bien, comme celui de Mr Mick et que tu nous le proposeras bientôt. Si tu pouvais nous donner son degrè d'achèvement, ça nous aiderait à espérer. Merci.

_________________
http://arcanumlab.free.fr
Aides à la création de modules

<font size=-1>[ Ce Message a été édité par: triblonto le 2004-01-23 12:24 ]</font>

Le Jedi Fou
Posts: 59
Joined: Tue Apr 08, 2003 2:00 am
Location: Rennes

Post by Le Jedi Fou »

A ce point là ? :D
En fait je fais un tout petit module pour tester mes capacités à créer. C'est celui que je t'avais envoyé il y a un bout de temps (mais cela n'a pas marché apparement), sur lequel je me suis remis il y a quelques jours, et que j'essaye de terminer bien proprement.
Il n'y a que 2 petites zones, j'ai fini tous les graphismes et là je m'occupe de faire les dialogues et les quêtes. Tout dépend vraiment de l'investissement que j'y met, mais je ne me vois pas l'héberger avant au moins 2 semaines.
Même s'il est court j'espère qu'il vous plaira :)

Le Jedi Fou
Posts: 59
Joined: Tue Apr 08, 2003 2:00 am
Location: Rennes

Post by Le Jedi Fou »

Ok donc j'ai remis le test sur le qu 1010 3 et finalement ça marche :) Je sais pas pourquoi ça n'avait pas marché la première fois, mais maintenant c'est niquel.

Pour le reste du module, il me reste 2 quêtes à faire, et 3 dialogues entiers.

PS : j'aimerais que mon personnage obtienne l'autorisation d'un NPC pour dormir dans un lit. Vous avez une idée ? Apparement il faut utiliser le script 1893 sur le Use pour que le lit soit utilisable, mais moi j'aimerais qu'on ai d'abord l'autorisation (après une quête).

Le Jedi Fou
Posts: 59
Joined: Tue Apr 08, 2003 2:00 am
Location: Rennes

Post by Le Jedi Fou »

Bon j'ai trouvé une action qui pourrait convenir dans les scripts.

change script attached to (obj) at point (num) to script (num)

Malheureusement:
1- Je ne sais pas quoi choisir à la place de (obj) vu que ce script sera attaché à un NPC. Si je choisis Local Object ou Extra Object, je ne peux mettre qu'un nombre à 1 chiffre, alors que mon lit est référencé en tant qu'objet 1801. Comment cibler le lit?
2- Je ne sais pas quoi mettre pour le point (num). Je sais que je dois mettre le n° du point d'attachement correspondant, à savoir Use. Mais quel est son n° ? Je ne l'ai pas retrouvé dans la doc

Merci de votre aide.

Le Jedi Fou
Posts: 59
Joined: Tue Apr 08, 2003 2:00 am
Location: Rennes

Post by Le Jedi Fou »

Bon ça fait 4 messages à suivre, désolé, mais j'ai trouvé la réponse tout seul.
En fouillant plus à fond dans les différents documents explicatifs j'ai vu que Use avait le code 1.
Et au lieu de déclencher le script par le dialogue du NPC je l'ai déclenché sur le lit lui même.

Pour cela j'ai fait un script intermédiaire que j'ai attaché au point Examine (j'ai essayé de le mettre sur Use mais ça ne marchait pas), qui a la bonne idée d'être utilisé à chaque fois avant Use :)

1. IF quest 1001 in global state 4
THEN change script to Attachee at point 1 to script 1893
ELSE Return and SKIP default

Et voilà, donc à chaque fois que je met mon curseur sur le lit (sans cliquer), il vérifie l'état de la quête 1001. Si elle est achevée, il place le script 1893 sur le point Use du lit. Ce script sert à pouvoir utiliser un lit pour y dormir.

En même temps je me suis intéressé aux Réputations et j'ai pu rajouter un exemple dans mon module.

Post Reply