Jump to content

fuel gui


freakk

Recommended Posts

Posted

hello I tried to create a button to the fuel system because the real system load standing in the marker fuel

p1 = createMarker (1878.9757080078,1811.5299072266,12.743692398071, "cylinder", 5, 0, 255, 0, 100) 
  
WindowP = guiCreateWindow(150, 300, 300, 200, "Gas", false ) 
ButtonP2 = guiCreateButton(25,50,250,50,"Buy Fuel",false,WindowP) 
ButtonP1 = guiCreateButton(25,150,250,50,"Accept",false,WindowP) 
  
                                                      
function closePaysapray() 
    guiSetVisible(WindowP, false) 
    showCursor(false) 
end 
  
function onEnterPns (player) 
    if player == getLocalPlayer() then 
        guiSetVisible(WindowP, true) 
        showCursor(true) 
    end 
end 
  
addEvent("onGasRefill",true) 
function setUp(startedResource) 
    if(startedResource == getThisResource()) then 
        oX,oY,oZ = getElementPosition(getLocalPlayer()) 
        fBar = guiCreateProgressBar(598,158,154,25,false) 
        fLabel = guiCreateLabel(615,140,155,25,"Fuel:",false) 
        setTimer(fuelDepleting,500,0) 
        distance = 0 
        distanceOld = 0 
    end 
end 
addEventHandler("onClientResourceStart",getRootElement(),setUp) 
  
function drawFuelBar() 
    fBar = guiCreateProgressBar(598,158,154,25,false) 
    guiSetVisible(fBar,false) 
end 
addEventHandler("onClientPlayerJoin",getRootElement(),drawFuelBar) 
  
function monitoring() 
    if(isPedInVehicle(getLocalPlayer())) then 
        vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
        x,y,z = getElementPosition(getLocalPlayer()) 
        distance = distance + getDistanceBetweenPoints3D(x,y,z,oX,oY,oZ) 
        oX = x 
        oY = y 
        oZ = z 
    end 
end 
addEventHandler("onClientRender",getRootElement(),monitoring) 
  
function fuelDepleting() 
    if(isPedInVehicle(getLocalPlayer())) then 
        vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
        guiSetVisible(fBar,true) 
        if(getElementData(vehicle,"fuel") == false) then 
            fuel = math.random(85,100) 
            setElementData(vehicle,"fuel",tonumber(fuel)) 
        end 
        currentFuel = tonumber(getElementData(vehicle,"fuel")) 
        if(currentFuel > 0) then 
            setElementData(vehicle,"fuel",tostring(currentFuel - math.floor(distance - distanceOld)/200)) 
            currentFuel = tonumber(getElementData(vehicle,"fuel")) 
            guiProgressBarSetProgress(fBar,currentFuel) 
            guiSetText(fLabel,"Fuel: " .. math.floor(currentFuel) .. "%") 
            distanceOld = distance 
        else 
            toggleControl("accelerate",false) 
            toggleControl("brake_reverse",false)     
            guiSetText(fLabel,"No fuel") 
        end 
    else 
        guiSetText(fLabel,"") 
        guiProgressBarSetProgress(fBar,0) 
        guiSetVisible(fBar,false) 
    end 
end 
  
function setFuel(player,seat,jacked) 
    if(getElementData(vehicle,"fuel") == false) then 
        fuel = math.random(70,100) 
        setElementData(source,"fuel",tonumber(fuel)) 
    end 
end 
addEventHandler("onClientVehicleEnter",getRootElement(),setFuel) 
  
function setFuelOnRespawn() 
    local fuel = math.random(70,100) 
    setElementData(source,"fuel",tonumber(fuel)) 
end 
addEventHandler("onClientVehicleRespawn",getRootElement(),setFuelOnRespawn) 
  
function enableDriving(player,seat) 
    toggleControl("accelerate",true) 
    toggleControl("brake_reverse",true) 
end 
addEventHandler("onClientVehicleExit",getRootElement(),enableDriving) 
  
  
function refillGas() 
    takePlayerMoney(400)   
    if(isPedInVehicle(getLocalPlayer()) and isPlayer) then 
        local vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
        setElementData(vehicle,"fuel","100") 
        toggleControl("accelerate",true) 
        toggleControl("brake_reverse",true) 
    end 
