AI Core
API başvurusuAI Core: server export’ları

Yakıt

Sunucunun çalıştırdığı yakıt script’i hangisiyse onun üzerinden bir aracın yakıt seviyesini oku ve ayarla.

Yakıt ai-core üzerinden gider, asla bir yakıt script’inin kendi export’ları, decorator’ları ya da state bag’leri üzerinden değil (ai-fuel dahil). ai-core her çağrıyı aktif yakıt script’ine iletir: panelin Fuel script ayarının seçtiği ya da çalışan ilk script (ai-fuel, ox_fuel, LegacyFuel ve uyumluluk listesindeki diğerleri). Yakıt script’i yokken seviye sadece aracın fuel state bag’idir.

Seviye 0 (boş) ile 100 (dolu) arası bir sayıdır. Araç bir server entity handle’ıdır.

GetFuelSystem

ai-core’un ilettiği yakıt script’inin resource adı.

Taraf: Server · Bekler: hayır · Lib: fuel.provider()

İmza
GetFuelSystem(): string | null
Lua
local system = exports['ai-core']:GetFuelSystem() -- 'ai-fuel', 'ox_fuel'... ya da nil

Parametreler

Yok.

Dönüş değeri

string | null: yakıt script’inin resource adı. Hiçbiri çalışmıyorsa null.

Örnek

import { addCommand, resourceExport } from "@aicore-fivem/lib/server";

const core = resourceExport("ai-core");

addCommand("fuelsystem", { help: "Shows the fuel script in use", restricted: true }, () => {
  console.log(core.GetFuelSystem() ?? "none: fuel is only the state bag");
});

GetVehicleFuel

Bir aracın yakıt seviyesi.

Taraf: Server · Bekler: hayır · Lib: fuel.get (server); client’ta client lib’in fuel.get(vehicle)’ı ai-core’un tuttuğu state bag’i okur

İmza
GetVehicleFuel(vehicle: number): number | null
Lua
local level = exports['ai-core']:GetVehicleFuel(vehicle) -- 0-100 ya da nil

Parametreler

Prop

Type

Dönüş değeri

number | null: seviye, 0-100. Aracın henüz seviyesi yoksa ya da vehicle mevcut bir araç değilse null.

Örnek

import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";

const core = resourceExport("ai-core");

// Bir tamirci önündeki arabanın deposunu okur.
onClientCallback("myscript:checkTank", { args: oneArg(readId) }, (source, netId) => {
  const vehicle = vehicleNearPlayer(source, netId, { metres: 4 });
  if (!vehicle) return fail("TOO_FAR");
  return { ok: true, level: core.GetVehicleFuel(vehicle) };
});

SetVehicleFuel

Bir aracın yakıt seviyesini ayarlar.

Taraf: Server · Bekler: hayır · Lib: fuel.set (ve spawnVehicle({ fuel }) bunu oluşturmada ayarlar)

İmza
SetVehicleFuel(vehicle: number, level: number): boolean
Lua
local ok = exports['ai-core']:SetVehicleFuel(vehicle, 100.0)

Parametreler

Prop

Type

Dönüş değeri

boolean: seviye yakıt script’ine verildiğinde (ya da hiçbiri çalışmıyorsa state bag’e yazıldığında) true. vehicle mevcut bir araç değilse, level sonlu bir sayı değilse ya da yakıt script’i başarısız olduysa false.

Yakıtı oyuncuların oyunlarında tutan yakıt script’lerinde yeni seviye araca bir an sonra sahibinin oyunu üzerinden ulaşır.

Örnek

import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";

const core = resourceExport("ai-core");

// Bir benzin bidonu oyuncunun yanındaki arabaya %25 ekler.
onClientCallback("myscript:jerryCan", { args: oneArg(readId), lock: true }, (source, netId) => {
  const vehicle = vehicleNearPlayer(source, netId, { metres: 3 });
  if (!vehicle) return fail("TOO_FAR");
  if (!core.RemoveItem(source, "jerrycan")) return fail("NO_JERRYCAN");
  core.SetVehicleFuel(vehicle, (core.GetVehicleFuel(vehicle) ?? 0) + 25);
  return { ok: true };
});

Bu sayfada