Jump to content

[HELP]Function on Button


stevensalvaro

Recommended Posts

Hello ,

I Have some problem when i try to addEvent on my script , It's say event not added serverside.

Client

  
THIS_RESOURCE = getThisResource(); 
ROOT_ELEMENT = getRootElement(); 
  
GUI = { 
    button1 = false  
}; 
  
OnResourceStart = function(resource) 
    if resource == THIS_RESOURCE then 
    GUI.button1 =  guiCreateStaticImage( 20, 200, 64, 64, "hud.png", false ) 
        guiSetVisible(GUI.button1, false); 
    end 
    return; 
end 
  
OnResourceStop = function(resource) 
    if resource == THIS_RESOURCE then 
        if GUI.button1 ~= false then 
            destroyElement(GUI.button1); 
        end 
    end 
    return; 
end 
  
OnVehicleEnter = function(player, seat, jacked) 
    -- source = vehicle_element 
    if GUI.button1 ~= false then 
        guiSetVisible(GUI.button1, true); 
    end 
    return; 
end 
  
OnVehicleExit = function(player, seat, jacked) 
    -- source = vehicle_element 
    if GUI.button ~= false then 
        guiSetVisible(GUI.button1, false); 
    end 
    return; 
end 
  
OnGUIClick = function(button1, state, x, y) 
    -- source = gui 
    if state then 
        if source == GUI.button1 and guiGetVisible(GUI.button1) == true then 
            outputChatBox("You've clicked me!");     
        end 
    end 
    return; 
end 
  
addEventHandler("onClientResourceStart",    ROOT_ELEMENT,   OnResourceStart ); 
addEventHandler("onClientResourceStop",    ROOT_ELEMENT,   OnResourceStop      ); 
addEventHandler("onClientVehicleEnter",    ROOT_ELEMENT,   OnVehicleEnter      ); 
addEventHandler("onClientVehicleExit",      ROOT_ELEMENT,   OnVehicleExit       ); 
addEventHandler("onClientGUIClick",      ROOT_ELEMENT,   OnGUIClick          ); 
  
  
  
  
  
  

Server

  
function toggleEngine(source, key, keystate) 
    local veh = getPedOccupiedVehicle(source) 
    local inVehicle = getElementData(source, "realinvehicle") 
  
    if veh and inVehicle == 1 then 
        local seat = getPedOccupiedVehicleSeat(source) 
         
        if (seat == 0) then 
            local model = getElementModel(veh) 
            if not (enginelessVehicle[model]) then 
                local engine = getElementData(veh, "engine") 
                local vehID = getElementData(veh, "dbid") 
                local vehKey = exports['global']:hasItem(source, 3, vehID) 
                if engine == 0 then 
                    local vjob = tonumber(getElementData(veh, "job")) 
                    local job = getElementData(source, "job") 
                    local owner = getElementData(veh, "owner") 
                    local faction = tonumber(getElementData(veh, "faction")) 
                    local playerFaction = tonumber(getElementData(source, "faction")) 
                    if (vehKey) or (owner < 0) and (faction == -1) or (playerFaction == faction) and (faction ~= -1) or ((getElementData(source, "adminduty") or 0) == 1) then 
                        local fuel = getElementData(veh, "fuel") 
                        local broke = getElementData(veh, "enginebroke") 
                        if broke == 1 then 
                            outputChatBox("The engine is broken.", source) 
                 
                            end 
                             
                            blowVehicle(veh) 
                        elseif fuel >= 1 then 
                            toggleControl(source, 'brake_reverse', true) 
                             
                            setVehicleEngineState(veh, true) 
                            exports['anticheat-system']:changeProtectedElementDataEx(veh, "engine", 1, false) 
                        elseif fuel < 1 then 
                            outputChatBox("This vehicle has no fuel.", source) 
                        end 
                    else 
                        outputChatBox("These metal boxes with wheels require keys to work.", source, 255, 0, 0) 
                    end 
                else 
                    toggleControl(source, 'brake_reverse', false) 
                     
                    setVehicleEngineState(veh, false) 
                end 
            end 
        end 
    end 
end 
  

So when i click the button , i call this function , but it's never happend :|:|:roll:

Link to comment

[solved]

Client

  
THIS_RESOURCE = getThisResource(); 
ROOT_ELEMENT = getRootElement(); 
  
GUI = { 
    button1 = false  
}; 
  
OnResourceStart = function(resource) 
    if resource == THIS_RESOURCE then 
    GUI.button1 =  guiCreateStaticImage( 20, 200, 64, 64, "hud.png", false ) 
        guiSetVisible(GUI.button1, false); 
    end 
    return; 
end 
  
OnResourceStop = function(resource) 
    if resource == THIS_RESOURCE then 
        if GUI.button1 ~= false then 
            destroyElement(GUI.button1); 
        end 
    end 
    return; 
