Hey ! :p je vient vous présenter un petit script qui lit un fichier de trajet non pas ligne par ligne mais juste se qu'il faut
ex: mon bot c que je suis en map [5,-22] sur une récolte il ne vas pas lire la première ligne en se disant je vais en bas mais va trouver le menu récolte et exécuter l'action par rapport au coordonner :p ( normalement bien commenter je ne suis point sur ;) )
Ex de Trajet
Banque
[5,-24] bas
[5,-23] bas
[5,-22] bas
[5,-21] bas
[5,-20] bas
[5,-19] bas
[5,-18] bas
[5,-17] bas
[5,-16] gauche
Retours
[4,-16] droite
[5,-16] haut
[5,-16] haut
[5,-17] haut
[5,-18] haut
[5,-19] haut
[5,-20] bas
[5,-21] haut
[5,-22] haut
[5,-23] haut
Recolte
[5,-24] droite
[5,-23] haut
[5,-22] gauche
[5,-21] bas
Ex D'Utilisation : je ne vous donne pas tout pour l'inclure dans votre bot il faudra chercher par vous même comment l'inclure et l'utiliser
;||||||||||||||||||||||||||||Includes||||||||||||||||||||||||||
#include <file.au3>
;|||||||||||||||||||||||||||Variables||||||||||||||||||||||||||
Dim $DirDeplacement ;declare le tableau -> $DirDeplacement pour stocker par la suite les coordoner de la map puis la destination
Global $map = "[5,-22]" ;trouver l'action sur cette map dans le fichier "test.txt"
Dim $array ;declare un tableau
Local $trouve=False ;initialise la variable -> $trouve sur False
;|||||||||||||||||||||||||||||Codes||||||||||||||||||||||||||||
If _FileReadToArray(@ScriptDir&"\test.txt",$array) Then ;Stocke chaque ligne dans le tableau $array declarer juste avant
For $i=1 To $array[0] ;lit ligne par ligne le fichier ;$array[0] est égale au nombre de ligne du fichier "test.txt"
If StringInStr($array[$i],"Recolte") Then ;Si dans $array[$i] il y a "Recolte" alors execute le code si dessou remplacer Recolte par la balise voulu ex: Retours,Banque
$trouve=True ;On change la variable $trouve sur True
Else ;Sinon execute le code suivant
If $array[$i]="" And $trouve Then ;Si tu tombe sur une ligne vide --> $array[$i]="" et que $trouve = True alors execute sa
ExitLoop ;Sort de la boucle
ElseIf $trouve And StringInStr($array[$i],$map) Then ;Sinon Si $trouve = True et que il y a [5,-20] dans $array[$i] alors
Local $DirDeplacement = StringSplit($array[$i], " ") ;Divise la phrase trouver a chaque espace et stocke la dans le tableau ex :
;[5,-20] bas = $DirDeplacement[1]= [5,-20] et $DirDeplacement[2]= bas
MsgBox(0,"","Direction --> "&$DirDeplacement[2]&" | en map --> "&$map) ;MSGBOX qui dit "aller bas en map [5,-20] ou alors remplacer sa et appeler votre func de déplacement
EndIf
EndIf
Next
Else
MsgBox(64,"erreur","erreur de lecture du fichier") ;Si ya un Pb la MSGBOX renvoit une erreure
EndIf