Bot "Banque"

L'utilisation d'un bot banque afin de centraliser nos gains est une bonne idée, voyons voir comment mettre en place un bot banque dans la suite de ce tutoriel...

Qu'est-ce qu'un bot "banque"

Un bot "banque" est un personnage que nous utiliserons dans un but précis : centraliser les ressources que tous nos petits personnages vont récolter afin de réduire drastiquement les coûts d'ouverture du coffre de la Banque, mais aussi de gagner énormément de temps en faisant en sorte de pouvoir vendre toutes nos ressources avec notre bot banque.

Afin d'améliorer la sécurité du bot banque, qui deviendra notre "trésorerie", il faut s'assurer que le proxy utilisé sur ce compte soit bien utilisé uniquement avec ce compte et pas avec un autre compte pour ne pas mélanger les IPs et éviter de subir un bannissement "collatéral".

Pour comprendre un peu mieux ce système de bot banque, dis-toi que lorsque tes personnages auront leur inventaire plein, ils se déplaceront vers la Banque comme ils le feraient habituellement sauf qu'au lieu de déposer le contenu de son inventaire dans le coffre, il donnera tout par le biais d'un échange au bot banque qui se chargera à son tour de tout déposer dans son coffre. La mise en place que nous allons voir ici est spécialement dédiée à la version PC, le fonctionnement reste le même mais diffère un petit peu sur la version Touch !

Mise en place

Configuration - Banquier

Pour cette première étape, il n'y a rien de plus simple. Il suffit de mettre un bot dans la banque de notre choix (celle où vont converger nos personnages), ici j'ai choisi la Banque d'Astrub puis de se rendre dans les paramètres du personnage :

Une fois arrivé ici, il ne nous reste qu'une seule chose à faire, cocher la case "Réception des échanges" sur "On".

La configuration du personnage qui nous servira de banque est terminée. C'était l'étape la plus simple, maintenant nous allons passer à l'étape de configuration de notre script pour que le dépôt de l'inventaire soit réalisé par nos autres personnages vers le bot banque et non plus dans le coffre de la banque.

Configuration - Script

Pour cette partie du tutoriel, je t'invite à garder un onglet ouvert sur la partie Fonction Bank() que nous avons vu dans la Démonstration précédente pour suivre plus facilement la suite des opérations.

Voici la partie bank() de notre script que nous avions avant la mise en place et l'utilisation de notre bot banque :

function bank()
	return {
		{map = "-3,-18", path = "right"},
		{map = "-3,-19", path = "right"},
		{map = "-3,-20", path = "right"},
		{map = "-3,-17", path = "right"},
		{map = "-3,-16", path = "right"},
		{map = "-2,-16", path = "right"},
		{map = "-2,-17", path = "right"},
		{map = "-2,-18", path = "right"},
		{map = "-2,-19", path = "right"},
		{map = "-2,-20", path = "right"},
		{map = "-1,-20", path = "right"},
		{map = "-1,-19", path = "right"},
		{map = "-1,-18", path = "right"},
		{map = "-1,-17", path = "right"},
		{map = "-1,-16", path = "right"},
		{map = "0,-16", path = "top"},
		{map = "0,-17", path = "top"},
		{map = "0,-20", path = "bottom"},
		{map = "0,-19", path = "bottom"},
		{map = "0,-18", path = "right"},
		{map = "1,-18", path = "right"},
		{map = "2,-18", path = "right"},
		{map = "3,-18", path = "right"},
		-- C'EST ICI QUE CA SE PASSE :
		{map = "191104002", door = "261"}, -- Nous entrons dans la banque
		{map = "192415750", npcBank = true, path = "409"}, -- Dépôt de l'inventaire et sortie de la banque
	}
end

Comme nous l'avions vu précisément, le dépôt des ressources en banque était défini par "npcBank = true", qui je le rappelle est une fonction pré-définie de SnowBot qui ordonne au personnage de parler avec le banquier, d'ouvrir son coffre, de déposer l'intégralité de son inventaire et enfin de fermer son coffre. La partie "path = "409"" permettait de renseigner au personnage comment sortir de la banque, nous laisserons donc cette partie en place.

Nous allons donc effacer "npcBank = true" et nous allons mettre à la place une fonction custom. Si tu as oublié ce que c'était, retournes à Custom - Fonction.

Voici à quoi va ressembler notre nouvelle fonction custom qui permettra de demander à notre personnage de déposer ses ressources au bot banque plutôt que dans le coffre de sa banque :

function luBank() -- Le nom de notre fonction
  exchange:launchExchangeWithPlayer(idBotBanque) -- La fonction pour lancer l'échange
  exchange:putAllItems() -- La fonction pour déposer tous les objets de l'inventaire
  exchange:putKamas(0) -- La fonction pour déposer tous les kamas
  exchange:ready() -- La fonction pour valider l'échange
end

Maintenant, nous allons ajouter cette fonction à notre script et appeler la fonction luBank() lorsque le personnage est dans la banque pour provoquer l'échange.

function bank()
	return {
		{map = "-3,-18", path = "right"},
		{map = "-3,-19", path = "right"},
		{map = "-3,-20", path = "right"},
		{map = "-3,-17", path = "right"},
		{map = "-3,-16", path = "right"},
		{map = "-2,-16", path = "right"},
		{map = "-2,-17", path = "right"},
		{map = "-2,-18", path = "right"},
		{map = "-2,-19", path = "right"},
		{map = "-2,-20", path = "right"},
		{map = "-1,-20", path = "right"},
		{map = "-1,-19", path = "right"},
		{map = "-1,-18", path = "right"},
		{map = "-1,-17", path = "right"},
		{map = "-1,-16", path = "right"},
		{map = "0,-16", path = "top"},
		{map = "0,-17", path = "top"},
		{map = "0,-20", path = "bottom"},
		{map = "0,-19", path = "bottom"},
		{map = "0,-18", path = "right"},
		{map = "1,-18", path = "right"},
		{map = "2,-18", path = "right"},
		{map = "3,-18", path = "right"},
		-- C'EST ICI QUE CA SE PASSE :
		{map = "191104002", door = "261"}, -- Nous entrons dans la banque
		{map = "192415750", custom = luBank, path = "409"}, -- ICI
	}
end

function luBank() -- Le nom de notre fonction
  exchange:launchExchangeWithPlayer(idBotBanque) -- La fonction pour lancer l'échange
  exchange:putAllItems() -- La fonction pour déposer tous les objets de l'inventaire
  exchange:putKamas(0) -- La fonction pour déposer tous les kamas
  exchange:ready() -- La fonction pour valider l'échange
end

Et c'est aussi simple que ça !

"Oui mais c'est quoi idBotBanque ?" - Toi

Très bonne question ! Ce que l'on appelle idBotBanque est en réalité l'identifiant unique de ton personnage. Afin de l'obtenir, c'est très simple, tu dois te rendre dans la console SnowBot et taper la commande : /id NomdeTonBotBanque - par exemple /id Bob si mon personnage s'appelle Bob, la console te renverra l'identifiant unique de ton personnage que tu devras copier coller à la place du mot "idBotBanque".

Et c'est tout ! Félicitations, ton bot banque est prêt !

La suite de cette rubrique ne s'adresse qu'aux utilisateurs de la version Touch !

Spécificités - Touch

A la différence de la version PC, la version Touch possède quelques particularités. En effet, les échanges ne seront pas automatiquement acceptés par notre bot banque, il faudra pour cela mettre un mot de passe que nos bots devront communiquer au bot banque pour que celui-ci accepte l'échange ! Pour cela, rien de plus simple, rendons-nous dans l'onglet Configuration de notre personnage celui qui nous servira de bot banque !

Comme tu peux le voir, j'ai ajouté mon mot de passe dans la réception des échanges. Une fois fait, il ne reste qu'à le mettre dans une banque et mettre la "Réception des échanges" sur On, comme il est à faire sur la version PC. Maintenant, dans notre script, nous allons ajouter une ligne pour que nos bots transmettent au bot banque le mot de passe qui autorisera l'échange :

function bank()
	return {
		{map = "-3,-18", path = "right"},
		{map = "-3,-19", path = "right"},
		{map = "-3,-20", path = "right"},
		{map = "-3,-17", path = "right"},
		{map = "-3,-16", path = "right"},
		{map = "-2,-16", path = "right"},
		{map = "-2,-17", path = "right"},
		{map = "-2,-18", path = "right"},
		{map = "-2,-19", path = "right"},
		{map = "-2,-20", path = "right"},
		{map = "-1,-20", path = "right"},
		{map = "-1,-19", path = "right"},
		{map = "-1,-18", path = "right"},
		{map = "-1,-17", path = "right"},
		{map = "-1,-16", path = "right"},
		{map = "0,-16", path = "top"},
		{map = "0,-17", path = "top"},
		{map = "0,-20", path = "bottom"},
		{map = "0,-19", path = "bottom"},
		{map = "0,-18", path = "right"},
		{map = "1,-18", path = "right"},
		{map = "2,-18", path = "right"},
		{map = "3,-18", path = "right"},
		-- C'EST ICI QUE CA SE PASSE :
		{map = "191104002", door = "261"}, -- Nous entrons dans la banque
		{map = "192415750", custom = luBank, path = "409"}, -- ICI
	}
end

function luBank() -- Le nom de notre fonction
	chat:sendPrivateMessage("ceciEstMonMDPpourEchange","nomDuBotBanque")
  exchange:launchExchangeWithPlayer(idBotBanque) -- La fonction pour lancer l'échange
  exchange:putAllItemsExchange() -- La fonction pour déposer tous les objets de l'inventaire
  exchange:putKamas(0) -- La fonction pour déposer tous les kamas
  exchange:ready() -- La fonction pour valider l'échange
end

Attention, la ligne exchange:putAllItems() a été remplacée par exchange:putAllItemsExchange(), les deux fonctions étant nommées différemment sur les deux versions.

Penses à remplacer le mot de passe que j'ai indiqué ainsi que le nom du bot banque !

Et voilà, c'est terminé !

Dernière mise à jour