Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;~ -----------------------------------------------------------------Combattre------------------------------------------------------------------------------
- Global $atkPortee = ""
- Global $atkKey = ""
- Global $posInvoc
- Global $nbLancerTour = ""
- Global $obstacle = False
- Global $combatState = 0
- Global $nbCombats = 0
- Global $posAmie[2], $posEnnemy[2] = ["0", "0"]
- Global $nbPM = 3
- Global $distanceEnnemy = 0
- Global $posAtkKey[2] = [640, 670]
- Global $feca=False
- Global $continuer
- Func _combattre()
- $combatState = 1
- Beep (1000,1000)
- Send(")") ; Debut du combat
- _pause("6")
- ; On retire le challenge et les cartes !
- MouseClick("left", 9, 186, 1, 1) ; challenge
- MouseClick("left", 261, 185, 1, 1)
- ; ... Et on passe en tactique et creature
- _tactiqueAndCreature()
- Do
- _waitTour()
- Until $combatState = 0
- EndFunc ;==>_combattre
- Func _tactiqueAndCreature()
- $couleurDisabledCrea = 0xADADAD ;304, 512
- $couleurEnabledCrea = 0xDAFA01
- ; On check les couleurs aux endroits du bouton créature et tactique
- $displayed1 = PixelGetColor(960,711)
- $displayed2 = PixelGetColor(939, 710)
- If $displayed1 = $couleurDisabledCrea Then
- MouseClick("left", 960, 711)
- EndIf
- If $displayed2 = $couleurDisabledCrea Then
- MouseClick("left", 939, 710)
- EndIf
- MouseMove(200, 300) ; Petit mouvement completement gratuit, histoire de ne pas laissée la souris sur le bouton vu que ça ouvre une bulle d'aide
- EndFunc ;==>_tactiqueAndCreature
- Func _waitTour()
- Do
- _pause("1")
- ; On passe un petit coup de verifs, ca fait pas de mal
- _verifFinCombat()
- ; On check la couleur a 4-5 secondes dans l'horloge du tour
- Local $color = PixelGetColor(827, 717)
- ; Et si celle si est orange, on lance le tour !
- If $color = $theOrangeFight Then
- _tour()
- ; Autrement, on verifie si le combat est fini. Qui sait ?
- _verifFinCombat()
- EndIf
- if PixelGetColor (619,717) = 0xFF5B3D Then
- _passerTour ()
- EndIf
- ; Tout cela jusqu'a ce que le combatState soit = 0
- Until $combatState = 0
- EndFunc ;==>_waitTour
- Func _tour()
- ; Si on est pas en mode invoc !
- $erreurAmie = False
- ; On cherche posAmie (position de notre personnage)
- _searchAmie()
- ; On cherche posEnnemy (position de l'ennemi le plus proche)
- _searchEnnemy()
- ; On passe a la suite seulement si les positions sont trouvees (car positions non trouvees = $combatState 0 )
- ;If $combatState = 1 Then
- If $feca =true Then
- If $distanceEnnemy <= 10 Then
- _attaquerEnnemy ()
- EndIf
- If $distanceEnnemy > 2 Then
- _seRapprocherEnnemy ()
- EndIf
- Else
- _invocationSpecial()
- _passerTour()
- ; Ou on passe son tour
- EndIf
- _verifFinCombat()
- EndFunc ;==>_tour
- Func _attaquerEnnemy()
- Local $nombreDeFois = 0
- Do
- MouseClick("left", $posAtkKey[0], $posAtkKey[1], 1, 1)
- Sleep (1000)
- MouseClick("left", $posEnnemy[0], $posEnnemy[1], 1, 1)
- Sleep (1000)
- MouseMove (58,286)
- $nombreDeFois = $nombreDeFois + 1
- Until $nombreDeFois = 2
- EndFunc ;==>_attaquerEnnemy
- Func _searchAmie()
- Sleep (3000)
- $posAmie = PixelSearch($maxMapGauche, $maxMapHaut, $maxMapDroite, $maxMapBas, $theRed, 7)
- ; Position non trouvee !
- If @error Then
- _verifFinCombat()
- $erreurAmie = True
- EndIf
- EndFunc ;==>_searchAmie
- Func _searchEnnemy()
- if $erreurAmie = False Then
- $distanceEnnemy = 0
- $ecartX = 0
- $ecartY = 0
- $sortiesFenetre = 4
- $continuer = 0
- Do
- $distanceEnnemy = $distanceEnnemy + 1
- $ecartX = $ecartX + 20
- $ecartY = $ecartY + 10
- $SearchEnnemyGauche = $posAmie[0] - $ecartX
- $SearchEnnemyDroite = $posAmie[0] + $ecartX
- $SearchEnnemyHaut = $posAmie[1] - $ecartY
- $SearchEnnemyBas = $posAmie[1] + $ecartY
- $posEnnemy = PixelSearch($SearchEnnemyGauche, $SearchEnnemyHaut, $SearchEnnemyDroite, $SearchEnnemyBas, $theBlue, 7)
- ; Quand ca marche on verifie que ca se trouve bien dans la fenetre
- If Not @error Then
- $continuer = 1
- EndIf
- ; Jusqu'a ce que
- Until $continuer = 1 Or $distanceEnnemy = 50
- ; On reagit a la conclusion precedente
- If $distanceEnnemy < 50 Then
- Else
- _verifFinCombat()
- EndIf
- EndIf
- EndFunc ;==>_searchEnnemy
- Func _seRapprocherEnnemy()
- If $continuer = 1 Then
- ; Variables qui definissent la direction a adopter
- $DistanceX = $posEnnemy[0] - $posAmie[0] ; Positif = Ennemi a droite , Negatif = Ennemi a gauche
- $DistanceY = $posEnnemy[1] - $posAmie[1] ; Positif = Ennemi en bas , Negatif = Ennemi en haut
- ; Puis on traduit en nombre de pixels les PM disponibles (X=Abcisses , Y=Ordonnes)
- $theMoveX = $nbPM * 25 ; 20 pixels (distance entre deux cases en abcisses)
- $theMoveY = $nbPM * 12 ; 10 pixels (distance entre deux cases en ordonnees)
- ; La combinaison de moveX et de moveY donne le deplacement (only en diagonale)
- ; Le mouvement aura lieu depuis notre position, on associe donc les deux
- $XPlus = $posAmie[0] + $theMoveX
- $XMoins = $posAmie[0] - $theMoveX
- $YPlus = $posAmie[1] + $theMoveY
- $YMoins = $posAmie[1] - $theMoveY
- ; Les 4 variables precedentes contiennent donc l'abcisse et l'ordonnee d'un deplacement dans n'importequelle direction a partir de notre position
- $Deplacement = False
- $obstacle = False
- ; --- Ennemy en Bas Droite -----
- If $DistanceX > 0 And $DistanceY > 0 Then
- MouseMove( $XPlus, $YPlus)
- Sleep (200)
- PixelSearch ($XPlus-5,$YPlus-5,$XPlus+5,$YPlus+5,0x006600)
- If Not @error Then
- MouseClick("left", $XPlus, $YPlus)
- $Deplacement = True
- Else
- $obstacle = True
- EndIf
- EndIf
- ; --- Ennemy en Bas Gauche -----
- If $DistanceX < 0 And $DistanceY > 0 And $Deplacement = False Then
- MouseMove( $XMoins, $YPlus)
- Sleep (200)
- PixelSearch ($XMoins-5,$YPlus-5,$XMoins+5,$YPlus+5,0x006600)
- If Not @error Then
- MouseClick("left", $XMoins, $YPlus)
- $Deplacement = True
- Else
- $obstacle = True
- EndIf
- EndIf
- ; --- Ennemy en Haut Droite -----
- If $DistanceX > 0 And $DistanceY < 0 And $Deplacement = False Then
- MouseMove( $XPlus, $YMoins)
- Sleep (200)
- PixelSearch ($XPlus-5,$YMoins-5,$XPlus+5,$YMoins+5,0x006600)
- If Not @error Then
- $Deplacement = True
- MouseClick("left", $XPlus, $YMoins)
- Else
- $obstacle = True
- EndIf
- EndIf
- ; --- Ennemy en Haut Gauche -----
- If $DistanceX < 0 And $DistanceY < 0 And $Deplacement = False Then
- MouseMove( $XMoins, $YMoins)
- Sleep (200)
- PixelSearch ($XMoins-5,$YMoins-5,$XMoins+5,$YMoins+5,0x006600)
- If Not @error Then
- MouseClick("left", $XMoins, $YMoins)
- $Deplacement = True
- Else
- $obstacle = True
- EndIf
- EndIf
- If $obstacle = True Then
- If PixelGetColor (677,691)= 0xCA964A Then
- _teleporte ()
- Else
- If $DistanceX < 0 And $DistanceY < 0 Then
- $posDeplacement = PixelSearch($XMoins-100 , $YMoins-60 , $XMoins+100 , $YMoins+60 , 0x557938, 7)
- If Not @error Then
- MouseClick("left", $posDeplacement[0], $posDeplacement[1])
- EndIf
- ElseIf $DistanceX > 0 And $DistanceY < 0 Then
- $posDeplacement = PixelSearch($XPlus-100 , $YMoins-60 , $XPlus+100 , $YMoins+60 , 0x557938, 7)
- If Not @error Then
- MouseClick("left", $posDeplacement[0], $posDeplacement[1])
- EndIf
- ElseIf $DistanceX < 0 And $DistanceY > 0 Then
- $posDeplacement = PixelSearch($XMoins-100 , $YPlus-60 , $XMoins+100 , $YPlus+60 , 0x557938, 7)
- If Not @error Then
- MouseClick("left", $posDeplacement[0], $posDeplacement[1])
- EndIf
- ElseIf $DistanceX > 0 And $DistanceY > 0 Then
- $posDeplacement = PixelSearch($Xplus-100 , $YPlus-60 , $Xplus+100 , $YPlus+60 , 0x557938, 7)
- If Not @error Then
- MouseClick("left", $posDeplacement[0], $posDeplacement[1])
- EndIf
- EndIf
- EndIf
- EndIf
- Else
- $posDeplacement = PixelSearch($posAmie[0]-100 , $posAmie[1]-60 , $posAmie[0]+100 , $posAmie[1]+60 , 0x557938, 7)
- If Not @error Then
- MouseClick("left", $posDeplacement[0], $posDeplacement[1])
- EndIf
- EndIf
- _pause("6")
- EndFunc ;==>_seRapprocherEnnemy
- Func _teleporteSpecial ()
- Sleep (1000)
- MouseClick ("left",677,691,1,5)
- Sleep (200)
- $posteleporte = PixelSearch($maxMapGauche, $maxMapBas, $maxMapDroite, $maxMapBas, 0x223399, 7)
- if Not @error Then
- Sleep (1000)
- MouseClick ("left",$posteleporte[0] ,$posteleporte [1] ,1,5)
- EndIf
- Sleep (300)
- MouseClick ("left",1287,234,1,5)
- EndFunc
- Func _teleporte ()
- Sleep (1000)
- $ecartX = 0
- $ecartY = 0
- $continuerteleporte = 0
- $teleporte = 0
- MouseClick ("left",677,691,1,5)
- Do
- $teleporte = $teleporte + 1
- $ecartX = $ecartX + 20
- $ecartY = $ecartY + 10
- $SearchEnnemyGauche = $posEnnemy[0] - $ecartX
- $SearchEnnemyDroite = $posEnnemy[0] + $ecartX
- $SearchEnnemyHaut = $posEnnemy[1] - $ecartY
- $SearchEnnemyBas = $posEnnemy[1] + $ecartY
- $posteleporte = PixelSearch($SearchEnnemyGauche, $SearchEnnemyHaut, $SearchEnnemyDroite, $SearchEnnemyBas, 0x223399, 7)
- if Not @error Then
- $continuerteleporte = 1
- Sleep (1000)
- MouseClick ("left",$posteleporte[0] ,$posteleporte [1] ,1,5)
- EndIf
- Until $teleporte =50 or $continuerteleporte = 1
- Sleep (500)
- MouseClick ("left",1264,260,1,5)
- EndFunc
- Func _resetPos()
- If $erreurAmie = False Then
- $posAmie[0] = ""
- $posAmie[1] = ""
- $posEnnemy[0] = ""
- $posEnnemy[1] = ""
- EndIf
- EndFunc ;==>_resetPos
- Func _passerTour()
- Send(")")
- ;_resetPos()
- sleep (2000)
- EndFunc ;==>_passerTour
- Func _invocationSpecial ()
- MouseMove (1238,245)
- Sleep (300)
- If PixelGetColor (670,671) = 0x372D2D Then
- MouseClick("left", 668, 669,1,5)
- ElseIf PixelGetColor (690,658) = 0x6E432E Then
- MouseClick ("left",700,665,1,5)
- EndIf
- Sleep (500)
- $posInvoc = PixelSearch($maxMapGauche, $maxMapHaut, $maxMapDroite, $maxMapBas, 0x223399, 7)
- ; Quand ca marche on verifie que ca se trouve bien dans la fenetre
- If Not @error Then
- Sleep (200)
- MouseClick("left", $posInvoc[0], $posInvoc[1])
- EndIf
- Sleep (300)
- MouseClick ("left",1287,234,1,5)
- EndFunc
- Func _invocation()
- MouseMove (1238,245)
- Sleep (300)
- If PixelGetColor (670,671) = 0x372D2D Then
- MouseClick("left", 668, 669,1,5)
- ElseIf PixelGetColor (690,658) = 0x6E432E Then
- MouseClick ("left",700,665,1,5)
- EndIf
- Sleep (500)
- #cs
- ; Variables qui definissent la direction a adopter
- $DistanceX = $posEnnemy[0] - $posAmie[0] ; Positif = Ennemi a droite , Negatif = Ennemi a gauche
- $DistanceY = $posEnnemy[1] - $posAmie[1] ; Positif = Ennemi en bas , Negatif = Ennemi en haut
- ; Puis on traduit en nombre de pixels les PM disponibles (X=Abcisses , Y=Ordonnes)
- $theMoveX = 20 ; 20 pixels (distance entre deux cases en abcisses)
- $theMoveY = 10 ; 10 pixels (distance entre deux cases en ordonnees)
- ; La combinaison de moveX et de moveY donne le deplacement (only en diagonale)
- ; Le clic aura lieu depuis notre position, on associe donc les deux
- $XPlus = $posAmie[0] + $theMoveX
- $XMoins = $posAmie[0] - $theMoveX
- $YPlus = $posAmie[1] + $theMoveY
- $YMoins = $posAmie[1] - $theMoveY
- ; --- Ennemy en Bas Droite -----
- If $DistanceX > 0 And $DistanceY > 0 Then
- MouseClick("left", $XPlus, $YPlus)
- ; --- Ennemy en Bas Gauche -----
- ElseIf $DistanceX < 0 And $DistanceY > 0 Then
- MouseClick("left", $XMoins, $YPlus)
- ElseIf $DistanceX > 0 And $DistanceY < 0 Then
- MouseClick("left", $XPlus, $YMoins)
- ; --- Ennemy en Haut Gauche -----
- ElseIf $DistanceX < 0 And $DistanceY < 0 Then
- MouseClick("left", $XMoins, $YMoins)
- EndIf
- #ce
- $distanceInvoc = 0
- $ecartX = 0
- $ecartY = 0
- $sortiesFenetre = 4
- $continuer = 0
- Do
- $distanceInvoc = $distanceInvoc + 1
- $ecartX = $ecartX + 20
- $ecartY = $ecartY + 10
- $SearchEnnemyGauche = $posAmie[0] - $ecartX
- $SearchEnnemyDroite = $posAmie[0] + $ecartX
- $SearchEnnemyHaut = $posAmie[1] - $ecartY
- $SearchEnnemyBas = $posAmie[1] + $ecartY
- $posInvoc = PixelSearch($SearchEnnemyGauche, $SearchEnnemyHaut, $SearchEnnemyDroite, $SearchEnnemyBas, 0x223399, 7)
- ; Quand ca marche on verifie que ca se trouve bien dans la fenetre
- If Not @error Then
- Sleep (200)
- MouseClick("left", $posInvoc[0], $posInvoc[1])
- $continuer = 1
- EndIf
- ; Jusqu'a ce que
- Until $continuer = 1 Or $distanceInvoc = 10
- Sleep (200)
- MouseClick ("left",1217,285,1)
- _verifspopups ()
- EndFunc ;==>_invocation
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement