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
| Tabelle | Was sie enthält |
|---|---|
ai_properties_owned | Eine Zeile pro Immobilie im Besitz: Charakter-ID und Name des Besitzers. |
ai_properties_keys | Schlü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.
| Name | Art | Was es macht |
|---|---|---|
ai-properties:mine | Client-Callback | Die 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:access | Server an Client | (id, access): Der Zugriff des Spielers hat sich geändert ("owner", "key" oder false). |
ai-properties:buy / enter | Client-Callback | (id): an der Tür kaufen oder betreten. |
ai-properties:exit / stash / keys / giveKey / sell | Client-Callback | Aktionen in der Immobilie, in der der Spieler ist. |
ai-properties:takeKey | Client-Callback | (charId): einen Schlüssel zurücknehmen. |
ai-properties:client:inside | Server an Client | (id | null, to): Der Spieler ist jetzt in dieser Immobilie (oder hat sie verlassen); Teleport nach to. |