[Autoit][Wakfu] PixelBot

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

neOwx

Membre
Dec 5, 2010
5
0
421
27
Salut à tous,

Voilà, je me suis lancé dans un petit bot pour récolter des ressources sur le jeu Wakfu. Alors, mon programme est "fonctionnelle" mais criblé de bug.

Je souhaite donc partagé mes sources afin que des connaisseurs puissent me conseiller ou l'améliorer si l'envie leur prend.

Version 0.1 :
Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.12.0
 Author:         neOwx

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

#Include <Misc.au3>


HotKeySet("{F1}", "PosR")
HotKeySet("{F2}", "PosA")
HotKeySet("{F4}", "Pause")
HotKeySet("{esc}", "Quit")

Global $Pos1[2]
Global $Pos2[2]
Global $PosA[2]
Global $PosR[2]
Global $Color
Global $Var = 0


TrayTip("PixelBot", "Ca fonctionera mieux si vous baissez la qualité !", 3000)
Sleep(3000)
TrayTip("PixelBot", "F1 pour enregistrer la ressource et F2 l'action. F4 pour mettre pause et F3 pour en sortir.", 5000)


While 1
	Sleep(50)
	If _IsPressed(72) Then
	   ExitLoop
   EndIf
WEnd


While 1
   Ressource ()
   $Color = PixelGetColor($PosR[0], $PosR[1])
   MouseMove($PosR[0], $PosR[1])
   MouseClick("right")
   Sleep(200)
   MouseMove($PosR[0] - $PosA[0], $PosR[1] - $PosA[1])
   MouseClick("left")
   $timer = TimerInit()
   Do
	  PixelSearch(0, 0, 1680, 1050, 0x00837F)
	  If Not @error Then $timer = 8000
	  Sleep(500)
   Until TimerDiff($timer) >= 8000
		 Sleep(3000)
   While 1
	  PixelSearch(0, 0, 1680, 1050, 0x00837F)
		 If @error Then Exitloop
			Sleep(800)
   WEnd

WEnd


Func PosR ()
   $Pos1 = MouseGetPos()
   TrayTip("PixelBot", "Eloignez votre souris, je vois mal la ressource !", 3000)
   Sleep(3000)
   $Color = PixelGetColor($Pos1[0], $Pos1[1])
   TrayTip("PixelBot", "Vous pouvez réenregistrez la ressource à tout moments.", 3000)
EndFunc


Func PosA ()
    $Pos2 = MouseGetPos()

    $PosA[0] = (($Pos1[0]) - ($Pos2[0]))
	$PosA[1] = (($Pos1[1]) - ($Pos2[1]))
	TrayTip("PixelBot", "J'ai compris ! Appuyer sur F3 pour que je me mette au travail.", 3000)
 EndFunc


Func Ressource ()
   While 1
	  $x = ($Pos1[0] - $Var)
	  $y = ($Pos1[1] - $Var)
	  $xx = ($Pos1[0] + $Var)
	  $yy = ($Pos1[1] + $Var)

   $PosR = PixelSearch($x, $y, $xx, $yy, $Color, 3)
		 If @error Then
			$Var = $Var + 30
		 Else
			TrayTip("PixelBot", "J'ai du travail !", 3000)
			$Pos1[0] = $PosR[0]
			$Pos1[1] = $PosR[1]
			ExitLoop
		 EndIf

		  If $Var > 2000 Then
			$Var = 0
			TrayTip("PixelBot", "Que dois-je faire ?", 3000)
			Sleep(5000)
		 EndIf
   WEnd
EndFunc


Func Pause ()
   TrayTip("PixelBot", "Enfin une pause...", 3000)
   Sleep(1000)
   While 1
	  Sleep(50)
	  If _IsPressed(72) Then
		 TrayTip("PixelBot", "Je m'y remet !", 3000)
		 Sleep(1000)
		 ExitLoop
	  EndIf
   WEnd
EndFunc


Func Quit ()
   Exit
EndFunc

Je n'ai pas commenter mon code (désoler), si vous rencontrer un problème, vous pouvez me demander.
 

el.badr

Nouveau membre
Mar 5, 2015
3
1
423
salut, est-ce que ça gère les combats ? j'ai crée pa mal de bots qui récolte N I MPORTE QUEL ressource, la coupe, recolter, couillir faucher etc. :v mais le capt'chat est tjrs si compliqué avec l'effet de brouillard, si vous avez une idée sur comment le contourner :3
 

TheHardButcher

Programmeur C/C++
V
Dec 14, 2009
1,461
58
964
France
salut, est-ce que ça gère les combats ? j'ai crée pa mal de bots qui récolte N I MPORTE QUEL ressource, la coupe, recolter, couillir faucher etc. :v mais le capt'chat est tjrs si compliqué avec l'effet de brouillard, si vous avez une idée sur comment le contourner :3

1. 11/11/2014 : GG tu remonte un poste de plus d'un an
2. T'es vraiment tellement à la bourre pour écrire de cette façon ?
3. Moins de 125 lignes de code, ça se lit rapidement, si tu as vraiment créer des bots, tu devrais en plus être capable de le comprendre.

Maintenant, pour tout de même répondre a ta première question : Non.
Sinon je ne connais pas Wakfu, mais l'effet de brouillard ça se gère en reconnaissant des formes, et les sécurité visuel aussi.