Aller au contenu


Photo

Pre-Release 7.0


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

#41 bilabou

bilabou

    Hard Gamer

  • Membres
  • 330 messages
  • Hobbies :Echecs, sports de combat

Posté 25 January 2013 - 21:41

ah depuis le temps que mon bot rêvait d'utiliser berseker sur les élites !!! ;)

Toujours quelques temps de latence parfois, le temps d'encaisser quelques baffes avant de réagir de nouveaux.

En tout cas, ça sent bon, très très bon la future version "officielle" de GMS.

Le bot va bientôt mieux jouer que moi :D

#42 azerfg

azerfg

    Newbie lvl 2

  • Membres
  • 4 messages

Posté 25 January 2013 - 22:01

Salut c'est cool de mettre ça disposition, mais après avoir lu les trois pages, je m'étonne de ne pas avoir vu un petit noob comme moi demander :
"mais si y a pas de .exe où est ce que je clique ??" : p

faut faire comment ? un truc a compiler ou un fichier à récupérer dans la version "officiel" ?

#43 maanu

maanu

    Gamer lvl 1

  • Membres
  • 144 messages

Posté 25 January 2013 - 22:02

Après pas mal de test je suis dans l’ensemble satisfait de cette version.

Pour résumé je dirais qu'il faudrait rajouter les fonctions déjà existante dans cette version, afin qu'elle soit bien complète.
Ainsi l'utilisateur du bot à le choix d'activer ou pas les fonctions (true/false) ce qui donne une utilisation bien plus facile pour tout le monde.

Les points positifs

- l'attaque des monstres au plus proches
- la gestion des élites avec les spells
- plus rapide encore
- reste beaucoup moins bloqué que la version précédente (quitte la partie plus vite)


Les fonctions à améliorer :

- fonctions shrines à prendre uniquement si il est à x mètres de nous
- fonctions mobs : si un montre est effrayé, ne pas le suivre donc prendre toujours la cible la plus proche

#44 fifou94

fifou94

    Newbie lvl 4

  • Membres
  • 34 messages

Posté 25 January 2013 - 22:03

