Aller au contenu


Photo

Nouvel Algorithme De Déplacement


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

#1 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 02 December 2012 - 15:46

*
MESSAGE POPULAIRE !

Bonjour,

Je viens de modifier l'algo pour le déplacement du bot :-)
Je pense que vous l'avez remarqué, mais le bot revient souvent sur ses propres pas.

Actuellement le bot se déplace de cette façon :
- Va au point A
- Sur le chemin bute tout les monstres et ramasse tous les drops
- Une fois point va au point B.
- ...

Le problème c'est que si j'ai croisé beaucoup de monstres, je suis peut être à l'autre bout de la map. Le bot va donc faire un demi-tour pour aller jusqu'au point A. Puis reprendre son chemin.

J'ai donc modifié l'algo de cette façon :
- Va au point A
- Sur le chemin bute tout les monstres et ramasse tous les drops
- Quel est le point le plus proche qui va dans la bonne direction ? -> X
- Va au point X
- ...

De cette façon, le bot ignore certain point de passage et ne retourne plus sur ses pas.
Je l'ai testé quelques heures, et je n'ai pas trouvé de bugs pour le moment :-)


Pour réaliser ceci j'ai complètement modifié le fichier sequence.au3 et j'ai créé un nouveau fichier usePath.au3 qui contient les méthodes du nouvel algo.
Il vous suffit donc de remplacer sequence.au3 (je vous conseille de faire un backup de l'ancien) et d'ajouter usePath.au3 dans votre répertoire du bot. La séquence est celle par défaut : Coeur --> Champ --> Tour.

Si vous ne pouvez pas utiliser mes fichiers (suite à une de vos modifs ou une séquence utilisée différente), voici les modifications a apporter :

- Tout d'abord, la séquence est totalement modifiée, il faut fournir le trajet complet que le bot doit faire sur la map. Donc ne plus lui lui filer les points un par un, mais tous d'un coup. Voici la nouvelle méthode sequence() du fichier sequence.au3 :

Spoiler


Ensuite il faut une méthode qui remplace totalement MoveToPos(), celle-ci permettait d'aller à un point précis ! Il faut la remplacer par celle-ci (qui est une grosse modification de MovToPos()) qui prend en paramètre une liste de point qui représente le trajet. Remplacez MoveToPos par cette fonction dans le fichier toolkit.au3 :

Spoiler

J'avoue que MoveToPos est compliquée à comprendre, il y a des variables non utilisées et des vérifs partout sur des variables globales. Je pense qu'elle a été beaucoup patchée pour fixer des bugs. Donc j'espère ne pas trop avoir cassé ces différents patchs...

- Ensuite une nouvelle fonction qui permet de récupérer l'index de la prochaine position à atteindre. Ce point est le plus proche de la position courante du bot qui est dans la bonne direction et par lequel je ne suis pas déja passé. Il faut donc faire un peu de math :-) A ajouter dans toolkit.au3 :
Spoiler


Et pour finir, juste 2 méthodes min et max. A ajouter dans toolkit.au3 :

Spoiler


Bon botting ;-)

Fichier(s) joint(s)


  • Euclide_, maanu, mrpom et 7 autres aiment ceci

#2 maanu

maanu

    Gamer lvl 1

  • Membres
  • 144 messages

Posté 02 December 2012 - 17:19

à tester, merci :P

#3 Rudzan

Rudzan

    Hard Gamer

  • Membres
  • 285 messages

Posté 02 December 2012 - 17:41

Ha oui si ca fonctionne c est parfait! j'avais déjà annoncé que c'était assez problématique! merci de ta contribution

#4 nuloseninformatique

nuloseninformatique

    Débutant lvl 2

  • Membres
  • 66 messages

Posté 02 December 2012 - 21:51

juste une petite question ton run est sur la base :

Coeur + champ fin du run
Coeur + champ + fort de pierre , Fin run ?

#5 Chr1s

Chr1s

    Fragger

  • Membres
  • 756 messages

Posté 02 December 2012 - 23:36

Salut,
intéressant, merci pour ta contribution, c'est vrai que de revenir sur ses pas fait perdre pas mal de temps, je vais tester ça dés que possible, le temps de modifier ;).

Pour répondre à la question ci dessus, le run a priori c'est coeur + champs + tour.

Compte 1 (collector) principal : BANNI

Compte 2 : Parangon 741

Compte 3 [ON] : Parangon 755

Compte 4 du frangin : Parangon 642

ROS Bot : Script DH 2.2 multi build modifié avec rafale (strafe)

 

 

MERCI à GMS et à tous les contributeurs !!! userbarre_diablo_purple.jpg MERCI à GMS et à tous les contributeurs !!!


#6 xoum

xoum

    Hard Gamer

  • Membres
  • 257 messages

Posté 02 December 2012 - 23:41

Merci de décrire les changements directement dans les posts plutôt que d'envoyer juste les fichiers.

Si les motifs sont bien, elle seront intégrées dans les prochaines MAJ
  • Chr1s aime ceci

#7 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 03 December 2012 - 00:32

@nuloseninformatique : Je confirme la réponse de @Chr1s, c'est Coeur -> Champ -> Tour

@xoum : Sachant que j'ai totalement réécrit sequence.au3 et que je n'ai pas touché au reste, je n'en voyais pas l'utilité. Je viens tout de même d'éditer mon post pour expliquer quoi faire si des gens souhaitent le faire manuellement. Wala :-)

#8 Euclide_

Euclide_

    YOOOOOOOOOOO

  • Admin Gms
  • 8923 messages
  • Location :France
  • Trade : Mediator

Posté 03 December 2012 - 01:01

