AI Core
API-Referenz

Lib: shared und fivem

@aicore-fivem/lib/shared (keine Natives, überall nutzbar) und /fivem (Natives auf beiden Seiten) - jeder Helfer mit seiner Signatur.

/shared ruft nie ein Native auf: nutze es in NUI-Code, resource/common/ und auf beiden Seiten. /fivem ruft Natives auf, die es auf beiden Seiten gibt; die Client- und Server-Einstiege exportieren es weiter.

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

Exports zwischen Ressourcen (/fivem)

HelferWas
registerExport(name, handler): voidRegistriert einen Export, auch unter dem Zwilling mit vertauschter Schreibung des ersten Buchstabens (GetItems und getItems).
resourceExport(resource): CitizenExports[K]Typisierter Zugriff auf die Exports einer anderen Ressource; ein Handle pro Datei.
optionalExport(resource): CitizenExports[K] | nullDasselbe für eine Ressource, die eventuell nicht läuft (null, solange sie gestoppt ist).
callExport(resource, name, ...args): unknownEin Export eines Skripts ohne Typen hier; parse das Ergebnis.
provideExport(resource, name, fn): voidBeantwortet exports["<resource>"].<name> für einen Namen, den diese Ressource providet.
isResourceStarted(resource): booleanOb eine Ressource gerade läuft.

Ressourcen, Zeitplanung, Zustand (/fivem)

HelferWas
every(ms, fn, { active?, name? }): JobDer eine Scheduler der Ressource: 0 = jeden Frame. job.set(active), job.stop(), job.running.
caller(): stringDie Ressource, die diesen Export aufruft (diese selbst, wenn lokal).
onStop(fn): voidLäuft, wenn diese Ressource stoppt.
new ByResource({ onDrop? }): set(key, value, owner = caller()), get, delete, ownerOf, values, entriesEinträge pro aufrufender Ressource, entfernt, wenn diese Ressource stoppt.
new Reasons(): set(reason, on, owner?), has, any(), onChangeEin Zustand, der gilt, solange ein Grund gesetzt ist (HUD ausgeblendet, Sync pausiert).
plateOf(vehicle): stringDas Kennzeichen eines Fahrzeugs, getrimmt und in Großbuchstaben.
createLocale(), loadLocaleTexts(resource?)Die Sprachtexte der Ressource (t(key, ...args)) und die ganze Tabelle für ein NUI.
new EntityState(key, parse), new PlayerState(key, parse), new GlobalKey(key, parse), new GlobalGroup(prefix, parse)State-Bag-Leser: get, onChange; EntityState.getByNetId, GlobalGroup.ids().
stateNumber, stateBoolean, stateStringParser für die State-Klassen.
TypeScript
const fuel = new EntityState("fuel", stateNumber);
const job = every(1000, () => {
  if (cache.vehicle) updateGauge(fuel.get(cache.vehicle) ?? 100);
});

Aktionen und Eingaben (/shared)

HelferWas
fail("LANG_KEY")Eine Ablehnung { ok: false, error } für ein ActionResult.
isActionOk(reply), replyError(reply, fallback)Eine Antwort von Hand lesen.
readInt(value, min, max), readFinite(value), readId(value), readText(value, max)Strikte Leser für Client-Werte; null lehnt ab (NaN, Infinity, Brüche).
readVec3(value), readVec4(value)Punkte aus Client- oder Export-Eingaben (Objekte oder Lua-Vektoren); null bei einem falschen Wert.
oneArg(read)Ein args-Parser für einen Wert bei Callbacks: { args: oneArg(readId) }.
asArgs(value)Ein geparster Wert als args-Ergebnis.
num, int, bool, str, record, vec4 (value, fallback, ...)Leser für Panel-Inhalte mit Ersatzwert.
isRecord(value)Prüfung auf ein einfaches Objekt.

Zahlen, Text, Positionen (/shared)

HelferWas
round(value, decimals = 0), groupDigits(value, separator = ",")1,234,567.
formatWeight(grams)750 g, 1.5 kg.
normalizePlate(text)Ein Kennzeichen als Schlüssel oder zum Vergleichen.
stripGameText(text)HTML und ~r~-Codes aus dem Text eines anderen Skripts entfernt.
formatText(template, args){0}-Platzhalter.
new LangTexts(): set, translate, subscribe, snapshotDie Sprachtexte einer NUI-Seite.
logSafe(text, max), previewJson(value, max)Unsichere Texte und Daten sicher für die Konsole gemacht.
createLogger(resource)info, warn, error mit dem Ressourcennamen davor.
distance(a, b), flatDistance(a, b), headingTo(from, to), nearestOf(items, point, pos, max?)Vektorrechnung (Vec3).
randomInt(min, max), pickRandom(list), rollChance(percent)Zufallshelfer.
sleep(ms), waitFor(check, timeoutMs = 10000, intervalMs = 0)Warten.
new ServerClock(): sync(serverNow), now(), toLocal(serverTime)Die Server-Uhr auf einem Client, für Countdowns.
gridCell(x, y, size), cellKey(cx, cy)Rasterzellen für AreaStream.
zoneContains(shape, x, y, z), zoneBounds(shape), polyFromCorners(corners, height)Zonengeometrie.
vehicleTypeOfClass(vehicleClass)Eine Fahrzeugklasse zum Typ für CreateVehicleServerSetter.
toVehicleProps(value), toVehicleSetup(value)Fahrzeugaussehen aus unsicherer Eingabe, oder null.

Panel-Daten (/shared)

HelferWas
spec.int(min, max, optional?), spec.num(min, max, optional?)Builder für Datenspezifikationen in schema.ts.
readAccess(record), ACCESS_FIELDS, accessFields(), isPublic(rule), decideAccess(...)Wer einen Ort nutzen darf: Jobs, Gangs, Ränge, im Dienst.
readBlipStyle(value, fallback), BLIP_STYLE_FIELDSEin Blip-Stil aus dem Panel.
PLACE_PED_SPEC, placePedFields(path?), readPlacePed(value)Der NPC eines Ortes im Panel.
readRecords(raw, readOne)Eine Datensatz-Datei, einmal geparst.
new RecordObjects(source, file, readOne | records, build): rebuild(key), rebuildAll()Punkte, Blips und Peds einer Datensatz-Datei; ein bearbeiteter Datensatz baut nur seine eigenen Objekte neu.
withoutSchemaKey(value)Eine Datendatei ohne ihren $schema-Schlüssel.

Auf dieser Seite