Voici le fichier contenant tout les fichiers nécessaire pour faire tourner le bot (il n'y a pas d’exécutable !)



Merci de ta réponse...

Tu dis pas d'exécutable donc on fait comment ?

#45 jeremss

jeremss

    Newbie lvl 2

  • Membres
  • 5 messages

Posté 25 January 2013 - 22:30

ah depuis le temps que mon bot rêvait d'utiliser berseker sur les élites !!! ;)

Toujours quelques temps de latence parfois, le temps d'encaisser quelques baffes avant de réagir de nouveaux.

En tout cas, ça sent bon, très très bon la future version "officielle" de GMS.

Le bot va bientôt mieux jouer que moi :D



salut et merci pour ce bot !! possible de poster ton settings et tes comp pour ton barb bilabou ? merci :D

#46 SponZz

SponZz

    Débutant lvl 2

  • Membres
  • 62 messages
  • Location :France

Posté 25 January 2013 - 23:29

Salut

Tout d'abord gg pour le boulot effectué.
Mais pour moi malheureusement les stats son moins productifs mes temps de run son
un tout petit peu plus long et mon gold/h est plus bas qu'avant.
Et pour se qui est du nombre de mort sa reste la même chose je meurs tout les 30 runs a peu prés.

SponZz
Image IPB

#47 Lokiro

Lokiro

    Fragger

  • Bannis
  • 911 messages
  • Location :Quebec
  • Hobbies :GMS Hacks/Bots

Posté 25 January 2013 - 23:31

Salut c'est cool de mettre ça disposition, mais après avoir lu les trois pages, je m'étonne de ne pas avoir vu un petit noob comme moi demander :
"mais si y a pas de .exe où est ce que je clique ??" : p

faut faire comment ? un truc a compiler ou un fichier à récupérer dans la version "officiel" ?


Merci d'aller te présenter comme écrit dans les règlements. Ensuite ton problème pourrait se voir apporter une solution.

☻ℓιкε α ßõ§§ ☺

Image IPB

Mes Fonctions

[Fonction] Désactiver L'identification D'items

Ma Chaine Youtube

http://www.youtube.com/user/JokersQc


#48 Gfreeman

Gfreeman

    Gamer lvl 2

  • Membres
  • 160 messages

Posté 26 January 2013 - 00:01

Après quelques heures passées à tester votre bot. Premier constat.

Les moins
1/
Toujours pas fait pour les classes faibles. Ma dh a passé sa vie par mort à terre. Bon, là, c'est noté dans le titre, je n'avais qu'à lire. Aucune excuse.

2/
J'ai l'impression que la fonction FromD3toScreenCoords est "bogué", je m'explique. Dans le cas de classe CAC, vu que l'on est toujours collé au corps à corps avec les monstres, la distance entre votre perso et le monstre ne dépasse jamais grand max 20m sur l'axe des ordonnées. Votre perso, toujours au centre de l'écran, tape les vilains dans un rayon de 20m, donc aucun problème. Hors, si jamais vous devez dépasser, toujours sur l'axe des ordonnées, les 50m, votre curseur s'arrêtera avant et n'atteindra jamais le monstre si celui-ci est collé en haut de votre fenêtre. Attention, je ne parle pas ici des limitations induites par votre code, à savoir les valeurs maximales 790, 540 ou autres. Dans l'absolu, ce n'est pas bien grave, vu que la trajectoire, en x et y+/- est bonne. Mais c'est dommage. J'ai apporté les modifications suivantes et elles semblent résoudre le problème. Dans mon cas. A voir maintenant si ces modifications ne portent pas à conséquences sur d'autres parties.

Spoiler


3/
Idem pour cette fonction

Spoiler

Ne devrions nous pas avoir $return[0] = $size[0] * ($_x / 800) ?

Plus
- Énorme travail sur le code. Plus claire, lisible, plus OO. La partie iterateObjectsList à effectivement été revue en profondeur. Ça va être sport maintenant de s'adapter.
- Ma foule plaintive et ma litanie des preux vous remercient. Enfin surtout le skeleton. Je vais arrêter de tourner en rond à vouloir le tuer !!!
- Pour le reste des améliorations, j'en profiterai dans un futur proche une fois que j'aurais terminé ma Dh et mon WitchDoctor.

Merci pour vos efforts, votre travail et toutes ces améliorations :)

#49 Opkllhibus

Opkllhibus

    13h_M4513r3r

  • Admin Gms
  • 478 messages
  • Trade : Mediator

Posté 26 January 2013 - 04:07

2/
J'ai l'impression que la fonction FromD3toScreenCoords est "bogué", je m'explique. Dans le cas de classe CAC, vu que l'on est toujours collé au corps à corps avec les monstres, la distance entre votre perso et le monstre ne dépasse jamais grand max 20m sur l'axe des ordonnées. Votre perso, toujours au centre de l'écran, tape les vilains dans un rayon de 20m, donc aucun problème. Hors, si jamais vous devez dépasser, toujours sur l'axe des ordonnées, les 50m, votre curseur s'arrêtera avant et n'atteindra jamais le monstre si celui-ci est collé en haut de votre fenêtre. Attention, je ne parle pas ici des limitations induites par votre code, à savoir les valeurs maximales 790, 540 ou autres. Dans l'absolu, ce n'est pas bien grave, vu que la trajectoire, en x et y+/- est bonne. Mais c'est dommage. J'ai apporté les modifications suivantes et elles semblent résoudre le problème. Dans mon cas. A voir maintenant si ces modifications ne portent pas à conséquences sur d'autres parties.

Spoiler

J'ai l'impression que le problème que tu décris devrait plutôt être géré dans ta fonction d'attaque, je m'explique:
Pour un CaC le fait que le rayon d'aggro dessine un cercle qui sorte de la fenêtre n'est pas gênant: en cliquant au bord de la fenêtre comme fait actuellement tu va t'en rapprocher jusqu'à ce que tu puisse le taper et lorsque tu es à portée pour taper le monstre, il est forcément affiché à l'écran.
Dans le cas d'un distance tu vas t'en rapprocher et commencer à l'attaquer lorsqu'il va rentrer dans ton écran (la direction est bonne), ce qui te fais attaquer bien trop tard/ t’empêche de garder la distance que tu voudrais.
Mon avis est plutôt de modifier la fonction d'attaque en utilisant des shift down/up que de toucher à la fonction qui fait la projection (quoique tu ne touche pas réellement à la projection avec ta modification, juste au fail-safe pour ne pas sortir de la fenêtre du jeu).
Après je t'ai p-e mal compris et ce que tu décris n'a rien à voir avec ma réponse.


