Le module mapHelper est un outil puissant conçu pour faciliter l'interaction avec les cartes du jeu dans vos scripts Ankabot. Il offre des méthodes pour analyser les cellules, déterminer les zones accessibles, gérer les éléments de récolte et faciliter les déplacements en gérant les coordonnées et les directions.
Pour utiliser le module mapHelper, vous devez l'initialiser comme suit :
-- Chargement du ModuleLoader
ModuleLoader = dofile(global:getCurrentDirectory() .. [[\YayaToolsTouch\Module\ModuleLoader.lua]])(1)
-- Chargement et instanciation du module mapHelper
mapHelper = ModuleLoader:load("mapHelper")()
Description
Retourne une table contenant les éléments de récolte présents sur la carte actuelle. Chaque élément est identifié par son nom, son typeId et le nombre d'instances présentes.
Syntaxe
local gatherElements = mapHelper:getGatherElements()
Paramètres
Aucun.
Retourne
Retourne une table contenant les éléments de récolte présents sur la carte, organisés par zones accessibles. Cela permet de savoir quels éléments peuvent être récoltés depuis quelles zones.
Syntaxe
local elementsByZone = mapHelper:getGatherElementsByZone()
Paramètres
Aucun.
Retourne
Trie les cellules en fonction de la direction spécifiée.
Syntaxe
local sortedCells = mapHelper:sortCellsByDirection(cells, direction)
Paramètres
Retourne
Détecte les directions multiples disponibles à partir des cellules marchables fournies. Identifie les segments de cellules adjacentes sur les bords de la carte qui permettent de changer de carte dans différentes directions.
Syntaxe
local directions = mapHelper:detectMultipleDirections(movableCells)
Paramètres
Retourne
Détecte les segments de cellules connectées sur le bord de la carte dans une direction spécifique.
Syntaxe
local segments = mapHelper:detectSegments(movableCells, direction)
Paramètres
Retourne
Effectue une recherche en profondeur (DFS) pour trouver un segment de cellules connectées dans une direction donnée à partir d'une cellule de départ.
Syntaxe
local segment = mapHelper:dfsForSegment(cell, visited, movableCells, direction)
Paramètres
Retourne
Fusionne les segments de cellules adjacents pour créer des segments plus grands et continus.
Syntaxe
local mergedSegments = mapHelper:mergeSegments(segments)
Paramètres
Retourne
Retourne les cellules adjacentes à une cellule donnée dans une direction spécifique.
Syntaxe
local adjacentCells = mapHelper:getAdjacentCellsForDirection(cellId, direction)
Paramètres
Retourne
Vérifie si une cellule est sur le bord de la carte dans la direction spécifiée.
Syntaxe
local isOnEdge = mapHelper:isCellOnEdge(cellId, direction)
Paramètres
Retourne
Retourne toutes les zones accessibles sur la carte actuelle, en regroupant les cellules connectées où le personnage peut se déplacer.
Syntaxe
local zones = mapHelper:getWalkableZones()
Paramètres
Aucun.
Retourne
Retourne la zone accessible à partir d'une cellule spécifique.
Syntaxe
local zone = mapHelper:getWalkableZoneByCellId(cellId)
Paramètres
Retourne
Effectue une recherche en profondeur (DFS) pour trouver toutes les cellules connectées à partir d'une cellule de départ.
Syntaxe
local zone = mapHelper:dfs(cell, visited, movableCells)
Paramètres
Retourne
Vérifie si une cellule a des diagonales marchables.
Syntaxe
local isWalkable = mapHelper:isDiagonalWalkable(cell, cellList)
Paramètres
Retourne
Retourne les cellules adjacentes à une cellule donnée, en tenant compte de la parité de la coordonnée Y pour le calcul des déplacements sur la grille hexagonale.
Syntaxe
local adjacentCells = mapHelper:getAdjacentCells(cellId)
Paramètres
Retourne
Effectue une recherche en largeur (BFS) à partir d'une cellule jusqu'à trouver une des cellules cibles.
Syntaxe
local foundCell = mapHelper:cellsBFSUntil(cell, targetCells)
Paramètres
Retourne
Convertit un cellId en coordonnées (x, y) sur la carte.
Syntaxe
local coord = mapHelper:cellIdToCoord(cellId)
Paramètres
Retourne
Convertit des coordonnées (x, y) en un cellId sur la carte.
Syntaxe
local cellId = mapHelper:coordToCellId(coord)
Paramètres
Retourne
Vérifie si un cellId est valide sur la carte.
Syntaxe
local isValid = mapHelper:isCellIdValid(cellId)
Paramètres
Retourne
Vérifie si des coordonnées (x, y) sont valides sur la carte.
Syntaxe
local isValid = mapHelper:isCoordValid(coord)
Paramètres
Retourne
Retourne les directions possibles à partir d'une zone donnée, formatées avec les cellules correspondantes.
Syntaxe
local directions = mapHelper:getZoneDirectionsFormatted(zone)
Paramètres
Retourne
Retourne la direction opposée à celle fournie.
Syntaxe
local oppositeDir = mapHelper:getOppositeDirection(dir)
Paramètres
Retourne
Détermine la direction possible à partir d'une cellule donnée en fonction de sa position sur la carte.
Syntaxe
local direction = mapHelper:possibleDirection(cellId)
Paramètres
Retourne
Calcule la direction et la cellule miroir pour le changement de carte opposé.
Syntaxe
local mirrorDirectionCell = mapHelper:getMirrorDirection(directionCell)
Paramètres
Retourne
Retourne les directions possibles à partir d'une zone donnée.
Syntaxe
local directions = mapHelper:getZoneDirections(zone)
Paramètres
Retourne
Le module mapHelper est un outil essentiel pour gérer les interactions avec la carte dans vos scripts. En comprenant et en utilisant ses méthodes, vous pouvez analyser la carte, déterminer les zones accessibles, planifier des mouvements, détecter les éléments de récolte et rendre vos scripts plus intelligents et réactifs.
Note : Ce module est conçu pour être utilisé avec les outils YayaToolsTouch. Assurez-vous que tous les modules et dépendances requis sont correctement installés et configurés.
Si vous rencontrez des problèmes ou avez des questions concernant le module linkedList :