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()
GetFuelSystem(): string | nulllocal system = exports['ai-core']:GetFuelSystem() -- 'ai-fuel', 'ox_fuel'... ya da nilParametreler
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
GetVehicleFuel(vehicle: number): number | nulllocal level = exports['ai-core']:GetVehicleFuel(vehicle) -- 0-100 ya da nilParametreler
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)
SetVehicleFuel(vehicle: number, level: number): booleanlocal 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 };
});