programme paysan

    Publicités

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

Shoyo

Membre actif
Feb 17, 2011
257
0
922
Bonjour tout le monde,
ca fait un mois environ que j'ai appris l'AutoIt et voici mon 2 eme bot mais il ya des erreur que je sais pas comment corriger.
Voici mon code
Code:

#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.6.1
Author: myName

Script Function:
Template AutoIt script.

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

; Script Start - Add your code below here


Dim $coord
Dim $const = 1
Dim $msg
Dim $delais
Dim $choix
Dim $coord_banquier
Dim $banque = 0
Dim $coord_adversaire
Dim $coord_perso
$msg = MsgBox(4, "programme Paysan", "Bonjour"& @CRLF &" Bienvenue dans le programme pour paysan sur le MMO Dofus.")
If $msg = 7 then Exit
$msg = MsgBox(4, "Prérequis", "Pour que le programme puisse fonctionner veuillez vous assurez d'avoir pris tout les paramètres suivants en compte :)
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 1.", " 1.Assurez-vous que votre écran est en 1024x768")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 2.", " 2.Ouvrir Dofus (sinon ça le fait pas)")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 3.", " 3.Loguez-vous sur votre personnage qui doit être paysan et être équiper d'une faux")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 4.", " 4.Mettez un petit (pas trop) stock de potion de rappel en bas à gauche de l'écran sur le tableau de bord")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 5.", " 5.Assurez-vous d'avoir assez de kamas sur votre perso pour accèder au compte en banque")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 6.", " 6.Mettre Dofus en plein écran")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 7.", " 7.Mettre la qualité d'affichage en inférieur")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 8.", " 8.Fermer tout les canaux de discussion sauf celui d'information (le vert)")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Prérequis 9.", " 9.Videz-vous de tout se qui est inutile ( les ressources, les équipements sauf la faux, les potions sauf celle de rappel)")
If $msg = 7 Then Exit
$msg = MsgBox(4, "Si problème il y à ...", "Il peut arriver que le programme clique ou il n'y à rien."& @CRLF &
"Dans le cas ou le programme clique ailleur que sur le céréale vous n'avez qu'à attendre X secondes et il cliqueras denouveau sur le céréale choisis.")
If $msg = 7 then Exit
$choix = InputBox("Choix du céréale à faucher", "Choissisez 1, 2 , etc."& @CRLF &" 1.Blé"& @CRLF &" 2.Orge"& @CRLF &
" 3.Avoine"& @CRLF &" 4.Houblon"& @CRLF &" 5.Lin")
$delais = InputBox("Temps de fauche", "Taper combien de secondes votre perso à besoin pour faucher")
$delais = $delais + 3
$delais = $delais * 1000


;Début du programme de fauche du blé--------------------------------------------------------------------------------------
If ($choix = 1) Then

