AI Core
Monde et outilsai-properties

ai-properties pour les développeurs

Les indicateurs GlobalState, la métadonnée, les noms de stockage, les tables et les events internes d’ai-properties.

ai-properties n’a aucun export. Les autres scripts peuvent lire trois choses qu’il conserve.

Indicateur de possession (GlobalState)

Chaque propriété possédée a la clé GlobalState prop:<id> réglée à true (par exemple prop:grove_1). La clé est retirée (et non réglée à false) quand la propriété est vendue. Lisible sur le serveur et sur chaque client.

// Client ou serveur : quelqu’un possède-t-il Grove Street 1 ?
const owned = GlobalState["prop:grove_1"] === true;

La propriété dans laquelle se trouve un personnage (métadonnée)

La métadonnée ai-core property contient l’id de la propriété dans laquelle se trouve le personnage, ou rien quand il est dehors. Chaque intérieur de propriété tourne dans son propre routing bucket, pris dans l’allocateur de buckets d’ai-core tant que quelqu’un s’y trouve.

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";
}

Stockages

Le stockage d’une propriété est property_<id>_<owner charId> (par exemple property_grove_1_12). Il est propre au propriétaire : après une vente, le propriétaire suivant obtient un nouveau nom de stockage, vide. La taille vient des emplacements et du poids de stockage du panneau.

Tables

TableCe qu’elle contient
ai_properties_ownedUne ligne par propriété possédée : id de personnage et nom du propriétaire.
ai_properties_keysLes détenteurs de clés par propriété, avec leur nom au moment où la clé a été donnée.

Events

Les events d’ai-properties sont internes (son client et son serveur) ; ne les appelez pas depuis d’autres scripts.

NomTypeCe qu’il fait
ai-properties:minecallback clientLes propriétés que le joueur possède ou dont il a une clé (l’instantané de session). Limité à 2 toutes les 10 secondes.
ai-properties:client:accessserveur vers client(id, access) : l’accès du joueur a changé ("owner", "key" ou false).
ai-properties:buy / entercallback client(id) : acheter devant la porte, ou entrer.
ai-properties:exit / stash / keys / giveKey / sellcallback clientActions à l’intérieur de la propriété où se trouve le joueur.
ai-properties:takeKeycallback client(charId) : reprendre une clé.
ai-properties:client:insideserveur vers client(id | null, to) : le joueur est maintenant dans cette propriété (ou en est sorti) ; téléportation vers to.

Sur cette page