Carburant
Lire et fixer le niveau de carburant d’un véhicule via le script de carburant qu’utilise le serveur.
Le carburant passe par ai-core, jamais par les exports, décorateurs ou state bags propres à un script de carburant (ai-fuel compris). ai-core transmet chaque appel au script de carburant actif : celui que choisit le réglage Fuel script du panneau, ou le premier qui tourne (ai-fuel, ox_fuel, LegacyFuel et les autres de la liste de compatibilité). Sans script de carburant, le niveau est simplement le state bag fuel du véhicule.
Un niveau est un nombre de 0 (vide) à 100 (plein). Un véhicule est un handle d’entité serveur.
GetFuelSystem
Le nom de ressource du script de carburant auquel ai-core transmet.
Côté : Serveur · Attend : non · Lib : fuel.provider()
GetFuelSystem(): string | nulllocal system = exports['ai-core']:GetFuelSystem() -- 'ai-fuel', 'ox_fuel'... ou nilParamètres
Aucun.
Retour
string | null : le nom de ressource du script de carburant. null quand aucun ne tourne.
Exemple
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
Le niveau de carburant d’un véhicule.
Côté : Serveur · Attend : non · Lib : fuel.get (serveur) ; sur le client, fuel.get(vehicle) de la lib client lit le state bag que tient ai-core
GetVehicleFuel(vehicle: number): number | nulllocal level = exports['ai-core']:GetVehicleFuel(vehicle) -- 0-100 ou nilParamètres
Prop
Type
Retour
number | null : le niveau, 0-100. null quand le véhicule n’a pas encore de niveau, ou que vehicle n’est pas un véhicule existant.
Exemple
import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Un mécanicien lit le réservoir de la voiture devant lui.
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
Fixe le niveau de carburant d’un véhicule.
Côté : Serveur · Attend : non · Lib : fuel.set (et spawnVehicle({ fuel }) le fixe à la création)
SetVehicleFuel(vehicle: number, level: number): booleanlocal ok = exports['ai-core']:SetVehicleFuel(vehicle, 100.0)Paramètres
Prop
Type
Retour
boolean : true quand le niveau a été transmis au script de carburant (ou écrit dans le state bag quand aucun ne tourne). false quand vehicle n’est pas un véhicule existant, que level n’est pas un nombre fini, ou que le script de carburant a échoué.
Pour les scripts de carburant qui gardent le carburant dans le jeu des joueurs, le nouveau niveau atteint le véhicule via le jeu de son propriétaire un instant plus tard.
Exemple
import { onClientCallback, resourceExport, vehicleNearPlayer } from "@aicore-fivem/lib/server";
import { fail, oneArg, readId } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Un jerrican ajoute 25 % à la voiture à côté du joueur.
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 };
});