Aller au contenu


Photo

Nouvel Algorithme De Déplacement


  • Ce sujet est fermé Ce sujet est fermé
50 réponses à ce sujet

#21 Alexown

Alexown

    Hard Gamer

  • Membres
  • 276 messages

Posté 03 December 2012 - 15:36

Coucou Ultos,

Merci pour ta contribution qui a l'air super efficace et je testerais ce soir.

J'ai une petite "requête" à formuler...mon personnage crève parce qu'il ne surveille pas sa vie lorsqu'il se déplace (et qu'il n'y a pas de mobs).
Je m'explique : Je joue en inferno mp0 avec mon moine en ambidextrie...j'ai 170k dps donc si tu veux quand je rentre dans un pack il fait 3 secondes, sympa me diras-tu.....sauf que ce qui se passe généralement :

- Le moine rentre dans le pack
- Il ruine le pack en 2-3 coups
- Il ramasse
- Il continue son run...

Sauf que parfois...les élites en question collent des arcane centry :)
Et le problème c'est que les arcanes centry c'est du pipi de chat quand y a du mob à coté pour voler de la vie...mais quand il y a personne autours et que le moine fais des aller / retour pour looter puis revenir sur son chemin, il crève et souvent en plus...

Sincèrement...c'est quand même rare...mais je suis un peu perfectionniste et que je vois que je crève 4 fois sur 160 runs à cause de ça... ça salie mes stats et j'aime pas ça :)

Penses-tu qu'il est possible de faire en sorte qu'il utilise ses sorts de survie / potions même lorsqu'il n'y a pas de monstres...?

#22 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 03 December 2012 - 15:53

...
Penses-tu qu'il est possible de faire en sorte qu'il utilise ses sorts de survie / potions même lorsqu'il n'y a pas de monstres...?


Ca ? --> https://forum.gmstem...showtopic=12270 :-)

#23 Alexown

Alexown

    Hard Gamer

  • Membres
  • 276 messages

Posté 03 December 2012 - 16:09

Ouai quelque chose comme ça... :)
c'est compatible avec ton algo de déplacement?

edit : je viens de parcourir ta fonction en diagonale....CE BON VIEUX PYTHAGORE ! :D
C'est simple et efficace comme raisonnement :)

Modifié par Alexown, 03 December 2012 - 16:18.


#24 xoum

xoum

    Hard Gamer

  • Membres
  • 257 messages

Posté 03 December 2012 - 16:29

Bon par contre la fonction tel quelle ne pourra jamais être intégré dans la version actuelle.

Il faut impérativement faire un tableau à deux voir trois dimensions (pour le nombre de séquence) et ne pas déclarer les tableaux manuellement.

Voici un exemple :
#include <Array.au3>
Local $pos[1][5]

Func GetPosToAnArray($newPos)


   
        $Bound = UBound($pos)
        ReDim $pos[$Bound+1][5]
        $pos[$Bound][5] = $newPos 
   


EndFunc

Func getPos()

	GetPosToAnArray([206.692764282227, 722.693603515625, -35.8240203857422,1,25])
	GetPosToAnArray([327.7802734375, 722.134643554688, 0.100000239908695, 0, 25])
	GetPosToAnArray([361.233367919922, 723.155029296875, 0.0999998897314072, 1, 25])
	GetPosToAnArray([396.636413574219, 727.132934570313, 0.292241543531418, 1, 25])

_ArrayDisplay($pos) ; juste pour voir a quoi ressemble larray : à enlever une fois bien compris.

EndFunc


Donc maintenant tu n'auras plus de pos1, pos2 ..... et il nous sera possible d'ajouter cette fonction avec les autres.
Ensuite il faut aussi remanier la fonction pour qu'elle puisse gérer un autre tableau de séquence.

Je ne sais plus si autoit autorise à affecter un array directement dans un autre, s'il ne veut pas il faudra faire une boucle for de 0 à 5-1 pour ajouter chaque partie de la position.

#25 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 03 December 2012 - 17:00

c'est compatible avec ton algo de déplacement?

Je pense, je n'ai pas testé mais je ne vois pas pourquoi ça marcherai pas :-)
Et oui c'est rien de compliqué, c'est juste une projection d'un point sur une droite en 2D :P

