AI Core
API başvurusu

Ortak tipler

API sayfalarının bağlantı verdiği her tip; her alanı, tipi ve örnek bir değerle.

API sayfaları tipleri adıyla yazar (Vec3, ActionResult, InventoryRef...). Bu sayfa her birini bir kez açıklar: alanlarını, her alanın ne anlama geldiğini ve örnek bir değeri.

Bir tipin nereden geldiği:

PaketImportTipler
@aicore-fivem/sharedimport type { AiPlayerData } from "@aicore-fivem/shared";Başlık başka bir şey söylemedikçe bu sayfadaki her şey.
@aicore-fivem/lib/sharedimport type { Vec3 } from "@aicore-fivem/lib/shared";Vec3, Vec4, AccessRule, BlipStyle, ZoneShape, VehicleProps, VehicleSetup, PlacePed.
@aicore-fivem/lib/clientimport type { ProgressOptions } from "@aicore-fivem/lib/client";ProgressOptions.
@aicore-fivem/lib/serverimport type { ProgressForOptions } from "@aicore-fivem/lib/server";ProgressForOptions.

Lua’da çalışma anında tip yoktur. Aynı anahtarlara sahip bir Lua tablosu aynı değerdir: { x = 1.0, y = 2.0, z = 3.0 } bir Vec3’tür. Diziler Lua listeleridir ({ 'police', 'sheriff' }), null ise nil’dir. Vektörler için bkz. Lua için lib.

Konumlar

Vec3

Dünyada bir nokta, metre cinsinden. GTA’da x doğu, y kuzey, z yukarıdır.

Prop

Type

Örnek
const counter: Vec3 = { x: 25.7, y: -1347.3, z: 29.5 };
Lua
local counter = vector3(25.7, -1347.3, 29.5) -- ya da { x = 25.7, y = -1347.3, z = 29.5 }

Vec4

Yönü olan bir nokta: bir ped’in durduğu ya da bir aracın doğduğu yer ve hangi yöne baktığı. Panelin vec4 alanları ve panelin nokta aracı bu şekli kaydeder.

Prop

Type

Örnek
const spawn: Vec4 = { x: -42.1, y: -1098.4, z: 26.4, heading: 158.0 };

Lua’daki vector4 yöne w der. Lib’in okuyucuları (readVec4) hem heading hem w kabul eder.

ZoneShape

Dünyada bir alan. Client Zones ve server alan kontrolleri tarafından kullanılır (bölge geometrisi). type ile seçilen üç şekilden biridir.

Sphere (bir noktanın etrafında bir küre):

Prop

Type

Cylinder (yerde yukarı ve aşağı uzanan bir daire):

Prop

Type

Poly (iki yükseklik arasında yerde bir çokgen):

Prop

Type

Örnek
const yard: ZoneShape = { type: "sphere", center: { x: 440.1, y: -981.2, z: 30.7 }, radius: 25 };
const lot: ZoneShape = {
  type: "poly",
  points: [ { x: 210, y: -810 }, { x: 240, y: -800 }, { x: 230, y: -770 }, { x: 200, y: -780 } ],
  minZ: 28,
  maxZ: 36,
};

Sonuçlar

ActionResult

Her server aksiyonunun client’a verdiği cevap: ya başarı ya da client’ın sebep olarak gösterdiği bir dil anahtarı. Başarı dalında ek alanlar taşınabilir (ActionResult<{ id: number }>). Yeni durumun kendisi asla cevapta gitmez: delta olarak gelir.

Başarı:

Prop

Type

Ret:

Prop

Type

Örnek
const done: ActionResult = { ok: true };
const created: ActionResult<{ id: number }> = { ok: true, id: 42 };
const refused: ActionResult = { ok: false, error: "NOT_ENOUGH_MONEY" };
Lua
return { ok = true }
return aiLib.fail('NOT_ENOUGH_MONEY') -- { ok = false, error = 'NOT_ENOUGH_MONEY' }