3/
Idem pour cette fonction

Spoiler

Ne devrions nous pas avoir $return[0] = $size[0] * ($_x / 800) ?

Non, le plus simple pour le comprendre est de mettre Diablo en fenêtré et de faire 'joujou' avec les bords de la fenêtre, tu te rendras vite compte que le ratio de *certains* éléments de l'ui ne dépend que de la hauteur de ta fenêtre et non de sa largeur, c'est pourquoi on divise par 600 et non 800. Cependant j'avais écris cette fonction dans le but de permettre au bot de gérer d'autres résolutions que 800x600 au moment du toolkit, je dois avouer qu'à partir du moment ou tout le monde bot en 800x600 (je n'en sais rien) elle n'a sans doute plus lieu d'être. (et puis elle est pas hyper fine cette fonction, voir un peu buggy de souvenir)



Sur ce bonne nuit, je retourne dans ma grotte.
  • Lokiro aime ceci
Service baffes, 16h/24, 7j/7

#50 kickbar

kickbar

    Devlopette

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

Posté 26 January 2013 - 05:59

Pas d'usage de potion


J'ai tout simplement oublier de remettre cette fonction xD, ne vous inquiétez pas, il y aura bien une gestion des popo ^^,
sa ne m'as juste pas sauter au yeux car je ne les utilise plus depuis fort longtemps ;D


Ne se sert jamais de sérénité


Personnellement, je n'ai aucun problème avec ce sort, il s'enclenche très bien, le seul problème vient d'autoit, qui parfois met légèrement trop de temps a comprendre qu'il faut l'enclencher.
En toute logique la réactivité de ce sort devrait être identique voir légèrement meilleur que sur les anciennes version


Step frappes trop souvent utilisé quand un seul élite au cac (du coup pas très rentable)


je vais retravailler la dessus, en ajoutant un algo de comptage de mob, si on a plus de 3 mob dont 1 elite dans un rayon de 10m, on enclenchera les septs frappes


Si je mets en pause pour prendre la main, a tendance à quitter le run si trop loin du point de départ de la pause


Pourquoi mettre pause ? Oo


SequenceFile=act3_core_start_[1-5]|act3_field_1|act3_tower_[1-4]|[CMD]TakeWP=0,0,3,4


- charge le fichier act3_core_start_1.txt OU act3_core_start_2.txt OU act3_core_start_3.txt OU act3_core_start_4.txt OU act3_core_start_5.txt
- charge le fichier act3_field_1
- charge le fichier act3_tower_1.txt OU act3_tower_2.txt etc...
- enclenche la fonction TakeWp(0,0,3,4) (dans le cas présent, retour en ville)