Le gain est t'il notable ? Si oui, combien ?

#9 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 03 December 2012 - 01:20

Le gain est t'il notable ? Si oui, combien ?

Oui le gain est notable.
En xp je suis passé environ de 24M/heure à 29M/heure, l'or je ne sais pas mais ça doit être dans le même ordre d'idée.
J'évite d'utiliser la stat "temps par run", car si il fait que la moitié des cartes, il peut aller très vite mais on gagnera rien.

Par contre il ignore certains petits détours, par exemple tout au début du coeur il devrait aller au bout de la rampe (pour voir si y'a un gob je suppose). Avec cet algo on voit bien dans les logs qu'il passe directement du point 10 au point 12, car il estime que le point 12 est plus près que le point 11.
Si des motivés peuvent tester et nous communiquer leur gain, ça serait sympa. Merci d'avance.

#10 nuloseninformatique

nuloseninformatique

    Débutant lvl 2

  • Membres
  • 66 messages

Posté 03 December 2012 - 01:21

je test cela demain , j'aurais 20h de run de test sur la version actuel , je vous dirais le gain avec ces modif ci :)

#11 hamer-xxx

hamer-xxx

    Gamer lvl 3

  • Membres
  • 235 messages

Posté 03 December 2012 - 01:42

Thanks, surement très utile pour les grosses modifications que je suis entrain d'apporté.

Cdt.

Image IPBImage IPB


#12 kickbar

kickbar

    Devlopette

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

Posté 03 December 2012 - 08:48

l'idée est bonne, le seul hic, c'est que sur un run autre que celui de base, si entre mon point de déplacement numéro 10 et mon point 12 par exemple, j'ai un obstacle, et que mon point 11 avait était définis spécialement pour pas bloquer a cette endroit la, si je fail donc mon movetopos de 10 à 12, le bot va essayer de faire le 11 ou passe au 13, au quel cas on reste bloqué ?

Souvent je récupère du gold/item lorsque le bot retourne en arrière pour récupérer le movetopos ou il se situé, cette fonction ferais perdre du gold et des items si je tue les monstres trop rapidement tout en avancent, puisque pas de retour en arrière ?

Niveau gold/exp je me doute que cela doit être rentable vu que les runs sont plus rapide, mais en terme de loot je me pose la question de savoir si on ne raterais pas trop de chose ?

Voila beaucoup de question :D

Beau travail en tout cas !

#13 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 03 December 2012 - 09:49

@kickbar :

- Si tu mattes mon sequence.au3 et celui d'origine, tu verras qu'il est assez simple de transformer ta propre séquence :-)
- Niveau rentabilité, non t'es gagnant, il revient toujours sur ses pas pour ramasser les loots qu'il a raté et tuer les monstres. A toi d'avoir une grabList correcte.

J'espère avoir correctement répondu à tes questions ;-)

#14 kickbar

kickbar

    Devlopette

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

Posté 03 December 2012 - 10:48

Vi faut juste que je test ;D sa devrait être bon, tu as la même gestion des mtp que m'a fonction revive

#15 kuikui

kuikui

    Hard Gamer

  • Membres
  • 310 messages

Posté 03 December 2012 - 11:29

fonctionne trés bien je gagne environ 30 - 50 sec par run

#16 Euclide_

Euclide_

    YOOOOOOOOOOO

  • Admin Gms
  • 8923 messages
  • Location :France
  • Trade : Mediator

Posté 03 December 2012 - 11:36

il revient toujours sur ses pas pour ramasser les loots qu'il a raté et tuer les monstres

Sauf si hors du range non ?

#17 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 03 December 2012 - 13:02

@kuikui : Yep ça c'est sur, mais est-ce que tu gagnes en XP et Gold ? C'est ça le vrai objectif :-)

@Euclide_ : Oui oui, je n'ai pas touché à cette partie. Les algos de ramassage des loots et celui du kill des mobs sont toujours les mêmes.

#18 naazz

naazz

    Débutant lvl 1

  • Membres
  • 37 messages

Posté 03 December 2012 - 13:27

Bon pour ma part j'ai constater une nette améliorations au niveau du temps. Plus d'une minute de gain. Alors assurément un gain d'xp sauf que je suis 100 donc je ne pourrait pas vous dire à quel point. Pour le gold 90kh je tourne a 590 en se momment. Je pourrai faire mieu avec plus de radius(28 presentement). J'ai rajouter le ramassage de gold étant donner qu'en ne retournant pas sur ses pas il loope plus de tas.
Image IPB

#19 kuikui

kuikui

    Hard Gamer

  • Membres
  • 310 messages

Posté 03 December 2012 - 13:59

@kuikui : Yep ça c'est sur, mais est-ce que tu gagnes en XP et Gold ? C'est ça le vrai objectif :-)

@Euclide_ : Oui oui, je n'ai pas touché à cette partie. Les algos de ramassage des loots et celui du kill des mobs sont toujours les mêmes.



pour le xp c'est sur vu que plus vite tu run plus tu fait de xp par heure .
pour le gold je peux pas te le dire vu que mon objectif et de monter mon troisième perso dh level 100.
Je ne ramasse que les légendaires .

#20 Ultos

Ultos

    Newbie lvl 3

  • Membres
  • 20 messages

Posté 03 December 2012 - 14:07

pour le xp c'est sur vu que plus vite tu run plus tu fait de xp par heure .
...


Non justement, imagine que l'algo soit foireux (apparemment il est pas foireux :P) et que tu rates la moitié des points de passage. Le bot ira beaucoup plus vite mais tu feras beaucoup moins d'xp. Pour chiffrer le gain, on peut donc utiliser que Xp/Heure et Gold/Heure