Retleri fail ile kur; cevapları isActionOk ve replyError ile oku.

Oyuncular ve karakterler

AiPlayerData

ai-core’un bir oyuncunun kendi client’ına gönderdiği oyuncu verisi: karakter yüklendiğinde bir tam snapshot, sonra yalnızca değişen anahtar. Her iki tarafta da GetPlayerData export’u tarafından döndürülür. Diğer sayfalar ona "oyuncu verisi" diyebilir.

Prop

Type

Örnek
const data: AiPlayerData = {
  character: { id: 12, citizenid: "AB12CD34", slot: 1, firstname: "Jane", lastname: "Doe", birthdate: "1994-05-12", sex: "female", nationality: "American" },
  money: { cash: 500, bank: 5000, black_money: 0, crypto: 0 },
  jobs: [{ job: "police", grade: 2 }],
  duty: "police",
  job: { job: "police", grade: 2 },
  gangs: [],
  activeGang: null,
  metadata: { hunger: 80, thirst: 75 },
};

CharacterInfo

Diğer resource’ların gördüğü haliyle bir karakter (GetCharacter, playerLoaded ve AiPlayerData.character’daki "character").

Prop

Type

Örnek
const character: CharacterInfo = {
  id: 12, citizenid: "AB12CD34", slot: 1,
  firstname: "Jane", lastname: "Doe", birthdate: "1994-05-12",
  sex: "female", nationality: "American",
};

JobMembership

Bir karakterin sahip olduğu tek bir meslek.

Prop

Type

Örnek
const membership: JobMembership = { job: "police", grade: 2 };

GangMembership

Bir karakterin içinde olduğu tek bir çete.

Prop

Type

Örnek
const membership: GangMembership = { gang: "ballas", grade: 0 };

SpawnPoint

Yüklü bir karakterin dünyada nerede ve nasıl göründüğü (ai-core’un karakteri dünyaya koymak için gönderdiği payload).

Prop

Type

Örnek
const spawn: SpawnPoint = { x: -1037.6, y: -2737.9, z: 20.2, heading: 330, model: "mp_f_freemode_01", armour: 0, health: 200 };

Branding

Tam ekran menülerde sunucunun adı ve görünümü (panelin General ayarları; GetBranding export’u).

Prop

Type

Örnek
const branding: Branding = { name: "Los Santos RP", subtitle: "Serious roleplay", tagline: "Welcome", taglineSub: "Pick a character", background: "skyline" };

PlayerCache

Yerel oyuncunun sık okunan değerleri, ai-core’un tek izleyicisi tarafından güncel tutulur (client’ta lib cache). false "yok" demektir.

Prop

Type

Örnek
const snapshot: PlayerCache = { ped: 258, playerId: 0, serverId: 7, vehicle: 81922, seat: -1, weapon: false };

UnloadReason

Bir karakterin neden bırakıldığı.

DeğerAnlamı
"dropped"Oyuncu sunucudan çıktı.
"switch"Oyuncu karakter ekranına döndü.

Para

Hesap isimleri

Para isimli hesaplarda durur. Hangilerinin var olduğunu panelin Accounts listesi belirler; ai-core bunlarla gelir:

AdEtiketBaşlangıç miktarı
cashCash500
bankBank5000
black_moneyDirty money0
cryptoCrypto0

Sunucu sahibi panelde hesap ekleyebilir, yeniden adlandırabilir ya da silebilir; bu yüzden listeyi varsaymak yerine GetAccountTypes export’uyla oku. Liste boşken ai-core tek bir cash hesabı tutar.

Örnek
core.AddMoney(source, "bank", 250, "Paycheck");

AccountTypeDefinition

Panelin Accounts listesinden bir hesap tipi (GetAccountTypes, hesap adına göre anahtarlanmış Record<string, AccountTypeDefinition> döndürür).

