Hello,
Il est temps pour moi de vous faire part de mon projet sur lequel j'ai travaillé ces derniers temps : un logiciel de gestion semi-automatique de vos sessions de jeu en multi-compte.
Introduction longue et inutile
Cliquez pour révéler
Cliquez pour masquer
Après avoir réalisé un bot récolte "pixelsearch" de piètre qualité en python, j'ai ensuite étudié le protocole de Dofus 1.X afin d'en améliorer les performances. Sans vouloir rejoindre la philosophie des bots socket/mitm de flooder massivement les serveurs de bot, j'ai cherché à rendre la fenêtre autonome en arrière-plan via le protocole windows Win32 pour en faire un simple logiciel d'aide ponctuelle, permettant ainsi d'étudier ou de travailler pendant que son cher personnage récolte paisiblement et d'être à l'affût si un brigand de rageux t'envoie un "T un bot ?".
Malheureusement, la saturation des spot de ressources et la hargne sans relâche des joueurs m'ont poussé à changer de priorité dé développement. Après m'avoir fait découvrir le farming multicompte (j'ai toujours été un bro du mono les gars, sorry) et sa mécanique atroce à s'en arracher les poils, je me suis chauffé recycler mon code en un petit tool pour transformer ce "atroce" en "douce comme un nuage monocompte". Et franchement, ça claque !
Fonctionnalités
En gros, le principe est d'éviter au maximum les alt-echap et les clics répétitifs pour donner l'impression de jouer en monocompte.
- Logger des comptes
- Auto-Enter combat
- Auto-Ready
- Switch Auto-Focus/Auto-Pass
- Auto-Close drops window
- Auto-Focus avec un switch pour les échanges [En développement]
Pas de modifs Core ou autre
Pas d'envoi de paquets, que de la lecture et des actions clicks/keys avec des délais opti mais humains
Du coup, c'est indétectable, pas de risque de se faire ban :)
Interface graphique et fichier de configuration .txt
![img]()
En cliquant sur le bouton "Initialiser", Ankam4te va tenter d'ouvrir la fenêtre et de connecter le perso pour chaque compte. Si c'est réussi la couleur passe au vert, sinon pour un lag supérieur à 5s, il ferme la fenêtre, change la couleur au rouge et dégrise le bouton "Reconnecter" pour relancer une tentative de tous les persos qui n'ont pas pu être connectés. Bon d'accord l'interface est moche mais la fonctionnalité prime sur la beauté pour l'instant :p
Les persos marqués du tag "chief" ne sont pas affectés par l'auto-pass et doivent être entrés manuellement: Lancer un combat avec un des deux chefs fait apparaître après un délai de 2s la fenêtre de l'autre chef pour le rentrer soi-même. Une fois les deux chefs dans le combat, l'auto-enter des autres perso est activé suivi de l'auto-ready.
Diagramme de fonctionnement du code
Code source
Cliquez pour révéler
Cliquez pour masquer
Si on était dans la partie privée, la question ne se poserait même pas ! Malheureusement, dans cette section libre à tous, trop de gens malhonnêtes sont à l'affût pour s'approprier le travail des autres. Je sais qu'il est impossible de réellement protéger son code en python, donc probablement que la meilleur option sera de faire un joli site web bien référencé et de le partager en open source pour éviter que des couillons ne puissent le revendre... De toute façon, Ankam4te n'est pas encore assez sexy que pour être partagé ou commercialisé mais je vous avoue que l'idée de pouvoir substituer une partie de mon job étudiant en une activité de développement de tools pour la communauté de joueurs me ferait vraiment plaisir. Eh oui encore une histoire de pèze c'est pas cool mais c'est ça la vie d'étudiant, encore deux ans à tirer avant mon diplôme moi :'( Et entre programmer ou aller au carrefour, le choix est vite fait. Certains d'entre vous ont sûrement plus d'expérience sur cette question, je serais curieux de connaître votre avis.
J'ai essayé de programmer orienté objet de la manière la moins sale possible, dans les limites de mes compétences bien sûr... Ce diagramme me permet de vous partager les grandes lignes sans pour autant jeter mon code au premier malhonnête venu. Si quelqu'un cale dans la réalisation d'un projet similaire, je lui partagerai volontiers les lignes de code utiles et répondrai à ses questions ! Pour les vieux singes du forum en quête de divertissement, je suis ouvert à la critique pour m'améliorer :teeth:
![img]()
Voilà, il y a surement bien des façons de l'améliorer, notamment en supprimant cette dépendance des classes Player/Team au Logger qui fait un peu trop poupée russe à mon goût. J'avais codé ça de cette manière car le handle de chaque fenêtre est récupéré à la connexion et utilisé pour instancier chaque Player et son inputter de clicks/keys. Du coup en l'état actuel des chose, si tu fermes une fenêtre tu perds le handle et faut relancer ankam4te (bon ça craint mais c'est pas sensé arriver).
In Fine
Le but de ce post est de partager mes idées et échanger des opinions dessus donc n'hésitez pas à me faire part des vôtres. Je tiens à rappeler que je ne suis pas programmeur de profession, je fais ça juste par passion dans les limites de mes compétences. C'est un tout petit projet comparé à un bot socket complet, mais c'est fonctionnel et puis vous savez ce qu'on dit : les petites rivières font les grands fleuves !