group — Groupe (leader + mules)¶
API groupe de bots MoonBot Lua : leader + mules, déplacement coordonné, combat en équipe.
19 fonctions dans ce namespace.
Index¶
Groupes MoonBot (pas le groupe en jeu)group.list / group.getgroup.creategroup.updategroup.remove / group.deletegroup.moveTo / group.stopMovegroup.isInGroup / isLeader / isMulegroup.getId / getName / getLeaderIdgroup.getMemberCount / getMemberIdsgroup.getMembersgroup.allOnSameMapgroup.isWaitingForMembersgroup.getMoveModegroup.getActionMode / getActionDelaygroup.getLeaderState / getMuleStatesEtat cible et kamasCommandes de groupeConnexion / deconnexion du groupeActions locales de l'interface
Référence¶
Groupes MoonBot (pas le groupe en jeu)¶
Cette API gere la topologie des groupes de comptes MoonBot. Elle est distincte de map.inviteToGroup / map.leaveGroup, qui gerent le groupe Dofus en jeu. Les mutations partent uniquement du script principal actif et sont revalidees par le Control Plane pour l'utilisateur courant.
group.list / group.get¶
returns table / table | nil
Liste canonique des groupes de l'utilisateur ou un groupe precis : {id, name, leaderId, memberIds, moveMode, actionMode?, actionDelayMs?}. Aucun identifiant de connexion ni compte d'un autre utilisateur n'est expose.
group.create¶
returns boolean
Cree un groupe MoonBot de 1 a 8 comptes. true signifie que la requete a rejoint le relais securise ; le commit CP reste asynchrone. Les IDs sont ceux retournes par moonbot.accounts.
group.update¶
returns boolean
Modifie uniquement les champs fournis. Chaque membre, le chef, les modes et le delai sont revalides dans la transaction du Control Plane.
group.remove / group.delete¶
returns boolean
Degroupe tous les membres et supprime le groupe MoonBot. delete est un alias. Des tombstones canoniques empechent un ancien worker de restaurer la topologie supprimee.
group.moveTo / group.stopMove¶
returns boolean
Demarre ou arrete le deplacement coordonne. Le CP resout lui-meme le leader exact et la commande garde la provenance du script ; Lua ne choisit ni worker ni session.
group.isInGroup / isLeader / isMule¶
returns boolean
Etat du bot dans le groupe.
group.getId / getName / getLeaderId¶
returns string | nil
ID, nom canonique et ID du leader du groupe courant. getName peut etre nil pendant un deploiement progressif avec un ancien CP.
group.getMemberCount / getMemberIds¶
returns number / table
Nombre et IDs des membres.
group.getMembers¶
returns table
Details : {accountId, name, level, mapId, x, y, hp, hpMax, kamas, isLeader}.
group.allOnSameMap¶
returns boolean
True si tous sur la meme map.
group.isWaitingForMembers¶
returns boolean
True si le leader attend les mules.
group.getMoveMode¶
returns string
"leader_then_all", "all_together", "leader_then_one_by_one".
group.getActionMode / getActionDelay¶
returns string | nil / number | nil
Mode et delai d'execution des actions de groupe. Ils se modifient avec group.update.
group.getLeaderState / getMuleStates¶
returns table
Etat detaille du leader et des mules. Un compte Script Prive n'est jamais expose a un autre script.
Etat cible et kamas¶
returns table | nil / number
Etat publie d'un membre visible et somme des kamas visibles du groupe.
Commandes de groupe¶
returns number / boolean / number
Commandes fermees : stop, pause, resume, reconnect, pass_turn, toggle_mount. Chaque cible repasse par l'arbitre de comptes et la provenance du script principal.
Connexion / deconnexion du groupe¶
for _, id in ipairs(group.get(id).memberIds) do
local account = moonbot.accounts:get(id)
account.connection:ensureConnected() -- ou disconnect()
end
L'interface compose les operations de comptes membre par membre. Lua utilise la meme surface securisee via moonbot.accounts ; aucun login ou mot de passe n'est fourni au script.
Actions locales de l'interface¶
Ces actions modifient uniquement l'affichage local de l'application et ne sont pas des mutations de groupe serveur. group.list/get fournissent les donnees utiles au script.