quest

Exemple de script pour la réalisation d'une quête

Dans Dofus, chaque quête contient des étapes, et chaque étape contient plusieurs objectifs qu'il faut accomplir.

L'idée ici de décomposer la réalisation des quêtes : un script pour chaque objectif.

1. La structure de notre script :

  • main.lua : c'est le cerveau, vous lui donnez l'identifiant d'une quête QUEST_ID, il déterminera l'étape STEP_ID, et le premier objectif OBJECTIVE_ID qu'il faut accomplir dans cette étape, puis il va essayer de charger le script qui va s'occuper d'accomplir l'objectif, dont le chemin est sous la forme :

"LE_DOSSIER_OU_SE_TROUVE_main.lua/Quests/QUEST_ID/STEP_ID/OBJECTIVE_ID.lua"
  • headers.lua : contient des fonctions qui seront incluses dans chaque script d'objectif.

2. Script d'objectif OBJECTIVE_ID.lua :

  • Contient la variable OBJECTIVE_MAPS qui doit contenir toutes les cartes par lesquelles votre bot va passer pour valider l'objectif. (vous pouvez la laisser vide OBJECTIVE_MAPS = { }).

  • Au lancement le bot vérifie s'il se trouve dans l'une des cartes, sinon il se déconnecte immédiatement (Si OBJECTIVE_MAPS est vide, cette action sera ignorée).

  • Après chaque changement de carte, le bot vérifie s'il se trouve encore dans l'une des cartes, sinon il recharge et lance le script main.lua (Si OBJECTIVE_MAPS est vide, cette action sera ignorée).

  • Après chaque changement de carte, le bot revérifie si l'objectif n'a pas encore été validé, sinon il recharge et lance le script main.lua.

  • Toute ces vérifications citées en haut, se font dedans la fonction check() qui est définie dans headers.lua.

  • Après check(), c'est à vous de donner des instructions au bot afin qu'il puisse valider l'objectif (se déplacer à une carte, parler à un PNJ, combattre un monstre ...).

  • Lorsque vous validez un objectif dont la validation ne provoque pas un changement de carte, vous devez vous même recharger et lancer le script main.lua avec la ligne global:loadAndStart(MAIN_SCRIPT_PATH).

3. Exemple de script :

Description : Passages des quêtes de la zone Albuera jusqu'à atteindre Astrub.

Instructions :

  • Extraire le fichier .zip

  • Charger le script main.lua

  • Importer la configuration main.xml

  • (Facultatif) Exporter la configuration main.xml

  • Lancer le script.

Dernière mise à jour