AI Core
Welt und Werkzeugeai-properties

ai-properties für Entwickler

GlobalState-Flags, Metadaten, Lagernamen, Tabellen und interne Events von ai-properties.

ai-properties hat keine Exports. Andere Skripte können drei Dinge lesen, die es führt.

Besitz-Flag (GlobalState)

Jede Immobilie im Besitz hat den GlobalState-Schlüssel prop:<id> auf true gesetzt (zum Beispiel prop:grove_1). Der Schlüssel wird entfernt (nicht auf false gesetzt), wenn die Immobilie verkauft wird. Auf dem Server und auf jedem Client lesbar.

// Client oder Server: Besitzt jemand Grove Street 1?
const owned = GlobalState["prop:grove_1"] === true;

Die Immobilie, in der ein Charakter ist (Metadaten)

Die Metadaten property von ai-core enthalten die ID der Immobilie, in der der Charakter ist, oder nichts, wenn er draußen ist. Jeder Immobilien-Innenraum läuft in seinem eigenen Routing Bucket, der vom Bucket-Verteiler von ai-core genommen wird, solange jemand drinnen ist.

import { resourceExport } from "@aicore-fivem/lib/server";

const core = resourceExport("ai-core");

export function isInsideProperty(source: number): boolean {
  const data = core.GetPlayerData(source);
  return typeof data?.metadata.property === "string";
}

Lager

Das Lager einer Immobilie ist property_<id>_<owner charId> (zum Beispiel property_grove_1_12). Es gilt pro Besitzer: Nach einem Verkauf bekommt der nächste Besitzer einen neuen, leeren Lagernamen. Die Größe kommt aus den Lagerslots und dem Gewicht aus dem Panel.

Tabellen

TabelleWas sie enthält
ai_properties_ownedEine Zeile pro Immobilie im Besitz: Charakter-ID und Name des Besitzers.
ai_properties_keysSchlüsselinhaber pro Immobilie, mit ihrem Namen zum Zeitpunkt der Schlüsselvergabe.

Events

Die Events von ai-properties sind intern (sein Client und sein Server); rufe sie nicht aus anderen Skripten auf.

NameArtWas es macht
ai-properties:mineClient-CallbackDie Immobilien, die der Spieler besitzt oder für die er einen Schlüssel hat (der Snapshot der Sitzung). Begrenzt auf 2 pro 10 Sekunden.
ai-properties:client:accessServer an Client(id, access): Der Zugriff des Spielers hat sich geändert ("owner", "key" oder false).
ai-properties:buy / enterClient-Callback(id): an der Tür kaufen oder betreten.
ai-properties:exit / stash / keys / giveKey / sellClient-CallbackAktionen in der Immobilie, in der der Spieler ist.
ai-properties:takeKeyClient-Callback(charId): einen Schlüssel zurücknehmen.
ai-properties:client:insideServer an Client(id | null, to): Der Spieler ist jetzt in dieser Immobilie (oder hat sie verlassen); Teleport nach to.

Auf dieser Seite