end 
addCommandHandler("refill",refillGas) 
  
function setTimerRefillGas(enabled) 
    --if(isPlayerInVehicle(getLocalPlayer())) then 
        --if(enabled == true) then 
        --  refillTimer = setTimer(timerRefillGas,10,0) 
        --else 
        --  killTimer(timerRefillGas) 
        --end 
    --else 
        --outputChatBox("You have to be in vehicle to refill!") 
  
setElementData(vehicle,"fuel",tostring(100)) 
    --end 
end 
addEventHandler("onGasRefill",getRootElement(),setTimerRefillGas) 
  
function timerRefillGas() 
    if(isPedInVehicle(getLocalPlayer())) then 
        local player = getLocalPlayer() 
        local vehicle = getPedOccupiedVehicle(player) 
        local fuel = getElementData(vehicle,"fuel") 
        if(tonumber(fuel) < 100) then 
        setElementData(vehicle,"fuel",100) 
            --setElementData(vehicle,"fuel",tostring(fuel + 1)) 
            distanceOld = distance 
        end 
    end 
end 
  
  
addEventHandler( "onClientGUIClick", ButtonP1, closePaysapray ) 
addEventHandler( "onClientGUIClick", ButtonP2, refillGas ) 
addEventHandler( "onClientMarkerHit", p1, onEnterPns ) 
  

errors: the button isn't works. the gui appear open when you connect in the server

Posted
p1 = createMarker (1878.9757080078,1811.5299072266,12.743692398071, "cylinder", 5, 0, 255, 0, 100) 
  
WindowP = guiCreateWindow(150, 300, 300, 200, "Gas", false ) 
guiSetVisible(WindowP, false) 
ButtonP2 = guiCreateButton(25,50,250,50,"Buy Fuel",false,WindowP) 
ButtonP1 = guiCreateButton(25,150,250,50,"Accept",false,WindowP) 
  
function closePaysapray() 
    guiSetVisible(WindowP, false) 
    showCursor(false) 
end                                                    
  
function onEnterPns (player) 
    if ( isPedInVehicle(localPlayer) ) then 
        guiSetVisible(WindowP, true) 
        showCursor(true) 
    elseif not ( isPedInVehicle(localPlayer) ) then 
        guiSetVisible(WindowP, false) 
        showCursor(false) 
    end 
end 
  
addEvent("onGasRefill",true) 
function setUp(startedResource) 
    if(startedResource == getThisResource()) then 
        oX,oY,oZ = getElementPosition(getLocalPlayer()) 
        fBar = guiCreateProgressBar(598,158,154,25,false) 
        fLabel = guiCreateLabel(615,140,155,25,"Fuel:",false) 
        setTimer(fuelDepleting,500,0) 
        distance = 0 
        distanceOld = 0 
    end 
end 
addEventHandler("onClientResourceStart",getRootElement(),setUp) 
  
function drawFuelBar() 
    fBar = guiCreateProgressBar(598,158,154,25,false) 
    guiSetVisible(fBar,false) 
end 
addEventHandler("onClientPlayerJoin",getRootElement(),drawFuelBar) 
  
function monitoring() 
    if(isPedInVehicle(getLocalPlayer())) then 
        vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
        x,y,z = getElementPosition(getLocalPlayer()) 
        distance = distance + getDistanceBetweenPoints3D(x,y,z,oX,oY,oZ) 
        oX = x 
        oY = y 
        oZ = z 
    end 
end 
addEventHandler("onClientRender",getRootElement(),monitoring) 
  
