AI Core

Créer un script

D’un modèle vide à un script avec panneau d’administration, à la manière d’AI Core.

Le créer à partir du modèle

bun run new garbagejob "Garbage routes with pay per stop"
bun install
cd resources/[ai]/ai-garbagejob && git init && bun run build

Ajoutez ensuite ensure ai-garbagejob à server.cfg. Le modèle vous donne resource/client, resource/server, resource/common, locales/en.json, un CLAUDE.md à remplir et la configuration du build.

Ajouter le panneau

Écrivez resource/server/schema.ts (fichiers, onglets, cartes, widgets) et créez new AdminPanel(schema) sur le serveur. Les données dont le monde a besoin (lieux, blips, prix que voient les joueurs) sont en sync: "all" et lues côté client avec new AdminWorld([...]) ; tout le reste reste sur le serveur.

Utiliser la lib pour tout

// client : un lieu qu’utilisent les joueurs, affiché comme prompt ou option de target
const points = new Points();
points.add("depot", {
  coords: route.depot,
  label: Locale("PROMPT_START"),
  icon: "truck",
  canShow: () => hasJob(["garbage"]),
  onPressed: () => callAction(EVENTS.start, [route.id], { fallback: "ERR_FAR" }),
});
// serveur : la requête, vérifiée avant que quoi que ce soit ne change
onClientCallback(
  EVENTS.start,
  { args: oneArg((v) => readText(v, 32)), guards: [hasCharacter()], lock: true },
  (source, id) => {
    if (!isNear(source, route.depot, 3)) return fail("ERR_FAR");
    return { ok: true };
  },
);

Vérifier et redémarrer

bun run typecheck && bun run lint && bun run build
bun tools/rcon.ts --log ../logs/fxserver.log --wait 3 "ensure ai-garbagejob"

Le plus simple est de demander à votre IA : ouvrez le dossier du serveur dans Claude Code et décrivez le script. Les règles lui font utiliser le modèle, la lib et le panneau. Voir Travailler avec l’IA.

Sur cette page