end 
  
OnVehicleEnter = function(player, seat, jacked) 
    -- source = vehicle_element 
    if GUI.button1 ~= false then 
        guiSetVisible(GUI.button1, true); 
    end 
    return; 
end 
  
OnVehicleExit = function(player, seat, jacked) 
    -- source = vehicle_element 
    if GUI.button ~= false then 
        guiSetVisible(GUI.button1, false); 
    end 
    return; 
end 
  
OnGUIClick = function(button1, state, x, y) 
    -- source = gui 
    if state then 
        if source == GUI.button1 and guiGetVisible(GUI.button1) == true then 
            triggerServerEvent("toggleEngine", localPlayer, localPlayer) 
        end 
    end 
    return; 
end 
  
addEventHandler("onClientResourceStart",    ROOT_ELEMENT,   OnResourceStart ); 
addEventHandler("onClientResourceStop",    ROOT_ELEMENT,   OnResourceStop      ); 
addEventHandler("onClientVehicleEnter",    ROOT_ELEMENT,   OnVehicleEnter      ); 
addEventHandler("onClientVehicleExit",      ROOT_ELEMENT,   OnVehicleExit       ); 
addEventHandler("onClientGUIClick",      ROOT_ELEMENT,   OnGUIClick          ); 
  
  
  
  
  
  

Server

  
function toggleEngine(source, key, keystate) 
    local veh = getPedOccupiedVehicle(source) 
    local inVehicle = getElementData(source, "realinvehicle") 
  
    if veh and inVehicle == 1 then 
        local seat = getPedOccupiedVehicleSeat(source) 
  
        if (seat == 0) then 
            local model = getElementModel(veh) 
            if not (enginelessVehicle[model]) then 
                local engine = getElementData(veh, "engine") 
                local vehID = getElementData(veh, "dbid") 
                local vehKey = exports['global']:hasItem(source, 3, vehID) 
                if engine == 0 then 
                    local vjob = tonumber(getElementData(veh, "job")) 
                    local job = getElementData(source, "job") 
                    local owner = getElementData(veh, "owner") 
                    local faction = tonumber(getElementData(veh, "faction")) 
                    local playerFaction = tonumber(getElementData(source, "faction")) 
                    -- Anthony's fix - MAXIME FIXED ANTHONY'S MESS 
                    if (vehKey) or (owner < 0) and (faction == -1) or (playerFaction == faction) and (faction ~= -1) or ((getElementData(source, "duty_admin") or 0) == 1) then 
                        local fuel = getElementData(veh, "fuel") 
                        local broke = getElementData(veh, "enginebroke") 
                        if broke == 1 then 
                            triggerEvent('sendAme', source, "attempts to start the engine but fails.") 
                            outputChatBox("The engine is broken.", source) 
                        elseif exports.global:hasItem(veh, 74) then 
                            while exports.global:hasItem(veh, 74) do 
                                exports.global:takeItem(veh, 74) 
                            end 
  
                            blowVehicle(veh) 
                        elseif fuel > 0 then 
                            toggleControl(source, 'brake_reverse', true) 
                            setVehicleEngineState(veh, true) 
                            exports.anticheat:changeProtectedElementDataEx(veh, "engine", 1, false) 
                            exports.anticheat:changeProtectedElementDataEx(veh, "vehicle:radio", tonumber(getElementData(veh, "vehicle:radio:old")), true) 
                            exports.anticheat:changeProtectedElementDataEx(veh, "lastused", exports.datetime:now(), true) 
                            mysql:query_free("UPDATE vehicles SET lastUsed=NOW() WHERE id="..vehID) 
                            exports['vehicle-manager']:addVehicleLogs(vehID, "Started engine", source) 
                            exports.logs:dbLog("SYSTEM", 31, { veh, source } , "STARTED ENGINE") 
                        elseif fuel <= 0 then 
                            triggerEvent('sendAme', source, "attempts to turn the engine on and fails.") 
                            outputChatBox("This vehicle has no fuel.", source) 
                        end 
                    else 
                        outputChatBox("You require a key to start this vehicle.", source, 255, 0, 0) 
                    end 
                else 
                    toggleControl(source, 'brake_reverse', false) 
                    setVehicleEngineState(veh, false) 
                    exports.anticheat:changeProtectedElementDataEx(veh, "engine", 0, false) 
                    exports.anticheat:changeProtectedElementDataEx(veh, "vehicle:radio", 0, true) 
                end 
            end 
        end 
    end 
end 
addEvent("toggleEngine", true) 
addEventHandler("toggleEngine", root, toggleEngine) 
addCommandHandler("engine", toggleEngine) 
 -- s:mrgreen: -->
  

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