Prop

Type

Örnek
const bank: AccountTypeDefinition = { label: "Bank", start: 5000, allowNegative: false };

MoneyRef

Bir para transferinin bir tarafı (TransferMoney): yüklü bir oyuncunun hesabı ya da bir mesleğin veya çetenin ortak hesabı.

Prop

Type

Örnek
const player: MoneyRef = { source: 7, account: "bank" };
const society: MoneyRef = { owner: "job", id: "mechanic", account: "bank" };

Meslekler ve çeteler

GradeDefinition

Bir mesleğin ya da çetenin tek bir rütbesi (panel içeriği).

Prop

Type

Örnek
const grade: GradeDefinition = { label: "Sergeant", salary: 400, boss: false };

JobDefinition

Panelin Jobs listesinden bir meslek (GetJobDefinition). Bir JobMembership kaydının n rütbesi grades[n]’dir.

Prop

Type

Örnek
const police: JobDefinition = {
  label: "Police", type: "leo", defaultDuty: false, listed: false,
  grades: [ { label: "Cadet", salary: 200, boss: false }, { label: "Chief", salary: 900, boss: true } ],
};

GangDefinition

Panelin Gangs listesinden bir çete (GetGangDefinition).

Prop

Type

Örnek
const ballas: GangDefinition = { label: "Ballas", grades: [ { label: "Recruit", salary: 0, boss: false } ] };

AccessRule

Bir yeri (dükkan, stash, garaj) kimin kullanabileceği: jobs içinden biri ya da gangs içinden biri. İki liste de boşsa herkes. @aicore-fivem/lib/shared’dan gelir; readAccess ile oku.

Prop

Type

Örnek
const armoury: AccessRule = { jobs: ["police"], gangs: [], grades: { police: 2 }, onDuty: true };

Envanter

InventoryRef

Bir çağrının hangi envanter üzerinde çalıştığı.

DeğerAnlamı
numberBir oyuncunun server id’si: o oyuncunun kendi envanteri.
stringid’siyle başka herhangi bir envanter: bir stash adı, bagaj ya da torpido id’si.
Örnek
inventory.addItem(source, "water", 2);          // bir oyuncu
inventory.addItem("police_evidence", "phone", 1); // bir stash

ItemMetadata

Tek bir eşya yığınında saklanan serbest veri (Record<string, unknown>): seri numarası, dayanıklılık, bir not. Her envanter bazı anahtarları kendisi gösterir (çoğunda label, description, image).

Örnek
const metadata: ItemMetadata = { serial: "AB-1029", durability: 100 };

Metadata’yı küçük ve JSON uyumlu tut (string’ler, sayılar, boolean’lar, düz nesneler ve diziler). Farklı metadata’ya sahip iki yığın asla üst üste binmez.

InventoryStack

Bir envanterdeki tek bir yığın (GetItems bunların listesini döndürür).

Prop

Type

Örnek
const stack: InventoryStack = { name: "water", label: "Water", count: 3, slot: 4, metadata: {} };

UsedItem

Bir oyuncu eşya kullandığında kullanılabilir eşya handler’ının aldığı yığın.

Prop

Type

Örnek
const used: UsedItem = { name: "lockpick", slot: 2, count: 1, metadata: { durability: 80 } };

UsableItemHandler

(source: number, item: UsedItem) => unknown: bir oyuncu eşyayı kullandığında çalışır. false döndürmek, kullanılan eşyayı kendisi alan envanterlerde eşyayı yerinde tutar (ai-inventory eşyanın consume miktarını alır); diğer envanterler kendi eşya ayarlarına uyar.

Örnek
const onUse: UsableItemHandler = (source, item) => {
  if (item.metadata.durability === 0) return false; // yerinde tut
  return true;
};

ItemDefinition

Aktif envanterin tanımladığı haliyle bir eşya (GetItemDefinition). Diğer sayfalar ona "eşya" ya da "eşya tanımı" diyebilir.

