Structure

Les trajets FlatyBot sont basés sur le langage de développement LUA.

Les tutoriels que vous allez suivre sont adaptés à votre niveau en informatique. En effet, nous considérons que vous n'avez jamais programmé quoi que ce soit dans votre vie. N'ayez pas peur, et lisez attentivement nos explications !😁

Les questions bêtes n'existent pas. Rejoignez notre discord pour obtenir une réponse d'un membre de la communauté !

Tout d'abord, vous allez avoir besoin d'une structure de base afin de faire votre trajet.

Comment éditer un fichier LUA ?

Afin d'éditer le fichier, vous devez utiliser un logiciel de traitement de texte adapté. En effet, le bloc-note de Windows n'est pas suffisant !

Nous vous recommandons l'utilisation de Notepad++. Lorsque vous l'avez téléchargé, il vous suffira de faire un clique droit sur le fichier base.lua et de cliquer sur Edit with Notepad++.

Commentons les commentaires

Avant toute chose, vous devez savoir qu'il existe des commentaires en LUA. Les commentaires commencent toujours pas deux tirets (voir l'image ci-dessous). Notepad++ colorie en vert les commentaires pour plus de lisibilité.

Les commentaires permettent d'indiquer à FlatyBot qu'il faut ignorer la ligne lors de la lecture du fichier. Ils sont très utiles pour mettre de côté certaines lignes du trajet ou pour ajouter des explications sur le code.

Paramètres du trajet

Chaque trajet possède des paramètres, des options, qui peuvent être modifiées comme vous le souhaitez. Les paramètres sont facultatifs. Lorsqu'un paramètre n'est pas présent, sa valeur par défaut est utilisée.

Options

Descriptions

Valeurs

Défaut

MIN_MONSTERS

nombre minimum de monstres dans un groupe de combat

[1:8]

0

MAX_MONSTERS

nombre maximum de monstres dans un groupe de combat

[1:8]

8

MIN_MONSTERS_LEVEL

niveau minimum du groupe de monstre

[1:+∞]

1

MAX_MONSTERS_LEVEL

niveau maximum du groupe de monstre

[1:+∞]

+∞

FORBIDDEN_MONSTERS

liste des monstres qui ne doivent pas être présents en combat

Liste de monstres

Aucun

MANDATORY_MONSTERS

liste des monstres qui doivent être présent en combat

Liste de monstres

Aucun

MAX_PODS

pourcentage de pods dans l'inventaire nécessaire afin de retourner en banque

[1:100]

90

ELEMENTS_TO_GATHER

liste des ressources qui doivent être récoltées

Liste de ressources

Toutes

AUTO_DELETE

liste des objets qui doivent être obligatoirement supprimés

Liste d'objets

Aucun

Certains paramètres utilisent des listes. Ces listes sont disponibles dans l'article « Identifiants ».

Vous me donnez l'impression que ce n'est pas encore très clair pour vous... Comme je suis clairvoyant, voici un petit exemple pour vous aider !😉

-- Attaquer les groupes de 2 à 7 monstres
MIN_MONSTERS = 2
MAX_MONSTERS = 7
-- Attaquer les monstres de niveau 25 à 500
MIN_MONSTERS_LEVEL = 25
MAX_MONSTERS_LEVEL = 500
-- Liste des monstres qu'on ne veut SURTOUT PAS affrontrer...
FORBIDDEN_MONSTERS = {
43, -- Tofu
52, -- Arakne
54, -- Chafer
}
-- Comme vous pouvez le voir ici, il faut ajouter une virgule après chaque
-- nouveau monstre.
-- Liste des monstres qu'il faut À TOUT PRIX y avoir...
MANDATORY_MONSTERS = {
36, -- Bouftou
}
-- Retour en banque (et suppression automatique) lorsque l'inventaire est
-- rempli à 90%
MAX_PODS = 90
-- Liste des ressources à récolter...
ELEMENTS_TO_GATHER = {
1, -- Frêne
8, -- Chêne
28, -- If
}
-- Comme vous pouvez le voir ici, il faut ajouter une virgule après chaque
-- nouvelle ressource.
-- Liste des objets à supprimer lorsque l'on atteint le MAX_PODS
AUTO_DELETE = {
303, -- Bois de Frêne
460, -- Bois de Chêne
461, -- Bois d'If
}
-- Comme vous pouvez le voir ici, il faut ajouter une virgule après chaque
-- nouvel objet.
-- Peut-être l'avez vous remarqué, mais les identifiants de ELEMENTS_TO_GATHER et
-- AUTO_DELETE sont différents alors qu'il s'agit de la même ressource !
-- En effet, le jeu fait une différence entre un objet À RECOLTER (comme
-- l'arbre Frêne), et un objet DANS VOTRE INVENTAIRE (le Bois de Frêne).

Fonctions

Les fonctions sont des parties de code qui peuvent être appelées et qui doivent la plupart du temps réaliser une tâche bien précise.

Nous n'allons pas nous attarder sur leur utilité et leur utilisation, puisque ce guide n'a pas pour objectif de vous apprendre à programmer. Les plus vétérans d'entres-vous verront les fonctions de manière plus approfondie un peu plus tard dans le cours.🧐

FlatyBot utilise 4 fonctions dans votre trajet. À chaque changement de carte, l'une de ces quatre fonctions est appelée.

  • La fonction bank est appelée lorsque le pourcentage de pods dans l'inventaire du bot est supérieur à la valeur du paramètre FULL_PODS.

  • La fonction phoenix est appelée lorsque le bot est en mode fantôme (il n'a plus d'énergie...).

  • La fonction lost est appelée lorsque le bot est perdu.

  • La fonction move est appelée lors que les 3 autres fonctions ne sont pas appelées.

Plutôt que de faire une fonction phenix, peut-être serait-il plus judicieux de chercher à comprendre pourquoi votre bot meurt autant de fois... Utilisez la fonction phenix qu'en dernier recours.

Vous semblez encore une fois douteux... Voici un petit exemple pour vous aider.😎

function move()
-- Appelée à chaque changement de carte, lorsque les autres fonctions
-- n'ont pas été appelées.
--
-- On mettra là-dedans les déplacements, récoltes, combats, etc...
end
function bank()
-- Appelée à chaque changement de carte lorsque le bot est en FULL_PODS.
--
-- On mettra là-dedans le chemin à prendre pour rejoindre la banque la
-- plus proche ou une maison.
end
function phoenix()
-- Appelée à chaque changement de carte lorsque le bot est en fantôme.
--
-- On mettra là-dedans le chemin vers le phoenix le plus proche.
end
function lost()
-- Appelée à chaque changement de carte lorsque le bot est perdu.
--
-- Son utilisation est un peu plus étrange, nous verrons des cas
-- d'applications un peu plus tard...
end

Maintenant que vous avez compris la structure de base des trajets, nous allons voir ensemble ce que nous pouvons ajouter dans les fonctions. Rendez-vous au prochain article intitulé « Actions ».