function fuelDepleting() 
    if(isPedInVehicle(getLocalPlayer())) then 
        vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
        guiSetVisible(fBar,true) 
        if(getElementData(vehicle,"fuel") == false) then 
            fuel = math.random(85,100) 
            setElementData(vehicle,"fuel",tonumber(fuel)) 
        end 
        currentFuel = tonumber(getElementData(vehicle,"fuel")) 
        if(currentFuel > 0) then 
            setElementData(vehicle,"fuel",tostring(currentFuel - math.floor(distance - distanceOld)/200)) 
            currentFuel = tonumber(getElementData(vehicle,"fuel")) 
            guiProgressBarSetProgress(fBar,currentFuel) 
            guiSetText(fLabel,"Fuel: " .. math.floor(currentFuel) .. "%") 
            distanceOld = distance 
        else 
            toggleControl("accelerate",false) 
            toggleControl("brake_reverse",false)    
            guiSetText(fLabel,"No fuel") 
        end 
    else 
        guiSetText(fLabel,"") 
        guiProgressBarSetProgress(fBar,0) 
        guiSetVisible(fBar,false) 
    end 
end 
  
function setFuel(player,seat,jacked) 
    if(getElementData(vehicle,"fuel") == false) then 
        fuel = math.random(70,100) 
        setElementData(source,"fuel",tonumber(fuel)) 
    end 
end 
addEventHandler("onClientVehicleEnter",getRootElement(),setFuel) 
  
function setFuelOnRespawn() 
    local fuel = math.random(70,100) 
    setElementData(source,"fuel",tonumber(fuel)) 
end 
addEventHandler("onClientVehicleRespawn",getRootElement(),setFuelOnRespawn) 
  
function enableDriving(player,seat) 
    toggleControl("accelerate",true) 
    toggleControl("brake_reverse",true) 
end 
addEventHandler("onClientVehicleExit",getRootElement(),enableDriving) 
  
local timer 
function refillGas() 
    takePlayerMoney(400)   
    if ( isPedInVehicle(getLocalPlayer()) ) then 
        local vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
        timer = setTimer(setVehicleFuel, 650, 0) 
        toggleControl("accelerate",true) 
        toggleControl("brake_reverse",true) 
    end 
end 
addCommandHandler("refill",refillGas) 
  
function _killTimer() 
    if ( isTimer(timer) ) then 
        killTimer(timer) 
    end 
end 
addEventHandler("onClientMarkerLeave", p1, _killTimer) 
addEventHandler("onClientPlayerWasted", _killTimer) 
  
function setVehicleFuel() 
    setElementData(vehicle, "fuel", getElementData(vehicle, "fuel")+2) 
    if ( tonumber(getElementData(vehicle, "fuel")) >= 100 ) and ( isTimer(timer) ) then 
        killTimer(timer) 
    end 
    if ( tonumber(getElementData(vehicle, "fuel")) > 100 ) then 
        setElementData(vehicle, "fuel", 100) 
    end 
end 
  
function setTimerRefillGas(enabled) 
    --if(isPlayerInVehicle(getLocalPlayer())) then 
        --if(enabled == true) then 
        --  refillTimer = setTimer(timerRefillGas,10,0) 
        --else 
        --  killTimer(timerRefillGas) 
        --end 
    --else 
        --outputChatBox("You have to be in vehicle to refill!") 
  
setElementData(vehicle,"fuel",tostring(100)) 
    --end 
end 
addEventHandler("onGasRefill",getRootElement(),setTimerRefillGas) 
  
function timerRefillGas() 
    if(isPedInVehicle(getLocalPlayer())) then 
        local player = getLocalPlayer() 
        local vehicle = getPedOccupiedVehicle(player) 
        local fuel = getElementData(vehicle,"fuel") 
        if(tonumber(fuel) < 100) then 
        setElementData(vehicle,"fuel",100) 
            --setElementData(vehicle,"fuel",tostring(fuel + 1)) 
            distanceOld = distance 
        end 
    end 
end 
  
  
addEventHandler( "onClientGUIClick", ButtonP1, closePaysapray ) 
addEventHandler( "onClientGUIClick", ButtonP2, refillGas ) 
addEventHandler( "onClientMarkerHit", p1, onEnterPns ) 
addEventHandler("onClientMarkerLeave", p1, closePaysapray) 
addEventHandler("onClientPlayerWasted", closePaysapray) 
  

Posted

tanx now a ultimate problem when the player haven't money the fuel is refilled and the money becomes negative.

How to cancel it?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...