Serait-il possible de prendre en compte : si focus effrayée ne pas courir après mais prendre la cible d'à côté
je suis bloqué par un obstacle (retour à ma position précédente qui recalcule une autre position


Oui, cela devrai être plutôt simple a faire, j'avais aussi pensé, si on tape un monstre "baltringue" qui nous emmène trop loin de notre point de première attaque, de switch sur un autre mob (si existant).
j'ai juste peur qu'un tel algo soit préjudiciable vis a vis des mob comme les gobelins (a tester)


Combo poison/sentinelle arca (ou autre) je dégage vers une zone saine.


La gestion des affixe pour les classes au Cac est juste une très mauvaise idée ^^
la seul possibilité serait -> Si il n'y a plus de mob, on attend qu'il n'y ai plus d'affixe au sol pour grab


Le bot va bientôt mieux jouer que moi


Pour ma part, c'est déjà le cas xD, il switch plus vite de target que moi et utilise mieux les buffs.


La partie iterateObjectsList à effectivement été revue en profondeur. Ça va être sport maintenant de s'adapter.


Je me suis au combien pris la tête sur l'iterateObjectsList, la fonction attack et toute ces dépendances, mais je pense que sa en valais le coup, les prochains développeur devrait être heureux de pouvoir dev sur un code "compréhensible".


Toujours pas fait pour les classes faibles. Ma dh a passé sa vie par mort à terre. Bon, là, c'est noté dans le titre, je n'avais qu'à lire. Aucune excuse.


essaye en modifiant ces lignes dans le setting.ini :

MonsterTri=True
MonsterRefresh=True/false ;(a voir)
ItemRefresh=False
MonsterPriority=True

MonsterTri, force le code a trier les mobs et les items en fonction de leur distance
MonsterRefresh, force le code a rafraîchir tout les objets et a les trier (si activé) a chaque fois qu'un mob est tué
ItemRefresh, fait la même chose que MonsterRefresh, sauf qu'il le fait lorsque qu'un item est grab
MonsterPriority, force le bot a tuer tout les mobs présent avant de grab, cette fonctionnalité est très bonne pour les distants

#51 Gfreeman

Gfreeman

    Gamer lvl 2

  • Membres
  • 160 messages

Posté 26 January 2013 - 06:43

J'ai l'impression que le problème que tu décris devrait plutôt être géré dans ta fonction d'attaque, je m'explique:Pour un CaC le fait que le rayon d'aggro dessine un cercle qui sorte de la fenêtre n'est pas gênant: en cliquant au bord de la fenêtre comme fait actuellement tu va t'en rapprocher jusqu'à ce que tu puisse le taper et lorsque tu es à portée pour taper le monstre, il est forcément affiché à l'écran.Dans le cas d'un distance tu vas t'en rapprocher et commencer à l'attaquer lorsqu'il va rentrer dans ton écran (la direction est bonne), ce qui te fais attaquer bien trop tard/ t’empêche de garder la distance que tu voudrais.Mon avis est plutôt de modifier la fonction d'attaque en utilisant des shift down/up que de toucher à la fonction qui fait la projection (quoique tu ne touche pas réellement à la projection avec ta modification, juste au fail-safe pour ne pas sortir de la fenêtre du jeu).Après je t'ai p-e mal compris et ce que tu décris n'a rien à voir avec ma réponse.


Ola senor !

Après relecture de mes explications, je comprends mieux pourquoi il eu été difficile de me comprendre. C'est du grand n'importe quoi. J'étais pris par la fièvre du Samedi Vendredi soir. Pour être plus clair et concis, la valeur maximale définie sur l'axe des ordonnés est fixée par ce nombre, à savoir 0.7. 1 semble correspondre à 100% de la hauteur de notre tube cathodique écran OLE. Baisser cette valeur réduit la distance de déplacement de la souris. Comme je joue en plein écran, c'est peut-être beaucoup plus flagrant qu'en mode fenêtré. Le tir de bola met clairement en évidence cette particularité.

Note: J'utilisais déjà l'instruction Send("{SHIFTDOWN}") dans Killmob, donc non, c'était pas ça :lol:
Spoiler


Spoiler

Comme illustré ci-dessus (remarquez la maîtrise de Paint !), la partie verte est la zone maximale définie par la valeur 0.7. Au delà, partie rouge, le curseur n'ira jamais.

Non, le plus simple pour le comprendre est de mettre Diablo en fenêtré et de faire 'joujou' avec les bords de la fenêtre, tu te rendras vite compte que le ratio de *certains* éléments de l'ui ne dépend que de la hauteur de ta fenêtre et non de sa largeur, c'est pourquoi on divise par 600 et non 800. Cependant j'avais écris cette fonction dans le but de permettre au bot de gérer d'autres résolutions que 800x600 au moment du toolkit, je dois avouer qu'à partir du moment ou tout le monde bot en 800x600 (je n'en sais rien) elle n'a sans doute plus lieu d'être. (et puis elle est pas hyper fine cette fonction, voir un peu buggy de souvenir)Sur ce bonne nuit, je retourne dans ma grotte.

Ok, je me doutais un peu de la réponse. Merci pour cette précision.

#52 Gfreeman

Gfreeman

    Gamer lvl 2

  • Membres
  • 160 messages

Posté 26 January 2013 - 07:02

Je me suis au combien pris la tête sur l'iterateObjectsList, la fonction attack et toute ces dépendances, mais je pense que sa en valais le coup, les prochains développeur devrait être heureux de pouvoir dev sur un code "compréhensible".