Prop

Type

Örnek
const water: ItemDefinition = { name: "water", label: "Water", weight: 500, unique: false, close: true, description: "Fresh water" };

StashDefinition

ai-core’un tuttuğu haliyle bir stash (RegisterStash argümanları).

Prop

Type

Örnek
const evidence: StashDefinition = { name: "police_evidence", label: "Evidence", slots: 50, maxWeight: 100000, jobs: ["police"] };

ShopProduct

Bir script dükkanının tek bir ürünü.

Prop

Type

Örnek
const product: ShopProduct = { name: "bandage", price: 50 };

ShopDefinition

Bir script’in kaydettiği dükkan. Server onu bir oyuncu için açar; kendine ait bir yeri yoktur.

Prop

Type

Örnek
const shop: ShopDefinition = { name: "police_armoury", label: "Armoury", items: [{ name: "bandage", price: 50 }] };

HeldWeapon

Yerel oyuncunun tuttuğu silah eşyası, envanterin bildiği haliyle.

Prop

Type

Örnek
const held: HeldWeapon = { name: "WEAPON_PISTOL", label: "Pistol" };

Araçlar

VehicleProps

Bir aracın görünümü ve modifiyesi düz veri olarak: renkler, modlar, ekstralar, kaplama, jantlar, neon, cam filmi, plaka ve durum. @aicore-fivem/lib/shared’dan gelir. Kaydedilen JSON v: 1 taşır. Gelen veriyi toVehicleProps ile kontrol et.

Prop

Type

Örnek
const props: VehicleProps = {
  v: 1, model: 1032823388, plate: "AI 123", plateIndex: 0,
  colors: [12, 12], extraColors: [0, 156], customPrimary: null, customSecondary: null,
  wheelType: 0, windowTint: -1, livery: -1, mods: { 11: 2, 18: 1 }, xenonColor: 255,
  neon: [false, false, false, false], neonColor: [255, 0, 255], tyreSmoke: [255, 255, 255],
  extras: { 1: true }, dirt: 0, engineHealth: 1000, bodyHealth: 1000,
};

VehicleSetup

Yeni doğan bir aracın modelin varsayılanlarının üstüne aldığı şeyler (lib spawnVehicle’ın setup’ı, bir dükkanda seçilen renk). @aicore-fivem/lib/shared’dan gelir. Her alan isteğe bağlıdır. Gelen veriyi toVehicleSetup ile kontrol et.

Prop

Type

Örnek
const setup: VehicleSetup = { colors: [27, 27], windowTint: 1, engineOn: true };

KeyPurpose

Bir oyuncunun neden bir aracın anahtarını aldığı. Anahtar script’leri her birini farklı ele alır. Bilinmeyen her şey "temporary" sayılır.

DeğerNe zaman kullanılır
"purchase"Oyuncu artık aracın sahibi (galeri, admin verdi): yeni bir anahtar, eski kopyalar çalışmayı bırakır.
"garage"Sahipli bir araç depodan çıkar: sahibinde anahtar zaten vardır.
"job"Vardiya için bir iş aracı.
"rental"Kiralama süresi boyunca kiralık bir araç.
"temporary"Kısa ömürlü başka her şey (admin spawn’ı, test sürüşü, soygun aracı). Varsayılan.
Örnek
vehicleKeys.give(source, vehicle, "rental");

VehicleOwner

Bir ai-vehicles aracının sahibi.

Prop

Type

Örnek
const owner: VehicleOwner = { type: "character", id: "12" };

OwnedVehicle

ai-vehicles’ın tuttuğu haliyle sahipli bir araç (GetVehicle).

Prop

Type

Örnek
const car: OwnedVehicle = {
  id: 7, plate: "AI 123", owner: { type: "character", id: "12" }, model: "sultan",
  props: null, setup: null, state: "garage", garage: "legion", fuel: 100, engine: 1000, body: 1000,
};

