WizzBot 3
Après 2 programmes étant pas terrible, j'ai enfin décidé de reprendre le bot en main !
(Mais je vous avoue qu'un V4 sortira vu le nombre d'options à rajouter et un gui à refaire)
Donc Voici le WizzBot 3 !
Présentation :
Les WizzBot sont des PixelBot, ils utilisent (malheureusement) votre souris, mais sont inbannissable car ils reproduisent les mouvent d'une personne normal !
Cette dernière version marche sur une base de "Capture" du pixel de la ressource au niveau de la position mais aussi de la couleur !
Fonctionnalité :
- Récoltes (Si la couleur apparaît à l'endroit défini)
- Récoltes Inverse (Si la couleur disparaît)
- Avertissement de Combat (à définir sur la couleur verte de la croix en combat)
- Un système de Pods (Tout les X récoltes, on supprime !)
- Un système de Mémoire
Comment l'utiliser ? :
D'abord, décompressez l'archive possédant le WizzBot 3.exe, Pods.exe ainsi que Capture.exe dans un fichier que vous choisirez.
Maintenant, lancez le WizzBot 3.exe
Une fenêtre s'ouvre, la voici :
Explication :
F10 = Force Stop
1 : Voici l'option principal ! Ce bouton va vous ouvrir un programme (Capture.exe) qui va vous permettre de mettre dans un fichier, les positions des ressources ! Attention, il vous faut la couleur avec ! Donc si vous voulez le mode normal, capturez par exemple tous les bois des arbres présent sur la cartes. Mais si vous voulez le mode inversé, capturez la cimes de tous les arbres car si un arbre pousse, le pixel de la cime disparaîtra !
Ps : Quand vous avez appuyé sur le bouton capture, utilisez la touche C pour capturer les différentes ressources !
(Dans le programme Capture : Dans la barre avant d'appuyer sur "Capture", mettez le fichier que vous loaderez sur le "7", exemple : Bois ou Bois.txt)
2 : Ce bouton sert a mettre la couleur verte du rond de la croix "Abandonner" en combat pour détecter si vous êtes en combat ! Si oui, le bot vous le fera entendre !
(Lancez un combat contre des monstres pour prendre la couleur et la postion de la couleur verte)
3 : La pause vous sert à ne pas spammer ! (Vous pouvez utiliser le temps de récolte de votre métier) La pause de base est à 15sec !
4 : Ce bouton vous lancera le programme Pods.exe, un assistant est présent pour vous aider !
5 : Mode inversé, il va vous permettre au bot de cliquez sur le pixel si la couleur disparaît ! (Voir numéro 1)
6 : Cette case vous permettra d'activer la fonction de gestions de l'inventaire. (Attention, avec d'utiliser cette option, assurez vous d'avoir bien utilisé l'assistant grâce au bouton Pods)
7 : Ici vous rentrerez le ficher que vous avez créer grâce au bouton Capture (ex : Bois) Sans cela, le bot ne marchera pas du tout.
8 : Démarre le bot.
9 : Stop le bot.
Code Source :
Code:
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Mattahan-Umicons-Letter-W.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; ---- Includes ----
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Misc.au3>
#include <Date.au3>
; ---- Le GUI ----
$Form1 = GUICreate("WizzBot 3", 442, 168, 36, 20, -1, BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
$Tab1 = GUICtrlCreateTab(8, 8, 425, 153)
$TabSheet1 = GUICtrlCreateTabItem("WizzBot") ; Tab1 - Partie Bot
GUICtrlSetState(-1,$GUI_SHOW)
$Group1 = GUICtrlCreateGroup("WizzBot 3", 20, 41, 217, 105)
$Button5 = GUICtrlCreateButton("Start", 36, 113, 91, 25)
$Button6 = GUICtrlCreateButton("Stop", 132, 113, 91, 25)
$Input1 = GUICtrlCreateInput("", 36, 81, 121, 21)
$Label1 = GUICtrlCreateLabel("Bot ON", 164, 81, 53, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetState(-1, $GUI_HIDE)
$Label2 = GUICtrlCreateLabel("Bot OFF", 164, 81, 60, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Label3 = GUICtrlCreateLabel("Fichier Capture :", 40, 64, 81, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$TabSheet2 = GUICtrlCreateTabItem("Options") ; Tab2 - Partie Options
$Group2 = GUICtrlCreateGroup("Options", 20, 41, 401, 105)
$Button1 = GUICtrlCreateButton("Capture", 36, 81, 75, 25)
$Button2 = GUICtrlCreateButton("Pause (/s)", 116, 81, 75, 25)
$Button3 = GUICtrlCreateButton("Combat", 36, 113, 75, 25)
$Button4 = GUICtrlCreateButton("Pods", 116, 113, 75, 25)
$Button7 = GUICtrlCreateButton("PopUp", 196, 112, 75, 25)
$Checkbox1 = GUICtrlCreateCheckbox("Mode Inversé", 36, 57, 81, 17)
$Checkbox3 = GUICtrlCreateCheckbox("PopUp", 188, 57, 49, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Pods", 133, 57, 40, 17)
$Checkbox4 = GUICtrlCreateCheckbox("Combat", 256, 56, 57, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$TabSheet3 = GUICtrlCreateTabItem("Console") ; Tab3 - Partie Console
$Group3 = GUICtrlCreateGroup("Console", 16, 48, 409, 105)
$Edit1 = GUICtrlCreateEdit("", 32, 64, 241, 81, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN, $ES_READONLY))
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetData(-1, "")
$Label4 = GUICtrlCreateLabel("Nombre de Récoltes :", 288, 64, 107, 17)
$Edit2 = GUICtrlCreateEdit("", 296, 88, 81, 25, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN, $ES_READONLY))
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetData(-1, "")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
; ---- Variables ----
Global $Path ;Nom du fichier Capture
Global $BotOn = 0 ;Varriable On/Off du bot
Global $Line
Global $data[3]
Global $l = 1
Global $pause = "15000" ;Pause par défaut
Global $dataComb[3]
Global $boucle = 0, $boucleTotal = 0
; ---- Les PréDémarages ----
HotKeySet("{F10}", "stopBot")
GUICtrlSetData($Edit2, $boucleTotal)
_console("Lancement du Gui")
; ---- Boucle Principale ----
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
$BotOn = 0
Exit
Case $Button1 ;Bouton Capture
Run("Capture.exe")
_console("Capture.exe lancé")
Case $Button2 ;Bouton Pause
$pause = InputBox("WizzBot 3", "Combien de secondes dure la récolte ?")
$pause = $pause*1000
_console("Pause = " & $pause & "ms")
Case $Button3 ;Bouton Combat
ToolTip("Choissiez le pixel vert au niveau de la croix de combat en mettant le pointeur de la souris puis en appuyant sur la touche C !", 0,0)
HotKeySet("c", "RegComb")
Case $Button4 ;Bouton Pods
Run("Pods.exe")
_console("Pods.exe lancé")
Case $Button7 ;Bouton PopUp
_console("Assistant PopUp lancé")
PopUp()
Case $Button5 ;Bouton Start
GUICtrlSetState($Label2, $GUI_HIDE)
GUICtrlSetState($Label1, $GUI_SHOW)
GUICtrlSetState($Input1, $GUI_DISABLE)
If $BotOn = 0 Then
$BotOn = 1
_console("Bot : ON")
Else
$BotOn = 0
_console("Bot : OFF")
EndIf
Case $Button6 ;Bouton Stop
$BotOn = 0
GUICtrlSetState($Label2, $GUI_SHOW)
GUICtrlSetState($Label1, $GUI_HIDE)
GUICtrlSetState($Input1, $GUI_ENABLE)
_console("Bot : OFF")
EndSwitch
; ---- Démarage du Bot ----
If $BotOn = 1 Then ;Si la varriage est "ON" alors :
$Path = GUICtrlRead($Input1)
FileOpen($Path)
$Line = FileReadLine($Path, $l)
If @error Then ;Si on ne la trouve pas alors
$l = 1
$Line = FileReadLine($Path, $l)
EndIf
$data = StringSplit($Line, ";") ;On sépare ce qu'on à lu à la ligne "$l"
$GetColor = PixelGetColor($data[1], $data[2]) ;On regarde si le pixel de couleur est présent au coordonnées de $l
$CheckOn = GUICtrlRead($Checkbox1) ;On regarde si la case "Mode Inversé" est cochée
$PauseRandom = Random(1000, 3000)
If $CheckOn = $GUI_UNCHECKED Then
If $GetColor = $data[3] Then
_console("Récolte...")
MouseClick("Left", $data[1], $data[2], 1, 1)
Sleep($pause)
Sleep($PauseRandom)
$boucle = $boucle + 1
$boucleTotal = $boucleTotal + 1
GUICtrlSetData($Edit2, $boucleTotal)
_console("Récolte terminé")
EndIf
Else
If $GetColor = $data[3] Then
Else
_console("Récolte...")
MouseClick("Left", $data[1], $data[2], 1, 1)
Sleep($pause)
Sleep($PauseRandom)
$boucle = $boucle + 1
$boucleTotal = $boucleTotal + 1
GUICtrlSetData($Edit2, $boucleTotal)
_console("Récolte terminé")
EndIf
EndIf
Sleep(50)
FileClose($Path)
$Check4On = GUICtrlRead($Checkbox4) ;On regarde si la case "Combat" est cochée
If $Check4On = $GUI_CHECKED Then
FileOpen("Combat")
$LineComb = FileReadLine("Combat", 1)
$dataComb = StringSplit($LineComb, ";")
$GetColorComb = PixelGetColor($dataComb[1], $dataComb[2])
If $GetColorComb = $dataComb[3] Then
_console("Combat détecté !")
Alarme()
EndIf
FileClose("Combat")
EndIf
$Check3On = GUICtrlRead($Checkbox3) ;On regarde si la case "PopUp" est cochée
If $Check3On = $GUI_CHECKED Then
FileOpen("PopUp")
$LinePop = FileReadLine("PopUp", 1)
$dataPop = StringSplit($LinePop, ";")
$GetColorPop = PixelGetColor($dataPop[1], $dataPop[2])
If $GetColorPop = $dataPop[3] Then
$LinePop2 = FileReadLine("PopUp", 2)
$dataPop2 = StringSplit($LinePop2, ";")
MouseClick("Left", $dataPop2[1], $dataPop2[2])
_console("PopUp fermé !")
EndIf
FileClose("PopUp")
EndIf
$Check2On = GUICtrlRead($Checkbox2) ;On regarde si la case "Pods" est cochée
If $Check2On = $GUI_CHECKED Then
FileOpen("Pods")
$Nboucle = FileReadLine("Pods", 1)
If $boucle = $Nboucle Then
_console("Suppression en Cours...")
Pods()
EndIf
EndIf
$l = $l + 1 ;On change de ligne dans le fichier "Input1"
EndIf
WEnd ; Fin de la boucle principal
; ---- Les Fonctions ----
Func RegComb() ;Après appui sur le Bouton Combat
Local $PosComb = MouseGetPos()
Local $CouleurComb = PixelGetColor($PosComb[0], $PosComb[1])
FileDelete("Combat")
FileOpen("Combat")
FileWrite("Combat", $PosComb[0] & ";" & $PosComb[1] & ";" & $CouleurComb)
FileClose("Combat")
ToolTip("")
HotKeySet("c")
_console("Combat = " & $PosComb[0] & ";" & $PosComb[1] & ";" & $CouleurComb)
EndFunc
Func Alarme() ;L'alarme si un combat débute
Beep (400 *3,500)
Beep (400 *3,500)
Beep (400 *3,500)
sleep(500)
Beep (400 *3,500)
Beep (400 *3,500)
Beep (400 *3,500)
stopBot()
EndFunc
Func Pods() ;L'action de supprimer les Items
$Li = 2
While 1
$LinePods = FileReadLine("Pods", $Li)
If @error Then
$boucle = 0
_console("Suppréssion en terminé")
Return
EndIf
$dataPods = StringSplit($LinePods, ";")
MouseClick("Left", $dataPods[1], $dataPods[2])
Sleep(1000)
$Li = $Li + 1
WEnd
EndFunc
Func PopUp() ;Après appui sur PopUp
FileDelete("PopUp")
FileOpen("PopUp")
ToolTip("Mettez votre souris sur le noir de la PopUp, puis appuyez sur C, puis sur la Croix de la PopUp, et de nouveau C.", 0,0)
$BO = 0
While 1
If _IsPressed("43") Then
$PosPop = MouseGetPos()
$ColorPop = PixelGetColor($PosPop[0], $PosPop[1])
FileWriteLine("PopUp", $PosPop[0] & ";" & $PosPop[1] & ";" & $ColorPop)
$BO = $BO + 1
Sleep(1000)
EndIf
If $BO = 2 Then
FileClose("PopUp")
ToolTip("")
Return
EndIf
Sleep(50)
WEnd
EndFunc
Func stopBot() ;Stop du bot
$BotOn = 0
GUICtrlSetState($Label2, $GUI_SHOW)
GUICtrlSetState($Label1, $GUI_HIDE)
GUICtrlSetState($Input1, $GUI_ENABLE)
_console("Bot : OFF")
EndFunc
Func _console($Msg)
GUICtrlSetData($Edit1, "[" & _NowTime() & "] " & $Msg & @CRLF, 1)
EndFunc
Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Designbolts-Seo-Website-Optimization.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
; ----- Gui -----
$Form1 = GUICreate("WizzBot 3 Capture", 219, 134, 300, 220)
$Group1 = GUICtrlCreateGroup("", 16, 8, 185, 113)
$Button1 = GUICtrlCreateButton("Capture", 72, 88, 75, 25)
$Label1 = GUICtrlCreateLabel("Capture ON", 64, 32, 98, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x00FF00)
GUICtrlSetState(-1, $GUI_HIDE)
$Label2 = GUICtrlCreateLabel("Capture Off", 64, 32, 98, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$Input1 = GUICtrlCreateInput("", 48, 64, 121, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
; ---- Variable ----
Global $CaptureOn = 0 ;Variable qui défini si la capture est en marche
Global $Label1On = 0 ;Variable qui défini si le Label est On ou Off
Global $Color
Global $Pos[2]
Global $Path
; ---- Boucle ----
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
If $CaptureOn = 0 Then
$CaptureOn = 1
Else
$CaptureOn = 0
EndIf
EndSwitch
If $CaptureOn = 1 Then
If $Label1On = 0 Then
GUICtrlSetState($Label2, $GUI_HIDE)
GUICtrlSetState($Label1, $GUI_SHOW)
$Label1On = 1
$Path = GuiCtrlRead($Input1)
FileOpen($Path)
HotKeySet("c", "Capture")
GUICtrlSetState($Input1, $GUI_DISABLE)
EndIf
Sleep(50)
Else
If $Label1On = 1 Then
GUICtrlSetState($Label1, $GUI_HIDE)
GUICtrlSetState($Label2, $GUI_SHOW)
FileClose($Path)
HotKeySet("c")
GUICtrlSetState($Input1, $GUI_ENABLE)
$Label1On = 0
EndIf
Sleep(50)
EndIf
WEnd
Func Capture()
$Pos = MouseGetPos()
$Color = PixelGetColor($Pos[0], $Pos[1])
FileWriteLine($Path, $Pos[0] & ";" & $Pos[1] & ";" & $Color)
EndFunc
Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Designbolts-Seo-Website-Optimization.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
; ---- Includes ----
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <Misc.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
; ---- Démarrage du Programme ----
MsgBox(0, "WizzBot 3", "Bienvenue dans l'assistant de gestion des Items récupérés.")
; ---- GUI ----
$Form1 = GUICreate("WizzBot 3 - Pods", 384, 103)
$Label1 = GUICtrlCreateLabel("Après combien d'actions récolte voulez vous supprimer les items ?", 41, 17, 314, 17)
$Button1 = GUICtrlCreateButton("OK", 143, 72, 97, 25)
$Input1 = GUICtrlCreateInput("10", 80, 44, 241, 21, $ES_NUMBER)
GUISetState(@SW_SHOW)
; ---- Boucle Principale ----
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE ;Si on appuit sur la croix :
MsgBox(0, "Oups !", "La fenêtre a été fermée") ;On affiche un message
Exit ;Fermeture du Programme
Case $Button1
$Check = GUICtrlRead($Input1) ;On lit ce qui est écris dans "Input1"
If $Check = 0 Then ;Si le nombre est inexistant ou est égale à 0 alors :
MsgBox(0,"Erreur 1", "Nombre Incorrect !") ;On affiche le "Message D'erreur"
Else
FileDelete("Pods") ;Suppréssion du fichier "Pods" existant
$handlePods = FileOpen("Pods") ;Création du Nouveau fichier "Pods"
FileWriteLine($handlePods, GUICtrlRead($Input1)) ;On écrit dans le fichier "Pods" le nombre entré
GuiSetState(@SW_HIDE) ;On cache le Gui
_func1()
EndIf
EndSwitch
WEnd
; ---- Fonctions ----
Func _func1()
For $i = 1 To 7
Switch $i
Case 1
MsgBox(0,"WizzBot 3", "Choisissez la position de votre bouton pour ouvrir votre inventaire en mettant la souris dessus puis en appuyant sur la touche C")
Case 2
MsgBox(0,"WizzBot 3", "Maintenant faites la même étape qu'avant mais sur la ressource !")
Case 3
MsgBox(0,"WizzBot 3", "Toujours à l'aide de la touche C, choisissez l'icône de la poubelle")
Case 4
MsgBox(0,"WizzBot 3", "Choisissez à présent la touche MAX, toujours avec C")
Case 5
MsgBox(0,"WizzBot 3", "Maintenant l'icone pour valider !")
Case 6
MsgBox(0,"WizzBot 3", "Maitenant la touche OUI pour la confirmation")
Case 7
MsgBox(0,"WizzBot 3", "Maintenant la croix en haut à droite de l'inventaire")
EndSwitch
ToolTip("En attente", 0,0)
While 1
If _IsPressed("43") Then
ExitLoop
EndIf
WEnd
$Pos = MouseGetPos() ;On prend la position de la souris
FileWriteLine($handlePods , $Pos[0] & ";" & $Pos[1]) ;On l'écris dans le fichier "Pods"
ToolTip("")
Next
MsgBox(0,"WizzBot 3", "Merci d'avoir utilisé cet assistant !") ;Petit Message pour prévenir de la fin de l'assistant
Exit
EndFunc
Vidéo Explicative :
Par respect envers moi même, je n'est pas regardé la vidéo ^^", donc si c'est de mauvaise qualité, si y a un soucis d'image ou autre, je n'en saurais rien ! En espérant que vous comprendriez celle-ci
Attention la pause est en /s maintenant ! Donc en SECONDE est plus en MS
[YOUTUBE]https://youtu.be/QFXFkdJGV5o[/YOUTUBE]
Vos demandes :
Vos demandes seront classés ici ! N'hésitez pas à partager vos idées en commentaires !
- Vidéo d’explication (Fait !)
- Système gestion de combat (à voir dans longtemps)
- Système de vente (dans de futurs versions !)
- Système de déconnexion à horaire défini (à voir, tout à fais possible)
- Changement de maps
Release :
3.0.1 : Amélioration du GUI, ajout suppression PopUp, Ajout d'une console (Off pour le moment), Nouvelles fonctionnalités... (F10 = Force stop !)
3.0.2 : Correction du problème "Mode Inversé" ! Ajout d'un "#RequireAdmin" qui oblige le logiciel à se lancer en mode Administrateur !
3.0.3 : Ajout console, réctification boucle Pods, Nouveau programme Pods, Code plus compréhensible écrit (Merci Brick !)
Liens :
SUIVANT LE SCAM DE LIEN ! JE VOUS DONNE LE GITHUB EN DIRECT !
Téléchargement : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
VirusScan : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
Last edited: