AI Core
Referência da API

Lib: shared e fivem

@aicore-fivem/lib/shared (sem natives, usável em qualquer lugar) e /fivem (natives nos dois lados) - todo helper com sua assinatura.

/shared nunca chama um native: use em código de NUI, em resource/common/ e nos dois lados. /fivem chama natives que existem nos dois lados; as entradas de cliente e servidor o reexportam.

TypeScript
import { readInt, fail, groupDigits } from "@aicore-fivem/lib/shared";
import { resourceExport, every } from "@aicore-fivem/lib/fivem";

Exports entre recursos (/fivem)

HelperO quê
registerExport(name, handler): voidRegistra um export, também sob o gêmeo com a primeira letra na caixa trocada (GetItems e getItems).
resourceExport(resource): CitizenExports[K]Acesso tipado aos exports de outro recurso; um handle por arquivo.
optionalExport(resource): CitizenExports[K] | nullO mesmo para um recurso que pode não estar rodando (null enquanto parado).
callExport(resource, name, ...args): unknownUm export de um script sem tipos aqui; valide o resultado.
provideExport(resource, name, fn): voidResponde a exports["<resource>"].<name> para um nome que este recurso dá provide.
isResourceStarted(resource): booleanSe um recurso está rodando agora.

Recursos, agendamento, estado (/fivem)

HelperO quê
every(ms, fn, { active?, name? }): JobO único agendador do recurso: 0 = todo frame. job.set(active), job.stop(), job.running.
caller(): stringO recurso que chama este export (este mesmo quando local).
onStop(fn): voidRoda quando este recurso para.
new ByResource({ onDrop? }): set(key, value, owner = caller()), get, delete, ownerOf, values, entriesEntradas por recurso que chama, removidas quando esse recurso para.
new Reasons(): set(reason, on, owner?), has, any(), onChangeUm estado que vale enquanto houver algum motivo (HUD escondido, sincronização pausada).
plateOf(vehicle): stringA placa de um veículo, sem espaços e em maiúsculas.
createLocale(), loadLocaleTexts(resource?)Os textos de idioma do recurso (t(key, ...args)), e a tabela inteira para uma NUI.
new EntityState(key, parse), new PlayerState(key, parse), new GlobalKey(key, parse), new GlobalGroup(prefix, parse)Leitores de state bags: get, onChange; EntityState.getByNetId, GlobalGroup.ids().
stateNumber, stateBoolean, stateStringParsers para as classes de estado.
TypeScript
const fuel = new EntityState("fuel", stateNumber);
const job = every(1000, () => {
  if (cache.vehicle) updateGauge(fuel.get(cache.vehicle) ?? 100);
});

Ações e entrada (/shared)

HelperO quê
fail("LANG_KEY")Uma recusa { ok: false, error } para um ActionResult.
isActionOk(reply), replyError(reply, fallback)Leem uma resposta à mão.
readInt(value, min, max), readFinite(value), readId(value), readText(value, max)Leitores rígidos para valores do cliente; null recusa (NaN, Infinity, frações).
readVec3(value), readVec4(value)Pontos vindos do cliente ou de um export (objetos ou vetores de Lua); null em um valor inválido.
oneArg(read)Um parser args de um valor só para callbacks: { args: oneArg(readId) }.
asArgs(value)Um valor validado como resultado de args.
num, int, bool, str, record, vec4 (value, fallback, ...)Leitores de conteúdo do painel com um valor padrão.
isRecord(value)Verifica um objeto simples.

Números, texto, posições (/shared)

HelperO quê
round(value, decimals = 0), groupDigits(value, separator = ",")1,234,567.
formatWeight(grams)750 g, 1.5 kg.
normalizePlate(text)Uma placa como chave ou para comparar.
stripGameText(text)Remove HTML e códigos ~r~ do texto de outro script.
formatText(template, args)Marcadores {0}.
new LangTexts(): set, translate, subscribe, snapshotOs textos de idioma de uma página NUI.
logSafe(text, max), previewJson(value, max)Texto e dados não confiáveis preparados para o console.
createLogger(resource)info, warn, error com o nome do recurso na frente.
distance(a, b), flatDistance(a, b), headingTo(from, to), nearestOf(items, point, pos, max?)Matemática de vetores (Vec3).
randomInt(min, max), pickRandom(list), rollChance(percent)Helpers de aleatoriedade.
sleep(ms), waitFor(check, timeoutMs = 10000, intervalMs = 0)Espera.
new ServerClock(): sync(serverNow), now(), toLocal(serverTime)O relógio do servidor em um cliente, para contagens regressivas.
gridCell(x, y, size), cellKey(cx, cy)Células de grade para AreaStream.
zoneContains(shape, x, y, z), zoneBounds(shape), polyFromCorners(corners, height)Geometria de zonas.
vehicleTypeOfClass(vehicleClass)Uma classe de veículo para o tipo de CreateVehicleServerSetter.
toVehicleProps(value), toVehicleSetup(value)A aparência de um veículo a partir de entrada não confiável, ou null.

Dados do painel (/shared)

HelperO quê
spec.int(min, max, optional?), spec.num(min, max, optional?)Construtores de especificação de dados para schema.ts.
readAccess(record), ACCESS_FIELDS, accessFields(), isPublic(rule), decideAccess(...)Quem pode usar um local: empregos, gangues, cargos, em serviço.
readBlipStyle(value, fallback), BLIP_STYLE_FIELDSUm estilo de blip do painel.
PLACE_PED_SPEC, placePedFields(path?), readPlacePed(value)O NPC de um local no painel.
readRecords(raw, readOne)Um arquivo de registros validado uma vez.
new RecordObjects(source, file, readOne | records, build): rebuild(key), rebuildAll()Pontos, blips e peds de um arquivo de registros; um registro editado reconstrói só os próprios objetos.
withoutSchemaKey(value)Um arquivo de dados sem a chave $schema.

Nesta página