Dünya

Weather

qb-weathersync sözleşmesinin bir hava tipi adı, tam büyük harf: "EXTRASUNNY", "CLEAR", "NEUTRAL", "SMOG", "FOGGY", "OVERCAST", "CLOUDS", "CLEARING", "RAIN", "THUNDER", "SNOW", "BLIZZARD", "SNOWLIGHT", "XMAS", "HALLOWEEN". Liste WEATHERS sabitidir; isWeather(value) bir değeri kontrol eder.

Örnek
import { isWeather, type Weather } from "@aicore-fivem/shared";

const next: Weather = "RAIN";
if (isWeather(input)) world.setWeather(input);

BlipStyle

Panelin blip bileşeninin kaydettiği haliyle bir blip’in görünümü. @aicore-fivem/lib/shared’dan gelir; readBlipStyle ile oku.

Prop

Type

Örnek
const style: BlipStyle = { sprite: 52, color: 2, scale: 0.8 };

PlacePed

Bir yerde duran NPC (dükkancı, memur). @aicore-fivem/lib/shared’dan gelir; readPlacePed ile oku.

Prop

Type

Örnek
const clerk: PlacePed = { model: "mp_m_shopkeep_01", scenario: "WORLD_HUMAN_STAND_IMPATIENT", coords: { x: 24.5, y: -1346.6, z: 29.5, heading: 270 } };

Oyuncu arayüzü

NotificationKind

Bir bildirim kartının rengi ve ikonu: "success", "error", "info" ya da "warning". Diğer sayfalar ona "bildirim türü" diyebilir.

Örnek
notify(source, "Vehicle stored", "success"); // server lib notify(source, text, kind?, duration?)

Notification

Bir bildirim kartı. ai-lib onu çizer; metinler gönderen tarafından zaten çevrilmiştir.

Prop

Type

Örnek
const card: Notification = { text: "Vehicle stored", kind: "success", duration: 3000 };

ProgressOptions

Client ilerleme çubuğunun (client’ta lib progress) ne gösterdiği ve çalışırken oyuncunun nasıl hareket edebileceği. @aicore-fivem/lib/client’tan gelir.

Prop

Type

Örnek
const repair: ProgressOptions = {
  label: "Repairing",
  duration: 8000,
  anim: { dict: "mini@repair", clip: "fixing_a_player" },
  canCancel: true,
  disable: { move: true, combat: true },
};

ServerProgress

Bir server akışının bir oyuncunun client’ında çalıştırdığı çubuk (lib progressFor). ProgressOptions ile aynı alanlar, whileDead hariç. ProgressForOptions (@aicore-fivem/lib/server’dan) bir alan ekler:

Prop

Type

Örnek
const bar: ProgressForOptions = { label: "Picking the lock", duration: 6000, scenario: "PROP_HUMAN_PARKING_METER", minRatio: 0.9 };

Bir menünün tek satırı.

Prop

Type

Örnek
const row: MenuItem = { id: "water", label: "Water ($5)", icon: "bottle-water" };

Gösterilecek bir menü (lib menu, Lua aiLib.menu.show).

Prop

Type

Örnek
const shop: MenuRequest = {
  title: "24/7",
  items: [ { id: "water", label: "Water ($5)" }, { id: "bread", label: "Bread ($3)" } ],
};

InputField

Bir girdi diyaloğunun tek alanı. type ile seçilen bir sayı alanı ya da metin alanıdır.

Sayı alanı:

Prop

Type

Metin alanı:

Prop

Type

InputRequest

Gösterilecek bir girdi diyaloğu (lib input, Lua aiLib.input).

Prop

Type

Örnek
const fine: InputRequest = {
  title: "Write a fine",
  confirm: "Send",
  fields: [
    { name: "amount", label: "Amount", type: "number", min: 1, max: 10000 },
    { name: "reason", label: "Reason", type: "text", maxLength: 80 },
  ],
};

