Structure d’un trajet Lua

Un trajet Jitsuri est un fichier .lua qui retourne une liste d’actions pour chaque carte. Les anciens trajets restent compatibles.

Exemple minimal

MAX_PODS = 90
ELEMENTS_TO_GATHER = { 254, 255, 67 }

function move()
    return {
        { map = "5,7", path = "bottom", gather = true },
        { map = "5,8", path = "left", gather = true },
        { map = "4,8", path = "5,7", gather = true },
    }
end

function bank()
    return {
        { map = "99095051", npcBank = true },
    }
end

move() est le parcours principal. bank() est utilisé lorsque le seuil de pods est atteint. Une fonction fight() peut être ajoutée pour un pilotage de combat entièrement personnalisé.

Un trajet peut aussi changer dynamiquement de phase selon un objectif de récolte ou une recette. Le guide Récolter puis fabriquer présente ce fonctionnement.

Paramètres globaux

Paramètre Description
MAX_PODS Pourcentage de pods déclenchant le retour au stockage. Valeur par défaut : 90.
ELEMENTS_TO_GATHER Identifiants des ressources à récolter.
AUTO_DELETE GID des objets à supprimer lorsque les pods sont pleins.
IGNORE_ZAAP Si true, les repositionnements automatiques n’utilisent pas les zaaps.
TELEPORT_ONLY_FROM_ZAAP false par défaut : téléportation directe vers un zaap connu, sans passage par le havre-sac. true : utilise l’ancien fonctionnement, depuis un zaap ou le havre-sac. À définir en tête du script.
FORCE_MONSTERS Monstres qui doivent être présents dans le groupe.
FORBIDDEN_MONSTERS Monstres qui rendent le groupe invalide.
MIN_MONSTERS Taille minimale d’un groupe.
MAX_MONSTERS Taille maximale d’un groupe.
FIGHT_LOCK_PARTY Verrouille le groupe de combat.
FIGHT_LOCK_JOIN Interdit les arrivées non prévues.
FIGHT_LOCK_SPEC Interdit les spectateurs.

Une action de trajet

{
    map = "5,7",
    path = "bottom",
    gather = true,
    fight = false,
}

Identifier une carte

map accepte :

  • des coordonnées : "5,7" ;
  • un MapID : "188745730".

Utilisez un MapID pour distinguer deux intérieurs ou deux étages partageant les mêmes coordonnées.

Se déplacer

Forme Exemple
Direction path = "top", "bottom", "left", "right"
Destination path = "5,15" ou path = "188745730"
Cellule de sortie cell = "140"
Porte ou interactif door = "355"
Zaap explicite path = "zaap(68419587)"

Un path vers une destination laisse Jitsuri calculer les changements de carte. Si le personnage démarre ailleurs, il cherche une entrée accessible du trajet avant de poursuivre.

Récolter et combattre

{ map = "5,7", path = "bottom", gather = true, fight = true }
  • gather = true récolte les ressources définies dans ELEMENTS_TO_GATHER.
  • fight = true recherche un groupe compatible avec les règles globales.

Exécuter une fonction

local function afterMap()
    printMessage("Carte terminée.", "green")
end

function move()
    return {
        { map = "5,7", path = "bottom", custom = afterMap },
    }
end

Passez la fonction elle-même à custom, sans guillemets.

Banque et stockages

Une banque classique peut être déclarée simplement :

function bank()
    return {
        { map = "99095051", npcBank = true },
    }
end

Les trajets créés depuis l’interface peuvent également contenir les informations d’un coffre de maison ou de guilde. Pour ces stockages, utilisez de préférence le sélecteur Jitsuri afin d’enregistrer la porte, les salles, la cellule et le numéro de coffre sans erreur.

Quand les pods sont pleins, Jitsuri tente d’abord AUTO_DELETE, puis le stockage. Une sécurité arrête les répétitions si aucun objet n’a été déposé ou si le parcours n’a pas progressé.

Consultez la référence Lua pour les fonctions utilisables dans vos actions et combats.