Skip to main content

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.

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.

Script de combat complet

Voici un exemple de script de combat avec gestion des sorts et des déplacements.

Conseils pour écrire de bons scripts

Commencez simplement. Écrivez d’abord un script minimal qui fonctionne, puis ajoutez des fonctionnalités progressivement. Déboguer un script de 20 lignes est bien plus facile qu’un script de 200 lignes.
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.
N’oubliez pas les bonnes pratiques d’anti-détection. Un script techniquement parfait qui se comporte de manière suspecte entraînera quand même un bannissement.