Touch
Dernière mise à jour
Dernière mise à jour
Bienvenue dans l'espace développeur. Un espace réservé aux plus curieux d'entre-vous qui vous permettra de faire ce que vous souhaitez avec vos trajets sans aucune limite !
PS : Pour cette partie de la documentation vous devrez vous aider de la partie mode développeur dans le bot.
Comme vous le savez surement la version SnowBot Touch ne possède pas de mode MITM et il serait donc compliqué pour vous de simuler des actions en jeu. Pour résoudre ce problème voici un tutoriel pour activer un sniffer sur LINDO :
Vous devez lancer LINDO et avant de connecter votre compte vous devez faire un ctrl + shift + i. Vous devriez voir apparaître une console comme ceci :
Rendez-vous dans la partie Network et appliquez le filtre WS (websocket) comme sur le screen ci-dessus.
Vous pouvez connecter votre compte, vous verrez alors 2 connexions apparaître, l'une est utilisé pour la connexion au serveur d'authentification et l'autre pour la connexion au serveur de jeu.
Vous pouvez maintenant voir apparaître toutes les données et simuler en jeu des actions.
Voici la valeur que nous souhaitons récupérer dans notre exemple :
Dans notre exemple nous souhaitons savoir si le joueur qui arrive sur la map peux se déplacer ou non. Pour se faire nous remarquons que le packet avec le nom GameRolePlayShowActorMessage est envoyé quand quelque chose apparait sur la map et contient une variable cantMove qui renvoie True si le personnage ne peut pas se déplacer. Pour vous aider a bien comprendre l'arbre du packet, rentrez le packet sur ce site : https://jsoneditoronline.org/ et vous devriez obtenir ceci :
Vous allez voir avec ce site ce sera vraiment plus simple pour vous de lire le contenu. Voici comment je récupère cette valeur dans mon script :
Pour commencer, vous remarquez qu'une nouvelle fonction fait son apparition, la fonction messagesRegistering(). Cette fonction comme son nom l'indique est un "Enregistrement des messages" et permet de s'abonner a des messages. Dans notre exemple, on s'abonne au message avec le nom GameRolePlayShowActorMessage et on souhaite appeler la fonction receive_GameRolePlayShowActorMessage quand on reçoit ce message. Ensuite pour récupérer la donnée que l'on souhaite, il nous suffit de descendre jusqu’à la variable cantMove.
Voici le message que nous allons envoyer :
Nous allons envoyer le message "ChatClientMultiMessage" qui nous permet de discuter en général sur la map. Dans notre exemple nous allons demander d'envoyer le message quand nous recevons le message GameMapMovementMessage (Quand quelqu'un se déplace sur la map). Voici mon rendu :
Dans notre exemple ici, nous remplissons la structure du message via un string ou l'on utilise des apostrophes(') pour contenir des guillemets(") et nous pouvons l'envoyer au serveur.
Nous envoyons donc salut sur le channel 0 qui est visiblement le channel du général.
Permet de s'abonner a un message a partir de son nom.
Permet de récupérer le contenu d'une variable parmi un objet JSON (string)
Permet de récupérer un item parmi le contenu de la variable ARRAY (qui contient des [ ]) (string)
Permet de récupérer le nombre d'item parmi le contenu de la variable ARRAY (qui contient des [ ]) (integer)
Retourne la liste des anciens message reçus avant le chargement du script.
Suspend le script jusqu’à recevoir le nom et retourne false si le timeOut est dépassé.
Envoie un message au serveur Dofus.
Retourne le résultat d'une postRequest. (string)
Retourne le résultat d'une getRequest. (string)
Paramètres
Types
Descriptions
messageType
string
Nom du message
function_name
call
Nom de la fonction a appeler
Paramètres
Types
Descriptions
message
string
Contenu du message
arguments
string
Permet d'atteindre une variable
Paramètres
Types
Descriptions
message
ARRAY sous forme de string
Contenu de la variable
index
string
Index de l'array
Paramètres
Types
Descriptions
message
ARRAY sous forme de string
Contenu de la variable
Paramètres
Types
Descriptions
messageType
string
Nom du message
Paramètres
Types
Descriptions
messageType
string
Nom du message
timeOut
integer