Sleep (2000)
Do
If PixelGetColor (636, 339) = 0xFF6100 Then ;Refuse l'échange
MouseClick("left", 636, 339, 1, 5) ; " "
Else
If PixelGetColor (514, 349) = 0xFFFFFF Then ;Appuie sur "ENTER" quand up le lvl du métier
Send("{ENTER}")
Else
;Séquence de dépot à la banque--------------------------------------------------------------------------------------------
If (PixelGetColor (401, 707) = 0x009900) And (PixelGetColor (401, 706) = 0x009900) And (PixelGetColor (405, 707) = 0x009900)And (PixelGetColor (405, 706) = 0x009900) And (PixelGetColor (409, 707) = 0x009900) And (PixelGetColor (409, 706) = 0x009900) Then
MouseClick("left", 711, 668, 2, 5)
Sleep(7500)
MouseClick("left", 480, 572, 1, 5)
Sleep(5500)
MouseClick("left", 414, 568, 1, 5)
Sleep(5500)
MouseClick("left", 480, 568, 1, 5)
Sleep(5500)
MouseClick("left", 818, 198, 1, 5)
Sleep(7000)
$coord_banquier = PixelSearch(522, 198, 645, 333, 0x683E16)
MouseClick("left", $coord_banquier[0], $coord_banquier[1], 1, 5)
Sleep(750)
MouseClick("left", $coord_banquier[0] + 30, $coord_banquier[1] + 30, 1, 5)
Sleep(3000)
MouseClick("left", 178, 347, 1, 5)
Sleep(7500)
MouseClick("left", 913, 197, 1, 5)
Sleep(1000)
Do
MouseClickDrag("left", 753, 267, 92, 265, 5)
Sleep(1000)
MouseClick("left", 92 + 15, 265 + 15, 1, 5)
Sleep(750)
MouseClick("left", 92 + 15, 265 + 15 + 125, 1, 5)
$banque = $banque + 1
Until ($banque = 15)
;Fin de la séquence de dépôt à la banque---------------------------------------------------------------------------------
Else
$coord=PixelSearch(0,0,1024,768,0xB47D2A);Recherche la pixel contenu dans le blé
If Not @error then
MouseClick( "left",$coord[0],$coord[1],1,5);Clique sur le blé
MouseClick( "left",$coord[0] + 30,$coord[1] + 30,1,5);Clique sur "faucher"
;Début de la séquence de combat si la zone est orange---------------------------------------------------------------------
If PixelGetColor (930, 548) = 0xFF6600 Then
Do
MouseClick("left", 930, 548, 1, 10) ;Clique sur "prêt"
$coord_adversaire = PixelSearch(0, 0, 1024, 768, 0x0000FF) ;Cherche la position de l'adversaire à l'écran
$coord_perso = PixelSearch(0, 0, 1024, 768, 0xFF0000) ;Cherche la position du perso à l'écran
;Avance vers l'ennemi.....
;.........................
MouseClick("left", 711, 667, 1, 10) ;Clique sur le sort qui est en première position
MouseClick("left", $coord_adversaire[0], $coord_adversaire[1], 1, 10) ;Clique sur l'adversaire pour utiliser le sort
MouseClick("left", 660, 710, 1, 10) ;Clique sur "passer son tour"
Sleep(7000)
Until (PixelGetColor (583, 704) = 0xFF6600)
MouseClick("left", 806, 454, 1, 5) ;Clique sur "fermer" de la fenêtre de Debriefing
;Fin de la séquence de combat si il n'y à pas d'orange ici----------------------------------------------------------------
Else
Sleep($delais)
EndIf
Endif
EndIf
EndIf
EndIf
Until ($const = 2)
;Fin du programme de fauche du blé----------------------------------------------------------------------------------------


;Début du programme de fauche de l'orge-----------------------------------------------------------------------------------
ElseIf ($choix = 2) Then

Sleep (2000)
Do
If PixelGetColor (636, 339) = 0xFF6100 Then ;Refuse l'échange
MouseClick("left", 636, 339, 1, 5) ; " "
Else
If PixelGetColor (514, 349) = 0xFFFFFF Then ;Appuie sur "ENTER" quand up le lvl du métier
Send("{ENTER}")
Else
$coord=PixelSearch(0,0,1024,768,0x5C6A00);Recherche la pixel contenu dans l'orge
If Not @error then
MouseClick( "left",$coord[0],$coord[1],1,5);Clique sur l'orge
MouseClick( "left",$coord[0] + 30,$coord[1] + 30,1,5);Clique sur "faucher"
;Début de la séquence de combat si la zone est orange---------------------------------------------------------------------
If PixelGetColor (930, 548) = 0xFF6600 Then
Do
MouseClick("left", 930, 548, 1, 10) ;Clique sur "prêt"
$coord_adversaire = PixelSearch(0, 0, 1024, 768, 0x0000FF) ;Cherche la position de l'adversaire à l'écran
$coord_perso = PixelSearch(0, 0, 1024, 768, 0xFF0000) ;Cherche la position du perso à l'écran
;Avance vers l'ennemi.....
;.........................
MouseClick("left", 711, 667, 1, 10) ;Clique sur le sort qui est en première position
MouseClick("left", $coord_adversaire[0], $coord_adversaire[1], 1, 10) ;Clique sur l'adversaire pour utiliser le sort
MouseClick("left", 660, 710, 1, 10) ;Clique sur "passer son tour"
Sleep(7000)
Until (PixelGetColor (583, 704) = 0xFF6600)
MouseClick("left", 806, 454, 1, 5) ;Clique sur "fermer" de la fenêtre de Debriefing
;Fin de la séquence de combat si il n'y à pas d'orange ici----------------------------------------------------------------
Else
Sleep($delais)
EndIf
Endif
EndIf
EndIf
Until ($const = 2)
;Fin du programme de fauche de l'orge-------------------------------------------------------------------------------------


