Advertisement
flypip

Flydofus (bot dofus)

Nov 23rd, 2011
788
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 9.55 KB | None | 0 0
  1. ;==================== Début du script ====================
  2.  
  3. ; On initialise les variables en Global pour quelles puissent garder leur valeur dans toutes les fonctions :
  4.  
  5. Global $Coord[2] ; On créé un tableau à 2 dimensions pour stocker les coordonnées de la ressource détectée plus bas.
  6.  
  7. Global $Compteur ; On créé un compteur pour stocker le nombre de fois que l'on envoie la commande pour couper la ressource.
  8.  
  9. Global $CompteurPods ; Idem que plus haut mais cette fois ci c'est pour stocker le nombre de fois que l'on coupe la ressource.
  10.  
  11. Global $Phrases ; On initialise la variable pour ensuite lui assigner une valeur au hasard.
  12.  
  13. $Compteur = 0 ; On assigne la valeur du compteur à 0.
  14.  
  15. ;-------------------------------------------------------------------------------
  16. ;                           Raccourcis claviers
  17. ;-------------------------------------------------------------------------------
  18.  
  19. HotKeySet("{ESC}", "pause") ; On assigne la fonction Bye (Pour quitter) à la touche 'Echap'
  20.  
  21. ;-------------------------------------------------------------------------------
  22. ;                               Ouvre Dofus
  23. ;-------------------------------------------------------------------------------
  24. WinActivate('hinatea')
  25.  
  26. ;-------------------------------------------------------------------------------
  27. ;                            S'occupe de faucher
  28. ;-------------------------------------------------------------------------------
  29.  
  30. Fauchage() ; On appelle (lance) la fonction Fauchage.
  31.  
  32. Func Fauchage() ; On déclare la fonction.
  33.  
  34.     $SpleepTime = Random(2500, 3000, 1) ; On assigne à la variable SleepTime une valeur prise au hasard entre 11000 et 14000. Le 1 après la virgule sers à ca qu'on n'ai pas des nombres à virgules, entiers donc.
  35.  
  36.     If $Compteur = 50 Then ; Si le Compteur est égal à 15, les commandes qui suivent s'exécutent. Cela va servir pour écrire une des phrases du bas à la 15e tentative de fauche.
  37.  
  38.         $Phrases = Random(1, 5, 1) ; Idem qu'avec SleepTime mais cette fois ci avec une valeur en tre 1 et 5, cela serviras à écrire une des phrases du bas au hasard.
  39.  
  40.         MouseClick("left", 230, 860) ; On clique-gauche (Left) aux cordonées 87, 728 ce qui correspond à la barre
  41.  
  42.         If $Phrases = 1 Then Send("tu est lvl combien ?")
  43.         If $Phrases = 2 Then Send("je suis lvl 100 paysan", 1)
  44.         If $Phrases = 3 Then Send("paysans c'est facile", 1)
  45.         If $Phrases = 4 Then Send("je suis aussi boulanger 100", 1)
  46.         If $Phrases = 5 Then Send("ZZZzzzZZZzzzZZZzzzZZZzzzZZZzzz...ZZZ!", 1)
  47.  
  48.         Sleep(2000) ; On attend 2sec (2000 millisecondes)
  49.  
  50.         Send("{ENTER}") ; On appuie sur Entrée
  51.  
  52.         $Compteur = 0 ; On remet le compteur à zéro
  53.  
  54.     EndIf ; Faut t'il vraiment l'expliquer ?... On ferme le If.
  55.  
  56.     $Coord = PixelSearch(0, 0, @DesktopWidth, @DesktopHeight, 0xF6E13C, 1)
  57.     ; Ici on recherche la couleur du Blé (0xFEE415) est on stocke ses coordonnées dans la variable $Coord. Les coordonnés seront stockées dans $Coord[0] et $Coord[1]. Pour plus d'infos, voir ici.
  58.  
  59.     If Not @error Then ; On vérifie si la couleur a bien été trouvée.
  60.  
  61.         $Compteur = $Compteur + 1 ; On ajoute 1 au compteur.
  62.         $CompteurPods = $CompteurPods + 1 ; Idem
  63.         MouseMove($Coord[0], $Coord[1], 1) ; On déplace la souris sur les coordonnées de la ressource, le 1 sers à déplacer instantanément la souris?
  64.         $Color = PixelGetColor($Coord[0], $Coord[1]) ; On récupère la couleur sous la souris.
  65.         Hex($Color, 6) ; On la convertie en Hexadécimal
  66.         If Not $Color = "E7D85C" Then Verif() ; Si la couleur sous le curseur n'est pas celle d'une ressource en surbrillance, coupable donc, on lance la fonction Verif().
  67.         MouseClick("left", $Coord[0], $Coord[1], 1) ; On clique sur la ressource.
  68.         Sleep(500) ; On attend 0,5secs.
  69.         MouseMove($Coord[0] + 10, $Coord[1] + 30, 1) ; On déplace la souris sur les coordonnées de faucher (Qui est égale aux coordonnées de la ressource + 30), la commande se met en subrillance (Orange)
  70.         $Color = PixelGetColor($Coord[0] + 10, $Coord[1] + 30) ; On récupère la couleur à l'endroit où est normalement faucher.
  71.         Hex($Color, 6) ; On convertit la couleur.
  72.         If Not $Color = "FF6600" Then Verif() ; Si ce n'est pas la couleur de la commande Faucher en surbrillance on lance la fonction Verif().
  73.         MouseClick("left", $Coord[0] + 10, $Coord[1] + 30, 1) ; On clique sur Faucher.
  74.        
  75.  
  76.         Sleep($SpleepTime) ; Enfin, on attends le temps calculé au hasard plus haut avant de lancer la Fonction Verif() qui vérifiera si un combat est lancé, une demande d'échange/invitation dans un groupe affiché, un message de lvl supérieur affiché,... Etc. Puis Verif() relanceras la fonction de Fauchage.
  77.  
  78.     EndIf
  79.      verif(); On lance la fonction Verif.
  80.  
  81. EndFunc   ;==>Fauchage
  82.  
  83.  
  84. ;-------------------------------------------------------------------------------
  85. ;                     La fameuse commande Verif()
  86. ;-------------------------------------------------------------------------------
  87.  
  88. Func Verif()
  89.  
  90.     While 1 ; On créé une boucle infini, cela répète donc à l'infini tout ce qu'il y a entre While et Wend (Pour fermer la boucle).
  91.  
  92.         $Combat = PixelGetColor(765, 780) ; Récupère la couleur qui se trouve en 593 (Axe de la hauteur), 610 (Axe de la largeur), si un combat est lancé, la couleur est Orange.
  93.         $Combat = Hex($Combat, 6)
  94.  
  95.        
  96.  
  97.         If $CompteurPods = 10 Then ; On vérifie si le compteur de nombres de fois que l'on a coupé des ressources est égal à 10.
  98.             $CompteurPods = 0 ; Si c'est le cas, on remet le compteur à zéro.
  99.             MouseClick("left", 895, 855, 1, 1) ; On clique sur le bouton pour ouvrir l'inventaire. Note : Pour cliquer il n'est pas nécessaire de déplacer le curseur avant, nous l'avons fait en haut pour vérifier si la ressource était fauchable.
  100.             Sleep(2000) ; On attend 2sec, le temps que l'inventaire s'ouvre.
  101.             $Pods = PixelGetColor(676, 330) ; On récupère la couleur qui se trouve à l'endroit qui indique que l'inventaire est presque plein.
  102.             $Pods = Hex($Pods, 6)
  103.             If $Pods = 'FF6600' Then Call("Inventaireplein") ; On lance la fonction Inventraireplein si la couleur est Orange (la couleur de la barre de progression). Note : On indique que l'inventaire est plein alors que ce n'est pas le cas car on vérifie l'inventaire seulement tous les 10 tours, et l'inventaire peut se remplir en 3 tours minimum... Pas la peine de prendre le risque de se faire griller par un modo en fauchant alors que son inventaire est plein... ;)
  104.             $Pods = PixelGetColor(1080, 720) ; On recupère la couleur à l'endroit qui indique si l'inventaire EST plein. Car si l'utilisateur à lancé le bot alors que son inventaire est presque plein...
  105.             $Pods = Hex($Pods, 6)
  106.             If $Pods = '0xA20202' Then Call("Inventaireplein") ; On lance la fonction Inventaireplein... si l'inventaire est plein.
  107.             MouseClick("left", 1200, 95, 1, 1) ; On clique sur fermer.
  108.             Sleep(1000) ; On attend 1sec, le temps que l'inventaire se ferme.
  109.         EndIf ; On ferme le If.
  110.  
  111.         If $Combat = '457CB0' Then Call("Fauchage") ; On teste si la couleur récupérée plus haut n'est pas celle qui indique un combat... (En fait on teste si le compteur pour cliquer sur 'Prêt' défile ou pas). Si le compteur ne défile pas, c'est qu'il n'y a pas de combats.
  112.         If $Combat = 'FF6100' Then Call("Bip") ; On teste si la couleur récupérée plus haut est celle qui indique un combat... (En fait on teste si le compteur pour cliquer sur 'Prêt' défile ou pas). Si le compteur défile, c'est qu'il a un combat. On lance la fonction Bip().
  113.        
  114.        
  115.         If Not @error Then Call("Bip") ; Si la couleur est présente, on lance la fonction Bip().
  116.         Sleep(100) ; On attend 0,1 secondes.
  117.         Call("Fauchage") ; Si on arrive la, c'est que tout va bien : Pas de combats, échanges, demande de guilde, de groupe... On lance donc la fonction Fauchage().
  118.     WEnd
  119. EndFunc   ;==>Verif
  120.  
  121. ;-------------------------------------------------------------------------------
  122. ;                     S'occupe du passage au niveau sup.
  123. ;-------------------------------------------------------------------------------
  124.  
  125.  
  126.  
  127.  
  128. ;-------------------------------------------------------------------------------
  129. ;   S'occupe d'afficher un message quand l'inventaire est plein
  130. ;-------------------------------------------------------------------------------
  131.  
  132. Func Inventaireplein()
  133.     MouseClick("left", 944, 86, 1, 1) ; On clique sur la croix de l'inventaire pour le fermer.
  134.     MsgBox(48, '"Fauche-Blé"', "Inventaire plein ! ") ; On affiche un message pour prevenir que l'inventaire est plein. Une fois que l'utilisateur cliquera sur Ok de la MsgBox, on passera à la commande suivante.
  135.     ; Note : Pour plus d'infos, voir ici. Ou tout en bas.
  136.     bip()
  137. EndFunc   ;==>Inventaireplein
  138.  
  139. ;-------------------------------------------------------------------------------
  140. ;                              S'occupe du BIP
  141. ;-------------------------------------------------------------------------------
  142.  
  143. Func Bip()
  144.  
  145.  
  146.     ;Beep('Fréquence en hertz', Temps (en millisecondes) )
  147.  
  148.     Beep(349 * 2, 500)
  149.     Beep(262 * 2, 500)
  150.     Beep(349 * 2, 500)
  151.     Beep(262 * 2, 500)
  152.     Beep(294 * 2, 500)
  153.     Sleep(10000)
  154.     Beep(349 * 2, 500)
  155.     Beep(262 * 2, 500)
  156.     Beep(349 * 2, 500)
  157.     Beep(262 * 2, 500)
  158.     Beep(294 * 2, 500)
  159.     Sleep(10000)
  160.     Beep(349 * 2, 500)
  161.     Beep(262 * 2, 500)
  162.     Beep(349 * 2, 500)
  163.     Beep(262 * 2, 500)
  164.     Beep(294 * 2, 500)
  165.  
  166.     Fauchage()
  167.  
  168. EndFunc   ;==>Bip
  169.  
  170. ;-------------------------------------------------------------------------------
  171. ;                                         Quitter
  172. ;-------------------------------------------------------------------------------
  173.  
  174. Func Bye()
  175.     While True
  176.         sleep(1000)
  177.         HotKeySet('6',"Fauchage")
  178.     WEnd
  179. EndFunc   ;==>Bye
  180.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement