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.
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): void | Bir 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): unknown | Burada tipi olmayan bir script’in export’u; sonucu ayrıştır. |
provideExport(resource, name, fn): void | Bu resource’un provide ettiği bir ad için exports["<resource>"].<name>’i cevaplar. |
isResourceStarted(resource): boolean | Bir resource şu an çalışıyor mu. |
Resource’lar, zamanlama, durum (/fivem)
| Yardımcı | Ne |
|---|---|
every(ms, fn, { active?, name? }): Job | Resource’un tek zamanlayıcısı: 0 = her kare. job.set(active), job.stop(), job.running. |
caller(): string | Bu export’u çağıran resource (yerelde bu resource). |
onStop(fn): void | Bu 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(), onChange | Herhangi bir sebep varken süren bir durum (HUD gizli, senkron duraklatılmış). |
plateOf(vehicle): string | Bir 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, stateString | State sınıfları için ayrıştırıcılar. |
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, snapshot | Bir 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_FIELDS | Bir 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ı. |