;Début du programme de fauche de l'avoine---------------------------------------------------------------------------------
ElseIf ($choix = 3) Then ;Programme de fauche de l'avoine

Sleep (2000)
Do
If PixelGetColor (636, 339) = 0xFF6100 Then ;Refuse l'échange
MouseClick("left", 636, 339, 1, 5) ; " "
Else
If PixelGetColor (514, 349) = 0xFFFFFF Then ;Appuie sur "ENTER" quand up le lvl du métier
Send("{ENTER}")
Else
$coord=PixelSearch(0,0,1024,768,0xFFE000);Recherche la pixel contenu dans l'avoine
If Not @error then
MouseClick( "left",$coord[0],$coord[1],1,5);Clique sur l'avoine
MouseClick( "left",$coord[0] + 30,$coord[1] + 30,1,5);Clique sur "faucher"
;Début de la séquence de combat si la zone est orange---------------------------------------------------------------------
If PixelGetColor (930, 548) = 0xFF6600 Then
Do
MouseClick("left", 930, 548, 1, 10) ;Clique sur "prêt"
$coord_adversaire = PixelSearch(0, 0, 1024, 768, 0x0000FF) ;Cherche la position de l'adversaire à l'écran
$coord_perso = PixelSearch(0, 0, 1024, 768, 0xFF0000) ;Cherche la position du perso à l'écran
;Avance vers l'ennemi.....
;.........................
MouseClick("left", 711, 667, 1, 10) ;Clique sur le sort qui est en première position
MouseClick("left", $coord_adversaire[0], $coord_adversaire[1], 1, 10) ;Clique sur l'adversaire pour utiliser le sort
MouseClick("left", 660, 710, 1, 10) ;Clique sur "passer son tour"
Sleep(7000)
Until (PixelGetColor (583, 704) = 0xFF6600)
MouseClick("left", 806, 454, 1, 5) ;Clique sur "fermer" de la fenêtre de Debriefing
;Fin de la séquence de combat si il n'y à pas d'orange ici----------------------------------------------------------------
Else
Sleep($delais)
EndIf
EndIf
EndIf
EndIf
Until ($const = 2)
;Fin du programme de fauche de l'avoine------------------------------------------------------------------------------------


;Début du programme de fauche du houblon-----------------------------------------------------------------------------------
ElseIf ($choix = 4) Then

Sleep (2000)
Do
If PixelGetColor (636, 339) = 0xFF6100 Then ;Refuse l'échange
MouseClick("left", 636, 339, 1, 5) ; " "
Else
If PixelGetColor (514, 349) = 0xFFFFFF Then ;Appuie sur "ENTER" quand up le lvl du métier
Send("{ENTER}")
Else
$coord=PixelSearch(0,0,1024,768,0x1A5053);Recherche la pixel contenu dans le houblon
If Not @error then
MouseClick( "left",$coord[0],$coord[1],1,5);Clique sur le houblon
MouseClick( "left",$coord[0] + 30,$coord[1] + 30,1, 5);Clique sur "faucher"
;Début de la séquence de combat si la zone est orange---------------------------------------------------------------------
If PixelGetColor (930, 548) = 0xFF6600 Then
Do
MouseClick("left", 930, 548, 1, 10) ;Clique sur "prêt"
$coord_adversaire = PixelSearch(0, 0, 1024, 768, 0x0000FF) ;Cherche la position de l'adversaire à l'écran
$coord_perso = PixelSearch(0, 0, 1024, 768, 0xFF0000) ;Cherche la position du perso à l'écran
;Avance vers l'ennemi.....
;.........................
MouseClick("left", 711, 667, 1, 10) ;Clique sur le sort qui est en première position
MouseClick("left", $coord_adversaire[0], $coord_adversaire[1], 1, 10) ;Clique sur l'adversaire pour utiliser le sort
MouseClick("left", 660, 710, 1, 10) ;Clique sur "passer son tour"
Sleep(7000)
Until (PixelGetColor (583, 704) = 0xFF6600)
MouseClick("left", 806, 454, 1, 5) ;Clique sur "fermer" de la fenêtre de Debriefing
;Fin de la séquence de combat si il n'y à pas d'orange ici----------------------------------------------------------------
Else
Sleep($delais)
EndIf
EndIf
EndIf
EndIf
Until ($const = 2)
;Fin du programme de fauche du houblon-------------------------------------------------------------------------------------