Je me doute, j'ai pu compter le nombre d’imbrication de fonctions. Pas évident au premier coup d'oeil de comprendre le code :wacko:. Idem pour Attack.

essaye en modifiant ces lignes dans le setting.ini :

MonsterTri=True
MonsterRefresh=True/false ;(a voir)
ItemRefresh=False
MonsterPriority=True

MonsterTri, force le code a trier les mobs et les items en fonction de leur distance
MonsterRefresh, force le code a rafraîchir tout les objets et a les trier (si activé) a chaque fois qu'un mob est tué
ItemRefresh, fait la même chose que MonsterRefresh, sauf qu'il le fait lorsque qu'un item est grab
MonsterPriority, force le bot a tuer tout les mobs présent avant de grab, cette fonctionnalité est très bonne pour les distants

J'ai pu remarquer effectivement la présence du tri. Très bonne option. Cela dit, cela n'a pas changé grand chose. Même avec un DPS de 207k, ton perso n'a pas fini de tuer le premier vilain que tous ces potes sont autour de toi à te taper dessus. La fonction MonsterPriority était à true.
Pas grave en soit. J'adapterai mon code à cette version. J'attends avant la sortie du correctif 1.07 et votre nouvelle release (dans sa version finale).

EDIT:
Je vais arrêter de pourrir le sujet initial :P

EDIT 2:
Certaines parties de MoveToPos ont changé. Histoire de compléter vos améliorations. Modifier les premières valeurs en X et Y des cordonnées de la souris peut-être une idée "intéressante".

   $aData_RndX = Random($aData_XY[0] - Random(18,28), $aData_XY[0] + Random(18,28))
   $aData_RndY = Random($aData_XY[1] - Random(18,28), $aData_XY[1] + Random(18,28))


#53 azerfg

azerfg

    Newbie lvl 2

  • Membres
  • 4 messages

Posté 26 January 2013 - 14:22

Ouais on est deux a avoir pausé la questions c'est cool de voir des réponses de 30 lignes et pas une petite ligne du genre :

" gros péon va lire le post "officiel" du bot c'est marqué "

bref pour ce qui se demande y a juste à installer autoit 2s à dl 2 autre pour installer et vous lancez ensuite main.au3 et ça bot : p

sinon c'est cool le bot à l'air plus intelligent au niveau des cibles attaqué mais bizarrement pas de grosse différence au final sur le temps, l'xp et les po gagner mais j'ai pas étudier ça attentivement

#54 chris123

chris123

    Débutant lvl 2

  • Membres
  • 62 messages

Posté 26 January 2013 - 16:05

Chouette et tout et tout :).
Je poste pour un msg d'erreur, je sais pas par contre si c'est ton bot spécialement ou autre chose (arrivé après 23runs, donc pas directement):

Line 4714 (File (...)\toolkit.au3):

ContinueLoop 2

Error: "ContinueLoop" statement with no matching "While", "Do" or "For" statement.

Voili voilou, j'espère être utile ^^

#55 setsuna75

setsuna75

    Newbie lvl 2

  • Membres
  • 6 messages

Posté 26 January 2013 - 16:35

Bonjour,

Merci pour cette version du bot, ça marche très bien pour mon monk 100 parangon ^^.
Par contre, comment peut-on faire en sorte qu'il utilise les potions?
A la place de pied léger, j'utilise le passif "experience de mort" en PM4. Le problème est que lorsque je ressuscite grâce au passif, il n'utilise plus du tout le Souffle Divin pour regagner de la vie, pendant tout le temps de cooldown du passif (1mn). Que faut-il faire pour régler ça?
Dernièrement, je trouve qu'il utilise un peu trop souvent les 7 frappes qui sont très gourmandes en esprit ^^

Sinon ta version du bot est beaucoup plus productive et rapide, continues de l'améliorer et ce sera parfait :)

#56 noodles

noodles

    Newbie lvl 1

  • Membres
  • 2 messages

Posté 26 January 2013 - 17:56

Bonjour,

Outre tous les points positifs déjà évoqués précédemment dans ce topic, voila quelques "points bloquants" que j'ai rencontré plusieurs fois :

