AI Core
Mundo e ferramentasai-properties

ai-properties para desenvolvedores

Flags de GlobalState, metadata, nomes de baús, tabelas e eventos internos do ai-properties.

O ai-properties não tem exports. Outros scripts podem ler três coisas que ele mantém.

Flag de posse (GlobalState)

Cada propriedade com dono tem a chave de GlobalState prop:<id> definida como true (por exemplo prop:grove_1). A chave é removida (não definida como false) quando a propriedade é vendida. Legível no servidor e em todo cliente.

// Cliente ou servidor: alguém é dono da Grove Street 1?
const owned = GlobalState["prop:grove_1"] === true;

A propriedade em que um personagem está (metadata)

A metadata property do ai-core guarda o id da propriedade em que o personagem está, ou nada quando ele está fora. O interior de cada propriedade roda no seu próprio routing bucket, tirado do alocador de buckets do ai-core enquanto alguém está dentro.

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

Baús

O baú de uma propriedade é property_<id>_<owner charId> (por exemplo property_grove_1_12). Ele é por dono: depois de uma venda, o próximo dono recebe um nome de baú novo e vazio. O tamanho vem dos slots e do peso do baú no painel.

Tabelas

TabelaO que guarda
ai_properties_ownedUma linha por propriedade com dono: id do personagem dono e nome do dono.
ai_properties_keysPortadores de chave por propriedade, com o nome deles no momento em que a chave foi dada.

Eventos

Os eventos do ai-properties são internos (do cliente e do servidor dele); não os chame a partir de outros scripts.

NomeTipoO que faz
ai-properties:minecallback do clienteAs propriedades de que o jogador é dono ou tem chave (o snapshot da sessão). Limitado a 2 a cada 10 segundos.
ai-properties:client:accessservidor para cliente(id, access): o acesso do jogador mudou ("owner", "key" ou false).
ai-properties:buy / entercallback do cliente(id): compra na porta, ou entra.
ai-properties:exit / stash / keys / giveKey / sellcallback do clienteAções dentro da propriedade em que o jogador está.
ai-properties:takeKeycallback do cliente(charId): pega uma chave de volta.
ai-properties:client:insideservidor para cliente(id | null, to): o jogador agora está dentro desta propriedade (ou saiu dela); teleporta para to.

Nesta página