VB/VB.Net Topic Question

  • Auteur de la discussion Anonymous
  • Date de début
A

Anonymous

Invité
#21
Personne ?
 
A

Anonymous

Invité
#22
Plusieurs classes sont dérivés de ObjectEffect, j'imagine que c'est l'une d'entre elles. Probablement quelque chose comme ObjectEffectTime.
 
A

Anonymous

Invité
#23
Merci je regarde sa...
 
A

Anonymous

Invité
#24
Bonsoir,

J'up mon topic encore une fois pour connaitre le temps de deplacement dans dofus entre x et y case.
Moi j'ai fais nombre de case a parcourir x 500 (0,5s), si je parcours 2 case sa correspond si j'en parcours 20 c'est trop long.

Vous pouvez m'aider
 
A

Anonymous

Invité
#25
Si le nombre de case est supérieur à 3, ton personnage va courir, tu peux donc passer à 0,2s par case (approximation), sinon 0,5s doit être bon.

Je précise que cette méthode n'est pas la meilleure, idéalement on devrai calculer le temps en fonction des propriété "Speed" de chaque cellule, mais je n'ai pas trouvé la formule pour s'en servir .
 
A

Anonymous

Invité
#26
D'accord merci à toi max, j'avais fait ceci mais pas à 0,2 s.
 
A

Anonymous

Invité
#27
Bonsoir,

depuis peu, j'utilise des class pour stoker la liste de mes personnages, la liste des ressources ect... pour m'organise un peu.
Mais a chaque fois que je la lis j'obtient une erreur:

Packet id : 251 parsing() ThrowArgumentOutOfRangeException -> L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Nom du paramètre : index

Voilà mon code:
For i = 0 To players.Count - 1
If ID_Message.id = players(i).Id Then
players.RemoveAt(i)
End If
Next
For i = 0 To monsters.Count - 1
If ID_Message.id = monsters(i).id Then
monsters.RemoveAt(i)
End If
Next

Public monsters As New List(Of Monsters)
Public players As New List(Of Players)
Aussi simple que ceci:
Public Class Monsters
Public id As Integer
Public cellid As UInteger
Sub New(ByVal idd As Integer, ByVal cell As UInteger)
id = idd
cellid = cell
End Sub
End Class

Je ne vois vraiment pas le problème...

Bonne soirée
 
A

Anonymous

Invité
#28
Code:
For i = 0 To players.Count - 1
If ID_Message.id = players(i).Id Then
players.RemoveAt(i)
End If
Next
For i = 0 To monsters.Count - 1
If ID_Message.id = monsters(i).id Then
monsters.RemoveAt(i)
End If
Next
C'est normale, tu fait une boucle avec une liste qui a x éléments, dans celle-ci tu en "remove" une donc du coup ta liste n'a plus x éléments mais x - 1, il arrive donc logiquement un overflow.
 
A

Anonymous

Invité
#29
ah ok faut que je fasse un exit for alors :), merci.
 
A

Anonymous

Invité
#30
Bonsoir,

un nouveau problème se confronte à moi, j'ai fais une fonction récolte, et au bout d'une minute je me fais banne.
Je pense donc que c'est car mon bot ne va pas faucher la ressources la plus proche de lui.
Voilà mon code:
If recolte = True Then
pause(500)
Dim uid As Integer
Dim elementid As Integer
Dim cell As UInteger
Dim equart As Integer = 600
For i = 0 To ressources.Count - 1

Dim path = New Pathfinding
path.FindPath(listcanmove, ID_Cell, ressources(i).Cellid)
If path.movepath.Count < equart Then
elementid = ressources(i).elementid
uid = ressources(i).Uid
cell = ressources(i).Cellid
End If
Next
movemap(cell)
pause(movewait)
Dim param1 As New Dofus.DofusWriter
param1.WriteInt32(elementid)
param1.WriteInt32(uid)
Dofus.DofusWriter.Send(5001, _socket_Jeu)
End If

Mon code n'est-il pas bon ?
 
Inscrit
29 Septembre 2011
Messages
393
Reactions
3
#31
Salut Alex Mike m'avait expliquer un peut en fait tu doit en fait tu doit regarder les case autour de toi est que la distance = à 1 max donc je pense si tu utilise
un système comme sa
Code:
donc en récapitule :
je suis sur la cellid :  191 ' cette cellule sera la cellule de ta première ressource que tu a récolte donc changera au fur et a mesure.
je regarde la cellid du dessus si on peut récolter donc :  cellid - 13
puis je regarde la cellid du bas : cellid + 14
puis je regarde la cellid qui se trouve a droite : cellid + 15
puis je regarde la cellid qui se trouve a gauche : cellid - 14
puis on regarde les diagonal : cellid - 1
puis on regarde les diagonal : cellid - 28
puis on regarde les diagonal : cellid + 1
puis on regarde les diagonal : cellid + 28
Je pense que les calcules son bon reste a essayer.
J'espère t'avoir aider.



