Touch Choses a apprendre pour pouvoir dev. un bot touch ?

Inscrit
18 Octobre 2019
Messages
5
Reactions
0
#1
Bonjour a tous,

Voila je post se petit sujet car j'aimerais si possible programmer un bot pour touch, qu'elle sont les connaissance a avoir exactement ?
j'ai les sources d'un emu pour touch mais j'ai du mal a comprendre d'où il trouve les information serveur etc...

J'espère que vous pourrez m'aider en moins un peut, part discords pourrait être le top.

merci d'avance a tous.
 

MaSTeR

Contributeur
Inscrit
20 Septembre 2016
Messages
32
Reactions
11
#2
Ça dépend du langage mais globalement :

- Comprendre le protocole HTTPS et WebSocket (à travers un SSL)
- Comprendre la lib client du Primus.js
- Comprendre le Protocol D2 (Dofus 2) | Pour Touch on s'en fou des IO BigEndian car les proxy translate le protocole D2 en JSON mais il faut comprendre la structure et le dictionnaire de langue utilisé pour discuter avec le client (messages,type,enums). Tu peux le trouver dans un DofusInvoker.swf de la version 2.14.
- Rétro-ingénierie (pour un bot ça passe encore)
- Polymorphisme
- Multithreading
- Algorithmie sur la 2D
- Reflection (dans certains cas de langage)

Et globalement tu peux t'en sortir pour faire un bot sympa.
Après à toi de voir comment tu vas gérer l'IA - en passant par des langages de script ou non etc..
 
Inscrit
18 Octobre 2019
Messages
5
Reactions
0
#3
je te remercie de ton aide MaSTeR tu a des liens des conseil pour bien commencer ?
 

MaSTeR

Contributeur
Inscrit
20 Septembre 2016
Messages
32
Reactions
11
#4
Pas de souci,

Primus : Github repos
Protocole D2 : Github repos
Algorithmie : Renseigne-toi sur l'Algorithme de Dijkstra (version simplifiée du A*) | Utile pour le pathfinding

Pour le reste il suffit de savoir sur quel langage tu souhaites travailler, par la suite, en fonction de tes besoins, voir comment les manipuler avec les docs que tu trouveras.

Il est donc fortement conseillé de choisir un langage supportant le concept de programmation orienté objet. :)
 
Inscrit
18 Octobre 2019
Messages
5
Reactions
0
#5
merci pour les liens,

je conte le faire en java puisque c'est se que je connais le mieux cela pose pas de contrainte ?
et en quoi la connaissant du protocole D2 m'aidera ?

désolé de déranger avec mes questions
 

zahid98

Membre Actif
Inscrit
13 Decembre 2014
Messages
352
Reactions
2
#6
Le choix du langage n'est pas très important.
Le protocole D2 te permettra de communiquer avec le serveur. En fait, tout se passe en échangeant des paquets(messages) avec le serveur, du coup il faut savoir comment initier la connexion, s'identifier, choisir son perso, se déplacer...etc
 
Inscrit
10 Mai 2015
Messages
357
Reactions
55
#7
Je suis pas d'accord sur l'apprentissage de l'algorithme Dijkstra quand tu souhaites faire un bot. Tu dois juste traduire le pathfinding officiel de Dofus afin d'avoir le même déplacement que le client.
 

MaSTeR

Contributeur
Inscrit
20 Septembre 2016
Messages
32
Reactions
11
#8
Je suis pas d'accord sur l'apprentissage de l'algorithme Dijkstra quand tu souhaites faire un bot. Tu dois juste traduire le pathfinding officiel de Dofus afin d'avoir le même déplacement que le client.
Je ne suis pas d'accord sur le principe de copier/coller du code sans comprendre, bien évidemment que le client possède un pathfinding et que c'est crétin de ne pas avoir le même sur ton BOT, côté serveur ça se détecte et c'est le ban assuré.

Je dis simplement que le client Dofus utilise cet algorithme et qu'il est quand même nécessaire de comprendre un minimum ce qu'on fait.

J'en profite pour te rediriger sur les sources du client datant de 2016 : ICI
 
Inscrit
10 Mai 2015
Messages
357
Reactions
55
#9
Selon moi, c'est pas vraiment du copier/coller, tu dois traduire le code dans ton langage de programmation en prenant soin de connaitre les spécificités de ton langage ainsi que celles du client. Evidemment c'est un "plus" d'avoir des notions des différents algorithmes de Pathfinding mais non nécessaire.
 

MaSTeR

Contributeur
Inscrit
20 Septembre 2016
Messages
32
Reactions
11
#10
Selon moi, c'est pas vraiment du copier/coller, tu dois traduire le code dans ton langage de programmation en prenant soin de connaitre les spécificités de ton langage ainsi que celles du client. Evidemment c'est un "plus" d'avoir des notions des différents algorithmes de Pathfinding mais non nécessaire.
Je ne suis toujours pas d'accord, peut-être n'avons-nous pas les mêmes ambitions au sujet du développement informatique.
Traduire du code informatique dans un autre langage n'implique pas que le traducteur ait compris l’algorithme, voilà la nuance qui me dérange et d'où le fait d’explicitement écrire qu'il est important et nécessaire de comprendre ce que l'on fait quand on est dans une position comme xiloume.
 
Inscrit
18 Octobre 2019
Messages
5
Reactions
0
#11
Bon bas merci a tous en tout cas pour l'aide, mais même avec une bonne volonté j'ai pas tout compris pour le moment, donc bon si quelqu'un serais prêt a m'expliquer en privée je prends sinon bas je vais peut être me lancer sur la modif d'un no-emu pour essayer d'apprendre déjà pour commencer.
 
Haut Bas