PromptAnchor

Bir dünya isteminin nerede süzüldüğü: sabit bir nokta ya da entity’ler üzerindeki noktalar. Entity ofsetleri entity’nin kendi uzayındadır, böylece istem onunla birlikte hareket eder ve döner (sallanan bir kapı). Birden fazla entity noktası varsa her karede oyuncuya en yakın olanı gösterilir.

Nokta:

Prop

Type

Entity noktaları:

Prop

Type

Örnek
const atPoint: PromptAnchor = { x: 25.7, y: -1347.3, z: 30.2 };
const onDoor: PromptAnchor = { anchors: [{ entity: door, offset: { x: 0.5, y: 0, z: 0 } }] };

ItemPickerRequest

ai-core’un admin araçları için eşya seçicisi: aktif envanterin her eşyası resmiyle, bir arama ve bir adetle.

Prop

Type

Örnek
const request: ItemPickerRequest = { title: "Give items", target: 7 };

PickedItem

Eşya seçicisinin cevapladığı tek satır.

Prop

Type

SkillDifficulty

Bir beceri kontrolü aşamasının ne kadar zor olduğu: "easy", "medium", "hard" ya da ox_lib’in kendi şekli { areaSize: number; speedMultiplier: number }. İsimli aşamalar: easy = saniyede 0.6 turla 50 derecelik yeşil yay, medium = 0.85’te 40, hard = 1’de 25.

Örnek
const stages: SkillDifficulty[] = ["easy", "medium", { areaSize: 30, speedMultiplier: 1.2 }];

LockpickResult

Maymuncuğun cevabı: "opened" (kilit açıldı), "broken" (oyuncu her maymuncuğu kırdı) ya da "cancelled" (oyuncu kapattı).

RadialItem

Radyal tekerleğin tek bir öğesi (lib radial). Fonksiyonları onu ekleyen resource’ta çalışır; o resource durduğunda ai-core öğeyi kaldırır.

Prop

Type

Örnek
const item: RadialItem = {
  id: "engine", label: "Engine", icon: "car", parent: "vehicle",
  canShow: () => cache.seat === -1,
  onPressed: () => SetVehicleEngineOn(cache.vehicle as number, !GetIsVehicleEngineRunning(cache.vehicle as number), false, true),
};

KeyHintRequest

Bir script’in bir süre gösterdiği tuş yardım satırı (admin noclip tuşları). keybind ya da key ver.

Prop

Type

Örnek
const hint: KeyHintRequest = { label: "Speed up", key: "SHIFT", icon: "gauge-high" };

KeyHintWhen

Bir keybind ipucunun HUD’larda ne zaman göründüğü: "foot" (yayayken), "vehicle" (araçtayken) ya da "always". Sunucu sahibi bunu panelde değiştirebilir; bu değeri olmayan bir keybind asla ipucu göstermez.

KeyHintView

Bir HUD’ın gösterdiği tuş ipuçlarının tek satırı (client export’u GetKeyHints, event ai-core:client:keyHints): oyuncunun atadığı haliyle tuş ve ne yaptığı.

Prop

Type

Örnek
const row: KeyHintView = { id: "noclip_speed", key: "SHIFT", label: "Speed up", icon: "gauge-high" };

Loglar, ihbarlar, telefon

LogOptions

Bir log satırının ek ayrıntıları (lib aiLog, export Log).

Prop

Type

Örnek
aiLog("payments", "Paid a bill", { source, metadata: { amount: 250 } });

LogLevel

Bir log satırının önem derecesi: "debug", "info", "warn" ya da "error".

LogChannel

Bir resource’un log kanallarından birini nasıl tanımladığı (lib aiLogChannels, export LogChannels, açılışta bir kez çağrılır). Webhook url’leri asla burada olmaz: sunucu sahibi onları ai-core’un panelinde ayarlar.

Prop

Type

Örnek
aiLogChannels({ payments: { dataset: "my-shop" }, debug: { active: false } });

DispatchAlert

Bir polis (ya da başka bir meslek) ihbarı. Aktif ihbar script’i onu jobs içindeki mesaideki üyelere gösterir. Metinler zaten çevrilmiştir.

Prop

Type

Örnek
const alert: DispatchAlert = { code: "10-71", title: "Shots fired", source, jobs: ["police"], priority: "high" };

PhoneMail

Bir script’in bir oyuncunun telefonuna gönderdiği mail.

Prop

Type

Örnek
const mail: PhoneMail = { sender: "Los Santos Customs", subject: "Your car is ready", message: "Pick it up at the garage." };

PhoneNotification

Bir oyuncunun telefonunda bir bildirim.

Prop

Type

Örnek
const note: PhoneNotification = { title: "Bank", message: "You received $250", app: "bank" };

Faturalar, MDT, EMS, garajlar

BillRequest

Bir script’in gönderdiği fatura (lib billing.send): bir meslekten (cezalar, hizmet ücretleri) ya da bir oyuncudan bir oyuncuya. Metinler zaten çevrilmiştir.

Prop

Type

Örnek
const bill: BillRequest = { to: 7, amount: 250, label: "Speeding", from: source, job: "police" };

UnpaidBill

Bir oyuncunun açık tek bir faturası.

Prop

Type

MdtRecord

Bir script’in polis MDT’sine yazdığı kayıt (lib mdt.record). Metinler zaten çevrilmiştir.

Prop

Type

Örnek
const record: MdtRecord = { kind: "jail", target: 7, by: source, title: "Armed robbery", minutes: 20 };

MdtRecordKind

Bir MDT kaydının ne hakkında olduğu: "fine", "warrant", "arrest" ya da "jail".

DistressCall

Yerdeki bir oyuncunun sağlık ekibine çağrısı (lib ems.distress).

Prop

Type

Örnek
const call: DistressCall = { jobs: ["ambulance"], message: "Unconscious" };

GaragedVehicle

Bir garaj script’inin tuttuğu, oyuncuya ait araçlardan biri.

Prop

Type

Görünümler

CharacterAppearance

ai-core’un görünüm katmanının verdiği haliyle bir görünüm: ped modeli ve kıyafet script’inin kendi verisi. data’yı opak kabul et: tüm nesneyi değiştirmeden ApplyAppearance’a geri ver.

Prop

Type

ClothingMenu

Diğer script’lerin açtığı bir kıyafet script’i menüsü: "clothing" (kıyafet dükkanı), "barber" ya da "outfits" (oyuncunun kayıtlı kıyafetleri).

JobOutfit

Oyuncunun giydiği freemode modeli için bir meslek kıyafeti (üniforma). Yalnızca listelenen parçalar değişir.

Prop

Type

OutfitPiece

Bir meslek kıyafetinin tek parçası.

Prop

Type

Örnek
const uniform: JobOutfit = {
  components: [ { id: 11, collection: "", index: 55, texture: 0 }, { id: 4, collection: "", index: 35, texture: 0 } ],
  props: [ { id: 0, collection: "", index: 46, texture: 0 } ],
};

Komutlar

CommandInfo

Resource’un ai-core’a bildirdiği haliyle bir lib addCommand komutu (panelin Commands sekmesi onu listeler).

Prop

Type

Örnek
const info: CommandInfo = { names: ["jail", "prison"], help: "Jails a player", params: [{ name: "id", type: "playerId" }], aces: ["ai.admin"] };

CommandParam

Bir lib addCommand komutunun tek argümanı, handler çalışmadan önce ayrıştırılır ve kontrol edilir.

Prop

Type

Örnek
const params: CommandParam[] = [
  { name: "id", type: "playerId", help: "Player id" },
  { name: "reason", type: "longString", help: "Reason", optional: true },
];

Admin paneli

PanelSchema

Bir script’in admin paneli: hangi veri dosyalarına sahip olduğu ve panelin onları nasıl yerleştirdiği. Bir resource onu lib’in AdminPanel’ine verir (bkz. Admin paneli). Her metin alanı resource’un locales/*.json dosyasının bir dil anahtarıdır.

Prop

Type

Örnek
const schema: PanelSchema = {
  title: "ADMIN_TITLE",
  icon: "store",
  files: { shops: { kind: "records", sync: "all", labelPath: "label", sections: { label: { type: "text", min: 1, max: 48 }, coords: { type: "vec3" } } } },
  tabs: [{ id: "shops", file: "shops", icon: "store", label: "ADMIN_TAB_SHOPS", desc: "ADMIN_TAB_SHOPS_DESC", cards: [] }],
};

FileSpec

Bir panelin tek veri dosyası.

Prop

Type

TabSpec

Panelin tek sekmesi, tek bir dosyayı gösterir.

Prop

Type

CardSpec

Bir sekmenin içindeki tek bir alan kartı.

Prop

Type

Örnek
const card: CardSpec = {
  icon: "location-dot",
  title: "ADMIN_CARD_PLACE",
  fields: [{ widget: "point", path: "coords", label: "ADMIN_F_COORDS", hint: "ADMIN_H_COORDS" }],
};

LookupSource

Bir panel alanının içinden seçtiği değerler listesi. Bir metin ya da isim alanındaki lookup, server’ın başka her şeyi reddetmesini ve panelin listeyi sunmasını sağlar.

DeğerListe
"item"Aktif envanterin eşyaları.
"job"Panelin Jobs listesindeki meslekler.
"gang"Panelin Gangs listesindeki çeteler.
"account"Para hesapları.
"resource"Başlatılmış resource’lar.
"player"Çevrimiçi oyuncular, citizen id ile.
"vehicle"Admin’in oyununda olan her araç modeli, addon’lar dahil. Server tarafından asla reddedilmez (modelleri listeleyemez).
"ped"GTA’nın ped modelleri. Server tarafından asla reddedilmez.

AdminDelta

Bir panel dosyasının değişen kaydı, paneli açık olan admin’lere iletilir (export AdminPanelChanged).

Prop

Type

Örnek
const delta: AdminDelta = { resource: "my-shop", file: "shops", key: "legion", value: { label: "Legion" } };

UpdateInfo

GitHub sürümü çalışan sürümden yeni olan bir script (ai-core’un güncelleme kontrolü, export GetUpdates).

Prop

Type

Örnek
const update: UpdateInfo = { resource: "ai-core", label: "ai-core", current: "1.4.0", latest: "1.5.0", url: "https://github.com/..." };

vRP köprüsü

VrpConfig

Panelin vRP yetki eşlemesi (data/vrp.json), ai-core’un vRP köprüsünün okuduğu haliyle (server export’u GetVrpConfig; yerel event ai-core:vrp:config bir değişiklikten sonra aynı şekli taşır).

Prop

Type

VrpPermissionRule: doldurulmuş herhangi bir hedefle eşleşen herkese permission verir.

Prop

Type

VrpGroupAlias: bir meslek ya da çete rütbesi veya admin anlamına gelen bir vRP grup adı ("Coronel" gibi vRPex tarzı rütbeler).

Prop

Type

Örnek
const config: VrpConfig = {
  defaults: { jobPrefix: true, jobOnDuty: true, adminPrefix: true, playerPrefix: true },
  permissions: [{ permission: "police.armory", job: "police", gang: "", group: "", grade: 2, onDuty: true, admin: false, everyone: false }],
  groups: { Coronel: { job: "police", gang: "", grade: 4, admin: false } },
  items: { "edible|tacos": "tacos" },
};

Bu sayfada