Ayant repris les sources de maxoubot, j'ai voulu ajouter une fonction qui est frapper avec 2 sorts, voici mon code
Je ne sais pas pourquoi le bot passe son tour..
Merci pour vos futurs réponses
ElseIf (idMobInt > 0) And idMob <> .monIdDofus Then
If (goalDistance(.toMe, afrappe) < meilleurDistanceHeal) Then
.toHeal = afrappe
meilleurDistanceHeal = goalDistance(.toMe, afrappe)
End If
End If
End If
End If
End If
Next
ElseIf (Mid(packet, 1, 3) = "GTR") Then
.sock.Envoyer("GT")
ElseIf (Mid(packet, 1, 3) = "GTS") Then
Dim lID As String = Mid(Gettok(packet, "|", 1), 4)
If (lID = .monIdDofus) Then
If (.idSort <> 0) Then
If (.Cible = 1) Then
.caseDeLance = .toFrappe
ElseIf (.Cible = 2) Then
.caseDeLance = .toHeal
ElseIf (.Cible = 3) Then
.caseDeLance = .toMe
End If
If (.idSort2 <> 0) Then
End If
If (.Cible2 = 1) Then
.caseDeLance = .toFrappe
ElseIf (.Cible2 = 2) Then
.caseDeLance = .toHeal
ElseIf (.Cible2 = 3) Then
.caseDeLance = .toMe
End If
Dim maxAvance As Integer = 1
If (sortsMin(.idSort) <> -1) Then
maxAvance = sortsMin(.idSort)
End If
If (goalDistance(.toMe, .caseDeLance) > maxAvance) Then
Dim pather As New Pathfinding
Dim path As String = pather.pathing(.mapDataActuel, .toMe, .caseDeLance, False, True, 3)
.sock.Envoyer("GA001" & path)
.sock.Envoyer("GKK0")
End If
If (sortsMax(.idSort) <> -1) Then
Dim distNeed As Integer = sortsMax(.idSort) + 1
If goalDistance(.toMe, .caseDeLance) <= distNeed Then
For i As Integer = 1 To .nombreLance
.sock.Envoyer("GA300" & .idSort & ";" & .caseDeLance)
.sock.Envoyer("GKK0")
Next
End If
Else
For i As Integer = 1 To .nombreLance
.sock.Envoyer("GA300" & .idSort & ";" & .caseDeLance)
.sock.Envoyer("GKK0")
Next
End If
If (sortsMin(.idSort2) <> -1) Then
maxAvance = sortsMin(.idSort2)
End If
If (goalDistance(.toMe, .caseDeLance) > maxAvance) Then
Dim pather As New Pathfinding
Dim path As String = pather.pathing(.mapDataActuel, .toMe, .caseDeLance, False, True, 3)
.sock.Envoyer("GA001" & path)
.sock.Envoyer("GKK0")
End If
If (sortsMax(.idSort2) <> -1) Then
Dim distNeed As Integer = sortsMax(.idSort2) + 1
If goalDistance(.toMe, .caseDeLance) <= distNeed Then
For i As Integer = 1 To .nombreLance
.sock.Envoyer("GA300" & .idSort2 & ";" & .caseDeLance)
.sock.Envoyer("GKK0")
Next
End If
Else
.sock.Envoyer("GA300" & .idSort2 & ";" & .caseDeLance)
.sock.Envoyer("GKK0")
End If
End If
.sock.Envoyer("Gt")
End If
.sock.Envoyer("GT")
If (goalDistance(.toMe, afrappe) < meilleurDistanceHeal) Then
.toHeal = afrappe
meilleurDistanceHeal = goalDistance(.toMe, afrappe)
End If
End If
End If
End If
End If
Next
ElseIf (Mid(packet, 1, 3) = "GTR") Then
.sock.Envoyer("GT")
ElseIf (Mid(packet, 1, 3) = "GTS") Then
Dim lID As String = Mid(Gettok(packet, "|", 1), 4)
If (lID = .monIdDofus) Then
If (.idSort <> 0) Then
If (.Cible = 1) Then
.caseDeLance = .toFrappe
ElseIf (.Cible = 2) Then
.caseDeLance = .toHeal
ElseIf (.Cible = 3) Then
.caseDeLance = .toMe
End If
If (.idSort2 <> 0) Then
End If
If (.Cible2 = 1) Then
.caseDeLance = .toFrappe
ElseIf (.Cible2 = 2) Then
.caseDeLance = .toHeal
ElseIf (.Cible2 = 3) Then
.caseDeLance = .toMe
End If
Dim maxAvance As Integer = 1
If (sortsMin(.idSort) <> -1) Then
maxAvance = sortsMin(.idSort)
End If
If (goalDistance(.toMe, .caseDeLance) > maxAvance) Then
Dim pather As New Pathfinding
Dim path As String = pather.pathing(.mapDataActuel, .toMe, .caseDeLance, False, True, 3)
.sock.Envoyer("GA001" & path)
.sock.Envoyer("GKK0")
End If
If (sortsMax(.idSort) <> -1) Then
Dim distNeed As Integer = sortsMax(.idSort) + 1
If goalDistance(.toMe, .caseDeLance) <= distNeed Then
For i As Integer = 1 To .nombreLance
.sock.Envoyer("GA300" & .idSort & ";" & .caseDeLance)
.sock.Envoyer("GKK0")
Next
End If
Else
For i As Integer = 1 To .nombreLance
.sock.Envoyer("GA300" & .idSort & ";" & .caseDeLance)
.sock.Envoyer("GKK0")
Next
End If
If (sortsMin(.idSort2) <> -1) Then
maxAvance = sortsMin(.idSort2)
End If
If (goalDistance(.toMe, .caseDeLance) > maxAvance) Then
Dim pather As New Pathfinding
Dim path As String = pather.pathing(.mapDataActuel, .toMe, .caseDeLance, False, True, 3)
.sock.Envoyer("GA001" & path)
.sock.Envoyer("GKK0")
End If
If (sortsMax(.idSort2) <> -1) Then
Dim distNeed As Integer = sortsMax(.idSort2) + 1
If goalDistance(.toMe, .caseDeLance) <= distNeed Then
For i As Integer = 1 To .nombreLance
.sock.Envoyer("GA300" & .idSort2 & ";" & .caseDeLance)
.sock.Envoyer("GKK0")
Next
End If
Else
.sock.Envoyer("GA300" & .idSort2 & ";" & .caseDeLance)
.sock.Envoyer("GKK0")
End If
End If
.sock.Envoyer("Gt")
End If
.sock.Envoyer("GT")
Je ne sais pas pourquoi le bot passe son tour..
Merci pour vos futurs réponses
Dernière édition: