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_LEVEL

niveau minimum du groupe de monstre

[1:+∞]

1

MAX_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

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

pageIdentifiants

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_LEVEL = 25
MAX_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 ».

DerniĂšre mise Ă  jour