Ein Skript erstellen
Von einer leeren Vorlage zu einem Skript mit Admin-Panel, auf die AI-Core-Art.
Aus der Vorlage erstellen
bun run new garbagejob "Garbage routes with pay per stop"
bun install
cd resources/[ai]/ai-garbagejob && git init && bun run buildFüge dann ensure ai-garbagejob zu server.cfg hinzu. Die Vorlage gibt dir resource/client, resource/server, resource/common, locales/en.json, eine CLAUDE.md zum Ausfüllen und das Build-Setup.
Das Panel hinzufügen
Schreibe resource/server/schema.ts (Dateien, Tabs, Karten, Widgets) und erstelle new AdminPanel(schema) auf dem Server. Daten, die die Welt braucht (Orte, Blips, Preise, die Spieler sehen), sind sync: "all" und werden auf dem Client mit new AdminWorld([...]) gelesen; alles andere bleibt auf dem Server.
Die Lib für alles nutzen
// Client: ein Ort, den Spieler nutzen, als Prompt oder Target-Option angezeigt
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" }),
});// Server: die Anfrage, geprüft, bevor sich irgendetwas ändert
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 };
},
);Prüfen und neu starten
bun run typecheck && bun run lint && bun run build
bun tools/rcon.ts --log ../logs/fxserver.log --wait 3 "ensure ai-garbagejob"Am einfachsten fragst du deine KI: Öffne den Server-Ordner in Claude Code und beschreibe das Skript. Die Regeln sorgen dafür, dass sie die Vorlage, die Lib und das Panel nutzt. Siehe Mit KI arbeiten.