title: map — Carte & Déplacement | MoonBot API description: API carte et déplacement MoonBot Lua : se déplacer, changer de map, pathfinding, zaaps, cellules.
map — Carte & Déplacement¶
API carte et déplacement MoonBot Lua : se déplacer, changer de map, pathfinding, zaaps, cellules.
37 fonctions dans ce namespace.
Index¶
map.currentMapmap.currentMapId / idmap.x / ymap.dimensions / width / heightmap.currentCell / cellIdmap.currentArea / currentSubAreamap.onMapmap.changeMapmap.moveToCellmap.gathermap.gatherResourcemap.fightmap.moveTowardmap.moveTowardMapmap.worldDistancemap.waitForMapChangemap.monsterGroupsmap.fightGroupmap.playersmap.npcsmap.getActors / getActorByIdmap.getResourcesmap.interactiveObjectsmap.useInteractivemap.isWalkable / getWalkableCellsmap.getX / getYmap.hasChangedZaapmap.getZaapDestinationsmap.saveZaapmap.sendEmote / sitGroupe de jeuInfos groupe de jeuPvPmap.joinableFightsmap.joinFightmap.exchangePlayer
Référence¶
map.currentMap¶
returns string
Coordonnees "x,y".
map.currentMapId / id¶
returns number
ID de la map.
map.x / y¶
returns number
Coordonnees x et y.
map.dimensions / width / height¶
returns table {width, height} / number / number
Dimensions de la map actuelle. dimensions() renvoie une table {width, height}. width()/height() renvoient directement le nombre. Standard Retro = 15x17, mais les maps non-standard sont gerees (valeurs lues depuis le SWF).
map.currentCell / cellId¶
returns number
Cellule actuelle.
map.currentArea / currentSubArea¶
returns string
Zone et sous-zone.
map.onMap¶
returns boolean
Verifie si sur la map ("x,y" ou ID).
map.changeMap¶
blocking · returns boolean
Change de map : "right", "left", "top", "bottom".
map.moveToCell¶
blocking · returns boolean
Deplace vers une cellule (attend l'arrivee).
map.gather¶
blocking · returns boolean
Recolte toutes les ressources.
map.gatherResource¶
blocking · returns boolean
Recolte une ressource specifique par cellule.
map.fight¶
blocking · returns boolean
Attaque le groupe de monstres le plus proche.
map.moveToward¶
blocking · returns boolean
Un pas de map vers les coordonnees cibles.
map.moveTowardMap¶
blocking · returns boolean
Un pas de map vers la map cible.
map.worldDistance¶
returns number
Distance en maps vers les coordonnees (-1 si inaccessible).
map.waitForMapChange¶
blocking · returns boolean
Attend un changement de map.
map.monsterGroups¶
returns table of {id: number, cellId: number, name: string, level: number, count: number, monsters: table of {id: number, name: string, level: number}}
Groupes de monstres sur la map. name = noms des monstres, level = niveau du groupe, count = nombre de monstres, monsters = détail de chaque monstre (template ID, nom, niveau individuel).
map.fightGroup¶
blocking · returns boolean
Attaque un groupe de monstres spécifique par son ID (récupéré via map.monsterGroups()). Bloquant : attend la fin du combat. Retourne true si victoire, false si défaite ou groupe introuvable.
map.players¶
returns table of {id: number, cellId: number, name: string, level: number}
Joueurs visibles sur la map.
map.npcs¶
returns table of {id: number, cellId: number, name: string, templateId: number}
PNJ sur la map. id = ID acteur, templateId = ID du modele PNJ.
map.getActors / getActorById¶
returns table / table | nil
Tous les acteurs (monstres + joueurs + PNJ) : {id, cellId, name, type}. type = 'monster'/'player'/'npc'.
map.getResources¶
returns table of {cellId: number, gfxId: number, name: string}
Ressources recoltables sur la map.
map.interactiveObjects¶
returns table of {cellId: number, gfxId: number}
Objets interactifs (ateliers, portes, etc).
map.useInteractive¶
returns boolean
Utilise un objet interactif (deplacement auto + skill). skillIndex: 1=premier skill (defaut), 2=deuxieme, etc.
map.isWalkable / getWalkableCells¶
returns boolean / table
Verifie si une cellule est marchable / liste des cellules marchables.
map.getX / getY¶
returns number
Coordonnees d'une map depuis son ID (game data).
map.hasChanged¶
returns boolean
True si la map a change. Se remet a false automatiquement.
Zaap¶
blocking · returns boolean
Teleportation via zaap/zaapi. openZaap() ouvre la liste.
map.getZaapDestinations¶
returns table of {map_id: number, cost: number, name: string, area: string, x: number, y: number}
Liste des destinations zaap disponibles apres openZaap().
map.saveZaap¶
Sauvegarde le zaap actuel.
map.sendEmote / sit¶
Envoie une emote. sit() = emote 1.
Groupe de jeu¶
Inviter un joueur au groupe, quitter, accepter/refuser une invitation.
Infos groupe de jeu¶
returns table / number / boolean / number / boolean
getPartyMembers()→table of {id: number, name: string, class_id: number, sex: boolean, level: number, life_percent: number}. getPartyCount()→number. isInParty()→boolean. getPartyLeaderId()→number. isPartyLeader()→boolean.
PvP¶
Defier un joueur en PvP, accepter/refuser/annuler.
map.joinableFights¶
returns table of {fightId: number, teamId: number, fighters: table of {id: number, name: string, level: number}}
Liste les combats joignables visibles sur la map (1 entree par equipe, teamId negatif). fightId est synthetique : plus petit |teamId| de la paire (les 2 equipes d'un meme combat partagent le meme fightId).
map.joinFight¶
returns boolean
Rejoint une equipe d'un combat en cours sur la map. teamId vient de joinableFights() (ex: -862).
map.exchangePlayer¶
Demande un echange avec un joueur.