@xoum : J'avoue que c'est moche la déclaration de mes arrays, j'ai pas voulu me prendre la tête et j'ai fait ça vite fait à coup de Find&Replace ;-) Je vais essayer de déclarer les arrays avec ce que tu proposes (quand j'aurai le temps). Merci.

#26 xoum

xoum

    Hard Gamer

  • Membres
  • 257 messages

Posté 03 December 2012 - 17:13

Merci à toi de ta contribution.

#27 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 04 December 2012 - 01:11

@xoum : Je viens de mettre à jour le code. C'est mieux comme ça ? :-) C'est vraiment une syntaxe à la *** ce langage, mais là je pense que c'est pas trop mal.

Pour que tout le monde comprenne, le code est juste plus "joli", il n'y a rien de nouveau niveau fonctionnel entre la v1.0 et la v1.1 :-)

#28 Alexown

Alexown

    Hard Gamer

  • Membres
  • 276 messages

Posté 04 December 2012 - 01:49

Re Ultos, j'viens de tester, ca marche du feu de dieu !

J'ai aussi ajouté la fonction de Kick pour pouvoir utiliser les skills pendant le grab des items, mais le truc c'est que je crève toujours quand je cours et que je me prend les arcane centry qui comme par hasard tournent bien en même temps que moi je passe ^_^
C'est possible d'adapter ça par hasard? :)

While _MemoryRead($ClickToMoveToggle, $d3, 'float') = 0

par :

While _MemoryRead($ClickToMoveToggle, $d3, 'float') = 0 
checkForSpell()

Dans la fonction: MoveToPos($_x, $_y, $_z, $_a, $m_range)


Le problème c'est que cette fonction n'existe plus :)


Sinon, encore chapeau pour ta fonction, vraiment impressionnant comment ca change la vie :o

#29 warzonefury

warzonefury

    The Butcher

  • Membres
  • 41 messages

Posté 04 December 2012 - 06:06

Salut, y a t-il moyen d'adapter ton sequence.au3 pou rla fonction résurrection? Merci :)

#30 kickbar

kickbar

    Devlopette

  • Membre
  • 539 messages
  • Hobbies :Informatiques, jeux vidéo, botting !!!! ;D

Posté 04 December 2012 - 09:05

@ warzonefury :

Oui tout est possible ;D
mais inutile pour le moment, atta que sa fonction soit implémenté dans le bot de base

la flemme de faire les modifs maintenant pour avoir a les refaire après ;D

#31 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 04 December 2012 - 09:45

@Alexown : Met ta modif dans Func UsePath(ByRef $path), c'est MoveToPos modifiée

@warzonefury : @kickbar a raison, si j'ai le temps je regarderai en speed quand même ;-)

#32 xoum

xoum

    Hard Gamer

  • Membres
  • 257 messages

Posté 04 December 2012 - 10:57

@xoum : Je viens de mettre à jour le code. C'est mieux comme ça ? :-) C'est vraiment une syntaxe à la *** ce langage, mais là je pense que c'est pas trop mal.

Pour que tout le monde comprenne, le code est juste plus "joli", il n'y a rien de nouveau niveau fonctionnel entre la v1.0 et la v1.1 :-)


Ca commence à être très bien, bravo pour la rapidité :)

Juste quelques petite choses.

$AreaCorePath = GetPosToAnArray($AreaCorePath, 1154.44641113281, 693.430969238281, 0.100000008940697, 1, 25)
En autoit tu donnes tes variables directement en référence donc ceci devrait suffire

GetPosToAnArray($AreaCorePath, 1154.44641113281, 693.430969238281, 0.100000008940697, 1, 25)

Ensuite il faudrait faire la même chose pour les différentes variables : AreaFieldPath et AreaTowerPath.
Car la tu prévois déjà des séquences maximum défini et on ne pourra pas facilement en changer.

C'est pour ça qu'il faut refaire un tableau d'un tableau d'un tableau.

Essaye d'indenter ton code c'est un peu dure de le lire :).

Spoiler


Salut, y a t-il moyen d'adapter ton sequence.au3 pou rla fonction résurrection? Merci :)


Oui c'est possible mais on va devoir le faire dans l'ordre. Pour ne pas devoir retravailler chaque fonction.

#33 Alexown

Alexown

    Hard Gamer

  • Membres
  • 276 messages

Posté 04 December 2012 - 11:27

@Alexown : Met ta modif dans Func UsePath(ByRef $path), c'est MoveToPos modifiée


Merci bien l'ami !

#34 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 04 December 2012 - 11:34

$AreaCorePath = GetPosToAnArray($AreaCorePath, 1154.44641113281, 693.430969238281, 0.100000008940697, 1, 25)
En autoit tu donnes tes variables directement en référence donc ceci devrait suffire

GetPosToAnArray($AreaCorePath, 1154.44641113281, 693.430969238281, 0.100000008940697, 1, 25)


Ha ouais, good :-) Je ferai le ménage ce soir.

Ensuite il faudrait faire la même chose pour les différentes variables : AreaFieldPath et AreaTowerPath.
Car la tu prévois déjà des séquences maximum défini et on ne pourra pas facilement en changer.

C'est pour ça qu'il faut refaire un tableau d'un tableau d'un tableau.


Je ne comprends pas en quoi c'est pas flexible. :( Les 3 trajets sont bien séparés et éditable chacun de leur coté. Si je veux en ajouter un ou en supprimer un suffit de modifier en 2 secondes la fonction sequence(). Toi tu veux une dimension supérieure dans le tableau réservées aux trajets, je ne vois pas ce que j'y gagne. Et j'ai peur de complexifier la lecture, car les tableaux > 2 dimensions, ça fait pas du code super joli. Peux-tu développer stp ?

