Introduction
Les scripts Lua sont au cœur de l’automatisation dans dotouch-emu. Avec plus de 310 méthodes réparties dans une dizaine de catégories, vous pouvez automatiser pratiquement tous les aspects du jeu : déplacement, combat, récolte, quêtes, échanges, craft, achat/vente à l’hôtel des ventes, et bien plus encore. Ce guide vous accompagne de la découverte du langage Lua jusqu’à l’écriture de vos premiers scripts fonctionnels. Que vous soyez débutant en programmation ou développeur expérimenté, vous trouverez ici les bases pour commencer efficacement.Langage Lua
Lua est un langage de script léger, rapide et facile à apprendre. Voici les concepts fondamentaux dont vous aurez besoin.Variables et types
Variables et types
Conditions
Conditions
Boucles
Boucles
Fonctions
Fonctions
Structure d’un script
Un script dotouch-emu suit une structure logique simple. Voici un exemple annoté illustrant les principaux éléments.La fonction
delay(ms) est indispensable entre les actions. Elle attend le nombre de millisecondes spécifié et simule le temps de réaction d’un joueur humain. Ne chaînez jamais des actions sans délai.Catégories de méthodes
dotouch-emu expose plus de 310 méthodes organisées en catégories. Chaque catégorie correspond à un aspect du jeu.Navigation
35 méthodes pour le déplacement, les changements de carte, la récolte, la détection de monstres et la navigation sur la carte du monde.
Combat
50+ méthodes pour gérer les combats : lancer des sorts, se déplacer, cibler des ennemis, gérer les placements et les invocations.
Personnage
20+ méthodes pour accéder aux informations du personnage : santé, niveau, statistiques, position, métiers et état actuel.
Inventaire
29 méthodes pour gérer l’inventaire : utiliser, équiper, déplacer et supprimer des objets, vérifier le poids et les quantités.
Global
50+ méthodes utilitaires : délais, mémoire persistante, journalisation, gestion du temps, conditions avancées et variables globales.
PNJ
Interagir avec les PNJ : ouvrir des dialogues, répondre, ouvrir la banque, acheter et vendre.
Hôtel des ventes
Acheter et vendre des objets aux hôtels des ventes, gérer les prix et les quantités.
Quêtes
Suivre et accomplir des quêtes, vérifier les objectifs et les conditions de progression.
Chat
Envoyer et recevoir des messages sur les différents canaux de chat du jeu.
Craft
Automatiser les recettes de craft : ouvrir un atelier, sélectionner une recette et fabriquer en boucle.
Monture
Gérer les montures et les familiers : monter, démonter, nourrir et accéder aux informations.
Mode développeur
30+ méthodes avancées pour le débogage, l’inspection des paquets réseau et le développement de scripts complexes.
Patterns courants
Voici les patterns de programmation que vous utiliserez le plus souvent dans vos scripts.Vérifier avant d’agir
Le pattern le plus basique : vérifier une condition avant d’effectuer une action.Itérer sur des objets
Parcourir une liste d’objets pour effectuer une action sur chacun.Persistance entre les exécutions
Sauvegarder et lire des données entre les exécutions de script grâce aux fonctions de fichier.Délais variables
Ajouter de l’aléatoire aux délais pour simuler un comportement humain.Script de récolte complet
Voici un exemple de script de récolte complet avec gestion du poids, de la santé et retour automatique à la banque.Voir le script complet
Voir le script complet
Script de combat complet
Voici un exemple de script de combat avec gestion des sorts et des déplacements.Voir le script de combat
Voir le script de combat
Conseils pour écrire de bons scripts
1
Utiliser des variables de configuration
Regroupez toutes les valeurs modifiables (identifiants d’objets, seuils, délais) en haut du script. Cela facilite les ajustements sans avoir à chercher dans le code.
2
Toujours ajouter des délais
Ne déclenchez jamais deux actions consécutives sans un
delay() entre elles. Utilisez math.random() pour varier les délais et simuler un comportement humain.3
Gérer les cas d'erreur
Vérifiez toujours qu’une action est possible avant de l’exécuter. Par exemple, vérifiez qu’un objet existe dans l’inventaire avant de l’utiliser.
4
Tester étape par étape
Testez chaque partie de votre script individuellement avant de tout assembler. Utilisez
print() pour afficher des informations de débogage.5
Consulter la documentation de l'API
Chaque méthode est documentée avec ses paramètres, ses valeurs de retour et des exemples. Consultez les pages API pour découvrir toutes les possibilités.