- quand le bot va chez asmodan (ça arrive quand on tombe d'entrée sur des mobs), il va essayer de tp (chose impossible dans la zone), puis va enclencher un "quitter la partie". Le problème, c'est qu'ensuite, il va rester sur un "checking if in town" alors qu'il est sur l'écran de création de partie. Et à partir de la, il ne se passe plus rien.

- lorsque l'on quitte une partie, il peut arriver que l'on ai la fenêtre "déconnexion réseau" (la même fenêtre que lorsque l'on est afk depuis 30min en partie). Cette fenêtre n'est pas prise en charge, et du coup, le bot reste bloqué dessus.

#57 kickbar

kickbar

    Devlopette

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

Posté 26 January 2013 - 18:47

Pour ajouter la gestion des potions :

Dans toolkit.au3 ->


Chercher la fonction GestSpellcast et ajouter dedans, juste avant le "For"

checkForPotion()


#58 Homicidal

Homicidal

    Newbie lvl 4

  • Membres
  • 29 messages
  • Location :Belgique

Posté 26 January 2013 - 20:14

Un grand bravo pour votre travail, je vous ferai un retour dés que possible.
Bonne continuation à toute l'équipe.
Si derrière chaque barbe il y avait de la sagesse, toutes les chèvres seraient des prophètes.

#59 Softyus

Softyus

    Débutant lvl 2

  • Membres
  • 47 messages
  • Location :Leugnies
  • Hobbies :Infographie - Webdesign - Sortie - Natation - Soirée

Posté 26 January 2013 - 21:17

Le Bot est juste pour un moine ou on peux l'adapter pour un barbare ?

Si tu voie un double post ce n'est pas volontaire, ma souris fait des quadruple clique aleatoirement :sImage IPBAnti-Virus gratuit ? Avast!


#60 Yoda51

Yoda51

    Newbie lvl 2

  • Membres
  • 6 messages

Posté 27 January 2013 - 01:18

Bonjour,

Je sais que le Bot est opti pour moine par contre je me suis amusé a le configuré pour ma DH.

Les +:
- La gestion des Elites est top
- La gestion de la distance est egalement excellente
- Le Bot se bloque beaucoup moins (je suis passé de 6min a 5min30 environ par run)

Les points a amelioré:
- Au final pas de gain de PO/Heure
- Les potions ne sont plus géré (Merci pour l'update, j'irais ajouter le checkForPotion)
- Le monsterPriority ne marche pas lorsque je le met a true (je vais essayé de voir pouquoi)
- La nouvelle commande "move" me semble trop adapté au moine (peut etre parcqu'il s'agit de la version moine justement)

Remarque sur la nouvelle commande move:
Je pense que la commande move ne devrait pas se baser sur un buff/canalisation mais devrait permettre de lancer certaine competence lorsque nous sommes hors combat.
Cela permetterais au DH de lancé leur roulade lors du déplacement, Pareil pour le sprint du barbare etc... Pour le moment, mettre la roulade comme un sort de "move" donne des resultats tres bizarre.

Pour remplacer le timer/canalisation mis en place sur le "move" je pense qu'on pourrait ajouter un nouveau parametre forcant l'utilisation d'un skill pendant x ms, du genre:
SpellDelayPushDown = x ms

Cela permetterai d'avoir des combos:
SpellType = move (lance uniquement un skill dedié au déplacement - un saut, une roulade, un sprint, un TP...)
SpellType = move&buff (lance un buff uniquement dédié au déplacement - se rafraichi lorsque le buff se termine)

SpellType = attack         |
...                        | ==> Permet l'utilisation de skill qui demande un appuie prolongé en combat (Tornade, la rafale du DH...)
SpellDelayPushDown = 200   |

SpellType = move           |
...                        | ==> Permet l'utilisation de skill qui demande un appuie prolongé hors combat(...)
SpellDelayPushDown = 200   |


Voila, peut etre aviez vous deja reflechi a des choses comme cela.
Je ne vois certainement pas tous les problemes pour le moment :).

Merci en tout cas pour le boulot effectué !



[EDIT]: Je suis un gros boulet, je n'avais pas vu que dans le settings.ini original le tempestRush était en commentaire... J'imagine donc que la fonctionnalité "move" n'est pas encore dispo :D