Par Tifoux....
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#32
Tu as essayé de mettre plus de temps entre la fauche de ressources ? Ce que je veux dire c'est que un personnage qui coupe les ressources sans cesse et à un temps précis ça doit être signalé dans leur protection automatique.
 
A

Anonymous

Invité
#33
tifoux a dit:
Salut Alex Mike m'avait expliquer un peut en fait tu doit en fait tu doit regarder les case autour de toi est que la distance = à 1 max donc je pense si tu utilise
un système comme sa
Code:
donc en récapitule :
je suis sur la cellid :  191 ' cette cellule sera la cellule de ta première ressource que tu a récolte donc changera au fur et a mesure.
je regarde la cellid du dessus si on peut récolter donc :  cellid - 13
puis je regarde la cellid du bas : cellid + 14
puis je regarde la cellid qui se trouve a droite : cellid + 15
puis je regarde la cellid qui se trouve a gauche : cellid - 14
puis on regarde les diagonal : cellid - 1
puis on regarde les diagonal : cellid - 28
puis on regarde les diagonal : cellid + 1
puis on regarde les diagonal : cellid + 28
Je pense que les calcules son bon reste a essayer.
J'espère t'avoir aider.



Par Tifoux....
Salut tifoux, ton algo n'est pas toujours bon çelon la que la rangée ou tu es est paire ou impaire, mais j'avais pensé à ceci mais si un ressource est à 2 cases de toi ?
le bot va aller chercher une ressources à l'autre bout de la map...
edit :
Mais après on peut refaire la même chose avec 2 cases :D
Je pense que je ferais avec sa pour le moment merci

Anodu, effectivement il y a une protection, mais au bout d'une minute -> Non. Des heures et des heures -> Oui.
Tu dois connaitre le nouveau fonctionnement de récolte shift + click. Ton personnage ne fauche t'il pas sans arret ?
 
Inscrit
16 Aout 2011
Messages
184
Reactions
0
#34
Oui c'est vrai, en 1 minute c'est bizarre quand même. Ils sont vraiment chiants ceux là, même en ne bottant pas tu peux te prendre un ban ( une personne qui n'aime pas faucher logiquement )
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#35
sinon il faut trier avant les cellules dans le bon ordre avec un trie a bulle , comme ca ca fauche ligne par ligne , j'ai fauché des heures , tu dois avoir un probleme
 
A

Anonymous

Invité
#36
Effectivement, un autre packet a envoyer ? Un request ?
 
A

Anonymous

Invité
#37
Bonsoir,

j'ai un petit problème. Dans mon GameFightSynchronizeMessage. J'ai une référence d'objet non définie sur cette ligne:
_loc_5.deserialize(param1)

Code:
Dim _loc_4 As UInteger = 0
Dim _loc_5 As GameFightFighterInformations = Nothing
Dim _loc_2 As UShort = param1.ReadUnSignedshort()
Dim _loc_3 As UInteger = 0
While (_loc_3 < _loc_2)


_loc_4 = param1.ReadUnSignedshort()
_loc_5 = ProtocolTypeManager.GetInstance(_loc_4)
_loc_5.deserialize(param1)
Me.fighters.Add(_loc_5)
_loc_3 = _loc_3 + 1
End While
Return Me
Je regarde donc mon _loc_4 qui est égal à 2816 o_O
Un gros décalage, j'ai tout retraduit sur ce qui concerne _loc_4 soit gamefightfighterinformation mais l'erreur se produit à nouveau. Une idée ?
 
A

Anonymous

Invité
#38
lolodu92 a dit:
Bonsoir,

j'ai un petit problème. Dans mon GameFightSynchronizeMessage. J'ai une référence d'objet non définie sur cette ligne:
_loc_5.deserialize(param1)

Code:
Dim _loc_4 As UInteger = 0
Dim _loc_5 As GameFightFighterInformations = Nothing
Dim _loc_2 As UShort = param1.ReadUnSignedshort()
Dim _loc_3 As UInteger = 0
While (_loc_3 < _loc_2)


_loc_4 = param1.ReadUnSignedshort()
_loc_5 = ProtocolTypeManager.GetInstance(_loc_4)
_loc_5.deserialize(param1)
Me.fighters.Add(_loc_5)
_loc_3 = _loc_3 + 1
End While
Return Me
Je regarde donc mon _loc_4 qui est égal à 2816 o_O
Un gros décalage, j'ai tout retraduit sur ce qui concerne _loc_4 soit gamefightfighterinformation mais l'erreur se produit à nouveau. Une idée ?

Check if the classes (including the inheritances) are all right. Maybe some attribute was added after last update..
I cant tell it to you because my last bot version was working with version 2.2.x, so im remaking everything..
I made an AS3 -> VB.NET translator, its not perfect but reduce 99% the translate work, I will make some changes and post it later..
 

ToOnS

Membre Actif
Inscrit
8 Avril 2009
Messages
974
Reactions
0
#39
Sun7Br a dit:
I made an AS3 -> VB.NET translator, its not perfect but reduce 99% the translate work, I will make some changes and post it later..
oh yeah ;)
 
Haut Bas