;Début du programme de fauche du lin---------------------------------------------------------------------------------------
ElseIf ($choix = 5) Then

Sleep (2000)
Do
If PixelGetColor (636, 339) = 0xFF6100 Then ;Refuse l'échange
MouseClick("left", 636, 339, 1, 5) ; " "
Else
If PixelGetColor (514, 349) = 0xFFFFFF Then ;Appuie sur "ENTER" quand up le lvl du métier
Send("{ENTER}")
Else
$coord=PixelSearch(0,0,1024,768,0xDACA7B);Recherche la pixel contenu dans le lin
If Not @error then
MouseClick( "left",$coord[0],$coord[1],1,5);Clique sur le lin
MouseClick( "left",$coord[0] + 30,$coord[1] + 30,1,5);Clique sur "faucher"
;Début de la séquence de combat si la zone est orange---------------------------------------------------------------------
If PixelGetColor (930, 548) = 0xFF6600 Then
Do
MouseClick("left", 930, 548, 1, 10) ;Clique sur "prêt"
$coord_adversaire = PixelSearch(0, 0, 1024, 768, 0x0000FF) ;Cherche la position de l'adversaire à l'écran
$coord_perso = PixelSearch(0, 0, 1024, 768, 0xFF0000) ;Cherche la position du perso à l'écran
;Avance vers l'ennemi.....
;.........................
MouseClick("left", 711, 667, 1, 10) ;Clique sur le sort qui est en première position
MouseClick("left", $coord_adversaire[0], $coord_adversaire[1], 1, 10) ;Clique sur l'adversaire pour utiliser le sort
MouseClick("left", 660, 710, 1, 10) ;Clique sur "passer son tour"
Sleep(7000)
Until (PixelGetColor (583, 704) = 0xFF6600)
MouseClick("left", 806, 454, 1, 5) ;Clique sur "fermer" de la fenêtre de Debriefing
;Fin de la séquence de combat si il n'y à pas d'orange ici----------------------------------------------------------------
Else
Sleep($delais)
EndIf
EndIf
EndIf
EndIf
Until ($const = 2)
;Fin du programme de fauche du lin-----------------------------------------------------------------------------------------
Else
MsgBox("4+12", "Erreur !!", "Choix impossible"& @CRLF &"=> Fin du programme !!"); Si mauvais choix ...fin du script
Exit
EndIf

Seulement voilà ...il fauche tout vas bien ...mais dés qu'il y à agro le programme fait rien , alors j'ai fait un séquence pour se cas là mais mon problème c'est que je veux que le perso avance vers l'ennemi de 3 case (je sais pas combien de pixel ça fait)... je sais pas comment lui faire cliquer ....disons 100 pixel (par exemple ) en direction de l'ennemi pour que le perso s'en rapproche ...
Ensuite ... la partie banque marche pas tout a fait non plus . le pixel search cherce si un message apparait disant que il n'y à plus de place dans l'inventaire là ca va ... ensuite il va à la banque mais quand il cherche le banquier ca coince je sais pas pourquoi...

Quelqu'un a une idée :svp:?
 
May 1, 2010
524
0
581
J'avoue cardenis est bon pour les bots =)

Par contre ils ne sont pas strict du tout il n'y a meme pas de traitement cas par cas je me suis inscrit et voila je suis membre ...