Jump to content

fuel gui


freakk

Recommended Posts

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

Link to comment
  • Moderators
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) 
  

Link to comment

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...