Bonjour, bonsoir j’ai un probleme avec ce script pour station essence il na pas l’air de fonctionner mais je ne vois pas d’erreur pour ma part (ps: je suis debutant) j’utilise esx comme framework voici le script :
ESX = nil
Citizen.CreateThread(function()
while ESX == nil do
TriggerEvent(‹ esx:getSharedObject ›, function(obj) ESX = obj end)
Citizen.Wait(50)
end
end)
RegisterNetEvent(‹ esx:playerLoaded ›)
AddEventHandler(‹ esx:playerLoaded ›, function(xPlayer)
PlayerData = xPlayer
end)
function LoadAnimDict(dict)
while (not HasAnimDictLoaded(dict)) do
RequestAnimDict(dict)
Citizen.Wait(5)
end
end
—RageUI Menu
local array = { « 1L », « 2L », « 3L », « 4L », « 5L », « 6L », « 7L », « 10L », « 11L »,« 12L »,« 13L »,« 14L »,« 15L »,« 16L »,« 17L »,« 18L »,« 19L »,« 20L »,« 21L »,« 22L »,« 23L »,« 24L »,« 25L »,« 26L »,« 27L »,« 28L »,« 29L »,« 30L »,« 31L »,« 39L »,« 40L »,« 41L »,« 42L »,« 43L »,« 44L »,« 45L »,« 46L »,« 47L »,« 48L »,« 49L »,« 50L »,« 51L »,« 52L »,« 53L »,« 54L »,« 55L »,« 56L »,« 57L »,« 58L »,« 59L »,« 60L »}
local arrayIndex = 1
function essencemenu()
local ped = PlayerPedId()
local fuel = math.floor(GetVehicleFuelLevel(GetVehiclePedIsIn(ped)))
local essencemenu = RageUI.CreateMenu(« LTD », « Stations Essence »)
essencemenu:SetRectangleBanner(39, 30, 185)
RageUI.Visible(essencemenu, not RageUI.Visible(essencemenu))
while essencemenu do
Citizen.Wait(0)
FreezeEntityPosition(GetVehiclePedIsIn(ped), true)
RageUI.IsVisible(essencemenu, true, true, true, function()
RageUI.Separator(« Niveau du réservoir d’essence : ~o~ » … fuel … « L »)
RageUI.ButtonWithStyle(« Faire le plein d’essence », « Faites le plein du réservoir de votre véhicule. », {RightLabel = « ~g~75$ »}, true, function(Hovered, Active, Selected)
if (Selected) then
ESX.TriggerServerCallback(‹ souki_fuel:Price ›, function(result)
if result == true then
local Ped = PlayerPedId()
local vehicle = GetVehiclePedIsIn(Ped)
SetVehicleFuelLevel(vehicle, 100.0)
RageUI.CloseAll()
TaskLeaveAnyVehicle(Ped, 1, 1)
while IsPedInAnyVehicle(Ped, false) do
Wait(50)
end
FreezeEntityPosition(PlayerPedId(-1), true)
LoadAnimDict(« [email protected]@filling_can »)
TaskPlayAnim(Ped, « [email protected]@filling_can », « gar_ig_5_filling_can », 2.0, 8.0, -1, 50, 0, 0, 0, 0)
Citizen.Wait(10000)
FreezeEntityPosition(PlayerPedId(-1), false)
ClearPedTasksImmediately(PlayerPedId())
ESX.ShowNotification("~o~Stations Essence~s~\nPlein : ~b~100.0 L~s~\nPrix : ~g~75$")
else
ESX.ShowNotification("~r~Vous n’avez pas suffisament d’argent !")
end
end, 200)
end
end)
RageUI.List(« Essence », array, arrayIndex, « Choisissez la quantité d’essence que vous souhaitez. « , {}, true, function(Hovered, Active, Selected, i) arrayIndex = i
if (Selected) then
local price = arrayIndex * 2
ESX.TriggerServerCallback(‹ souki_fuel:Price ›, function(result)
if result == true then
local Ped = PlayerPedId()
local vehicle = GetVehiclePedIsIn(Ped)
SetVehicleFuelLevel(vehicle, GetVehicleFuelLevel(vehicle) + arrayIndex)
RageUI.CloseAll()
TaskLeaveAnyVehicle(Ped, 1, 1)
while IsPedInAnyVehicle(Ped, false) do
Wait(50)
end
LoadAnimDict(« [email protected]@filling_can »)
TaskPlayAnim(Ped, « [email protected]@filling_can », « gar_ig_5_filling_can », 2.0, 8.0, -1, 50, 0, 0, 0, 0)
FreezeEntityPosition(PlayerPedId(-1), true)
Citizen.Wait(10000)
FreezeEntityPosition(PlayerPedId(-1), false)
ClearPedTasksImmediately(PlayerPedId())
ESX.ShowNotification( »~o~Stations Essence~s~\nPlein : ~b~ »…arrayIndex… « L~s~\nPrix :~g~ « …price… » $ »)
else
ESX.ShowNotification("~r~Vous n’avez pas suffisament d’argent !")
end
end, price)
end
end)
end)
if not RageUI.Visible(essencemenu) then
essencemenu = RMenu:DeleteType(« LTD », true)
end
end
FreezeEntityPosition(GetVehiclePedIsIn(ped), false)
end
Citizen.CreateThread(function()
for a,b in pairs(Config.Pos) do
for c,d in pairs(b) do
local blip = AddBlipForCoord(d.Position)
SetBlipSprite (blip, d.Sprite)
SetBlipDisplay(blip, d.Display)
SetBlipScale (blip, d.Scale)
SetBlipColour (blip, d.Colour)
SetBlipAsShortRange(blip, true)
BeginTextCommandSetBlipName(‹ STRING ›)
AddTextComponentSubstringPlayerName(d.Name)
EndTextCommandSetBlipName(blip)
end
end
end)
Citizen.CreateThread(function()
while true do
Citizen.Wait(0)
for k,v in pairs(Config.Pos[‹ station ›]) do
if Vdist2(GetEntityCoords(PlayerPedId(), false), v.Position ) <= 15.5 then
local InCars = GetVehiclePedIsIn(PlayerPedId(), false)
if InCars and GetPedInVehicleSeat(InCars, -1) == PlayerPedId() then
DrawMarker(25, v.Position.x, v.Position.y, v.Position.z-0.99, nil, nil, nil, 0, nil, nil, 1.2, 1.2, 1.2, 0, 76, 153, 150)
RageUI.Text({
message = « Appuyer sur ~b~E~w~ pour mettre de l’essence. »,
time_display = 100,
})
if IsControlJustPressed(1,38) then
essencemenu()
end
end
end
end
end
end)
si quelqu’un peut m’aider a trouver ce qu’il ne marche pas je lui en serait reconnaissant Elden Modder