Essaye d'indenter ton code c'est un peu dure de le lire :).

Les balises spoiler cassent mon indentation, mais je viens de voir comment tu fais, tu mets une balise code dans la balise spoiler, belle astuce ! Idem je ferai ça dés que possible.

Merci pour tes remarques.

#35 xoum

xoum

    Hard Gamer

  • Membres
  • 257 messages

Posté 04 December 2012 - 11:49

Je m'avance un peu en faite.

Car il va y avoir une fonction qui pourra lire les séquences directement depuis des fichier.
Puis une fonction qui permettra de revivre la personne en fonction de ce qu'elle a déjà fait.

C'est trois fonctions se ressemble et il faut partir sur les mêmes bases pour pouvoir les liées le plus facilement possible.

Mais ne change rien pour l'instant tu as raisons.

(J'ai l'habitude de travailler avec des matrices de 3 voir 4 dimensions, mais c'est vrai que dans un code cela ne reste pas forcement claire.
On verra comment on fera plus tard.)

#36 Alexown

Alexown

    Hard Gamer

  • Membres
  • 276 messages

Posté 04 December 2012 - 11:55

(J'ai l'habitude de travailler avec des matrices de 3 voir 4 dimensions, mais c'est vrai que dans un code cela ne reste pas forcement claire.
On verra comment on fera plus tard.)


Tu peux pas donner des noms a certaines dimensions pour rendre le code plus clair...admettons la première, par exemple :

$Mon_array['deplacement'][$X][$Y][$Z]

$Ton_array['attaque']['skill']['bind'][$delay_skill]

Des truc comme ça quoi...donner des noms aux dimensions qui sont "fixes"...je sais même pas si c'est possible en autoit btw... :)

#37 warzonefury

warzonefury

    The Butcher

  • Membres
  • 41 messages

Posté 04 December 2012 - 13:24

Niquel ! Je vous laisse bosser ^^ je reviendrai quand ce sera plus abouti!

#38 kickbar

kickbar

    Devlopette

  • Membre
  • 539 messages
  • Hobbies :Informatiques, jeux vidéo, botting !!!! ;D

Posté 04 December 2012 - 13:44

Bon alors, d’après l'idée de Mat et à la demande de xoum, j'ai ajouter une petite fonctionnalité au revive, lorsque l'on revive la fonction s’appelle elle même pour relancer la séquence en cour depuis le début.
Si nous nous trouvons sur une séquence ronde (ndlr: le point de départ et le point d'arrivée sont le même) après le revive la fonction calcule si il ne serait pas plus avantage d'inverser l'array de base, en partant de la fin en sens inverse jusqu'au point de decé puis repartir dans le bon sens pour finir la séquence en cour.

En devellopant ceci, je me suis rendu compte de deux chose :

- d'une l’amélioration des déplacements rentrera en conflit avec la réécriture de l'array (puisqu'il s'agit d'un aller retour, la fonction voudra abrégé le chemin vers la fin)

- la gestion des déplacements sous forme d'array empêche actuellement d'utiliser toute commande, t'elle que -> sleep, send, InteractByActorName etc... (il va donc falloir travailler ce point !)


Bon j'avoue que je post pas vraiment au bon endroit mais bon ;D

je serais toi Ultos, je mettrais en stand-by le développement de ta fonction en attendant la nouvelle version du bot.
Car moi qui boss sur le revive + chargement des séquences depuis un fichier txt + toi qui améliore le déplacement + hammer qui modifie les routines d'attaque et de grabit. Au final on boss tous sur la même portion de code et je pense que tout ne vas pas s’emboîter comme il faut ;D.

Si tu as un micro, mp moi je te donnerais l'adresse de mon serveur ts pour que l'on discute, peut être pourront nous trouver une méthodologie de travail pour faire fonctionne nos fonctions de concert ;D
  • Tatane44 aime ceci

#39 Mido

Mido

    Newbie lvl 4

  • Membres
  • 31 messages

Posté 06 December 2012 - 18:40

SVN est peut être l'outil qu'il vous faut ;-)

#40 SponZz

SponZz

    Débutant lvl 2

  • Membres
  • 62 messages
  • Location :France

Posté 07 December 2012 - 09:23

Salut tout le monde,

D'abord merci Ultos pour ton travail qui est super,
et que je n'arrive pas a mettre en place -.- quand je fais toute les modification à appoter
et que je lance le bot celui ci ne bouge pas et ce message s'affiche dans les logs

Spoiler


Je ne vois pas ce qui ne va pas dans les modification que je fais (je suis aussi nul en codage
qu'un cheval au football).

Voila si vous pouvez me venir en aide je vous remercie.
Image IPB