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.
import { readInt, fail, groupDigits } from "@aicore-fivem/lib/shared";
import { resourceExport, every } from "@aicore-fivem/lib/fivem";Exports entre recursos (/fivem)
| Helper | O quê |
|---|---|
registerExport(name, handler): void | Registra 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] | null | O mesmo para um recurso que pode não estar rodando (null enquanto parado). |
callExport(resource, name, ...args): unknown | Um export de um script sem tipos aqui; valide o resultado. |
provideExport(resource, name, fn): void | Responde a exports["<resource>"].<name> para um nome que este recurso dá provide. |
isResourceStarted(resource): boolean | Se um recurso está rodando agora. |
Recursos, agendamento, estado (/fivem)
| Helper | O quê |
|---|---|
every(ms, fn, { active?, name? }): Job | O único agendador do recurso: 0 = todo frame. job.set(active), job.stop(), job.running. |
caller(): string | O recurso que chama este export (este mesmo quando local). |
onStop(fn): void | Roda quando este recurso para. |
new ByResource({ onDrop? }): set(key, value, owner = caller()), get, delete, ownerOf, values, entries | Entradas por recurso que chama, removidas quando esse recurso para. |
new Reasons(): set(reason, on, owner?), has, any(), onChange | Um estado que vale enquanto houver algum motivo (HUD escondido, sincronização pausada). |
plateOf(vehicle): string | A 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, stateString | Parsers para as classes de estado. |
const fuel = new EntityState("fuel", stateNumber);
const job = every(1000, () => {
if (cache.vehicle) updateGauge(fuel.get(cache.vehicle) ?? 100);
});Ações e entrada (/shared)
| Helper | O 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)
| Helper | O 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, snapshot | Os 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)
| Helper | O 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_FIELDS | Um 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. |