AI Core
API başvurusu

Lib: shared ve fivem

@aicore-fivem/lib/shared (native yok, her yerde kullanılır) ve /fivem (iki tarafta da native) - imzasıyla her yardımcı.

/shared hiçbir native çağırmaz: NUI kodunda, resource/common/ içinde ve iki tarafta da kullan. /fivem iki tarafta da var olan native’leri çağırır; client ve sunucu girişleri onu yeniden dışa aktarır.

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

Resource’lar arası export’lar (/fivem)

YardımcıNe
registerExport(name, handler): voidBir export kaydeder; ilk harfi büyük/küçük çevrilmiş adıyla da (GetItems ve getItems).
resourceExport(resource): CitizenExports[K]Başka bir resource’un export’larına tipli erişim; dosya başına bir handle.
optionalExport(resource): CitizenExports[K] | nullÇalışmıyor olabilecek bir resource için aynısı (durmuşken null).
callExport(resource, name, ...args): unknownBurada tipi olmayan bir script’in export’u; sonucu ayrıştır.
provideExport(resource, name, fn): voidBu resource’un provide ettiği bir ad için exports["<resource>"].<name>’i cevaplar.
isResourceStarted(resource): booleanBir resource şu an çalışıyor mu.

Resource’lar, zamanlama, durum (/fivem)

YardımcıNe
every(ms, fn, { active?, name? }): JobResource’un tek zamanlayıcısı: 0 = her kare. job.set(active), job.stop(), job.running.
caller(): stringBu export’u çağıran resource (yerelde bu resource).
onStop(fn): voidBu resource durunca çalışır.
new ByResource({ onDrop? }): set(key, value, owner = caller()), get, delete, ownerOf, values, entriesÇağıran resource başına kayıtlar, o resource durunca kalkar.
new Reasons(): set(reason, on, owner?), has, any(), onChangeHerhangi bir sebep varken süren bir durum (HUD gizli, senkron duraklatılmış).
plateOf(vehicle): stringBir aracın plakası, kırpılmış büyük harf.
createLocale(), loadLocaleTexts(resource?)Resource’un dil metinleri (t(key, ...args)) ve bir NUI için bütün tablo.
new EntityState(key, parse), new PlayerState(key, parse), new GlobalKey(key, parse), new GlobalGroup(prefix, parse)State bag okuyucuları: get, onChange; EntityState.getByNetId, GlobalGroup.ids().
stateNumber, stateBoolean, stateStringState sınıfları için ayrıştırıcılar.
TypeScript
const fuel = new EntityState("fuel", stateNumber);
const job = every(1000, () => {
  if (cache.vehicle) updateGauge(fuel.get(cache.vehicle) ?? 100);
});

Eylemler ve girdi (/shared)

YardımcıNe
fail("LANG_KEY")Bir ActionResult için ret { ok: false, error }.
isActionOk(reply), replyError(reply, fallback)Bir cevabı elle okur.
readInt(value, min, max), readFinite(value), readId(value), readText(value, max)Client değerleri için katı okuyucular; null reddeder (NaN, Infinity, kesirler).
readVec3(value), readVec4(value)Client ya da export girdisinden noktalar (nesneler ya da Lua vektörleri); hatalı değerde null.
oneArg(read)Callback’ler için tek değerli bir args ayrıştırıcısı: { args: oneArg(readId) }.
asArgs(value)Ayrıştırılmış tek değer, args sonucu olarak.
num, int, bool, str, record, vec4 (value, fallback, ...)Yedek değerli panel içeriği okuyucuları.
isRecord(value)Düz nesne kontrolü.

Sayılar, metin, konumlar (/shared)

YardımcıNe
round(value, decimals = 0), groupDigits(value, separator = ",")1,234,567.
formatWeight(grams)750 g, 1.5 kg.
normalizePlate(text)Anahtar olarak ya da karşılaştırmak için plaka.
stripGameText(text)Başka bir script’in metninden HTML ve ~r~ kodları silinmiş hali.
formatText(template, args){0} yer tutucuları.
new LangTexts(): set, translate, subscribe, snapshotBir NUI sayfasının dil metinleri.
logSafe(text, max), previewJson(value, max)Güvenilmeyen metin ve veri, konsol için güvenli hale gelir.
createLogger(resource)Başında resource adıyla info, warn, error.
distance(a, b), flatDistance(a, b), headingTo(from, to), nearestOf(items, point, pos, max?)Vektör matematiği (Vec3).
randomInt(min, max), pickRandom(list), rollChance(percent)Rastgele yardımcıları.
sleep(ms), waitFor(check, timeoutMs = 10000, intervalMs = 0)Bekleme.
new ServerClock(): sync(serverNow), now(), toLocal(serverTime)Client’ta sunucunun saati, geri sayımlar için.
gridCell(x, y, size), cellKey(cx, cy)AreaStream için ızgara hücreleri.
zoneContains(shape, x, y, z), zoneBounds(shape), polyFromCorners(corners, height)Alan geometrisi.
vehicleTypeOfClass(vehicleClass)Araç sınıfından CreateVehicleServerSetter tipine.
toVehicleProps(value), toVehicleSetup(value)Güvenilmeyen girdiden araç görünümü ya da null.

Panel verisi (/shared)

YardımcıNe
spec.int(min, max, optional?), spec.num(min, max, optional?)schema.ts için veri tanımı oluşturucuları.
readAccess(record), ACCESS_FIELDS, accessFields(), isPublic(rule), decideAccess(...)Bir yeri kim kullanabilir: meslekler, çeteler, rütbeler, mesai.
readBlipStyle(value, fallback), BLIP_STYLE_FIELDSBir panel blip stili.
PLACE_PED_SPEC, placePedFields(path?), readPlacePed(value)Panelde bir yerin NPC’si.
readRecords(raw, readOne)Bir kayıt dosyası, bir kez ayrıştırılır.
new RecordObjects(source, file, readOne | records, build): rebuild(key), rebuildAll()Bir kayıt dosyasının noktaları, blip’leri ve ped’leri; düzenlenen kayıt sadece kendi nesnelerini yeniden kurar.
withoutSchemaKey(value)$schema anahtarı olmadan bir veri dosyası.

Bu sayfada