Jump to content

When I finish work I don't get any money, please help


Neffax

Recommended Posts

Client Side
 
local transport_points = {
    --{x,y,z}
        {-2403.8276367188,-2182.9929199219,32.2890},
    {2345.8913574219,2774.1667480469,9.8203125},
    {1495.2940673828,769.93530273438,9.8203125},
        {220.42324829102,7.6310353279114,1.578125},
}
 
local screenW,screenH = guiGetScreenSize()
 
local window = guiCreateWindow(screenW*0.4083, screenH*0.3194, screenW*0.1833, screenH*0.3620, "نقل السيارات", false)
guiWindowSetSizable(window,false)
guiWindowSetMovable(window,false)
guiSetVisible(window,false)
 
local memo = guiCreateMemo(screenW*0.0052, screenH*0.0259, screenW*0.1729, screenH*0.1722, "المهمة هي توصيل السيارات إلى وجهتها ، أرباح 1.500 دولار", false, window)
guiMemoSetReadOnly(memo, true)
 
local button = {
    guiCreateButton(screenW*0.0526, screenH*0.2379, screenW*0.0786, screenH*0.0435, "ابدأ", false, window),
    guiCreateButton(screenW*0.0526, screenH*0.2907, screenW*0.0786, screenH*0.0435, "أغلق", false, window),  
}
 
addEvent("show_gui",true)
local function show_gui(marker)
    job_marker = marker
    guiSetVisible(window,true)
    showCursor(true)
end
addEventHandler("show_gui",resourceRoot,show_gui)
 
local function button_click()
    if source == button[1] then
        guiSetVisible(window,false)
        showCursor(false)
        triggerServerEvent("job_started",resourceRoot,job_marker)
        job_marker = nil
    elseif source == button[2] then
        guiSetVisible(window,false)
        showCursor(false)
    end
end
addEventHandler("onClientGUIClick",resourceRoot,button_click)
 
addEvent("transport_started",true)
local function transport_started()
    local random = math.random(#transport_points)
    checkpoint = createMarker(transport_points[random][1],transport_points[random][2],transport_points[random][3],"checkpoint",4,0,0,200,200)
    blip = createBlipAttachedTo(checkpoint,41)
end
addEventHandler("transport_started",resourceRoot,transport_started)
 
local function unload_vehicles(plr,md)
    if plr ~= localPlayer or not md then return end
    if source ~= checkpoint then return end
    local veh = getPedOccupiedVehicle(plr)
    triggerServerEvent("unload_vehicles",resourceRoot,veh)
    destroyElement(checkpoint)
    destroyElement(blip)
    checkpoint = nil
    blip = nil
end
addEventHandler("onClientMarkerHit",resourceRoot,unload_vehicles)
 
addEvent("remove_checkpoint",true)
local function remove_checkpoint()
    if checkpoint then
        destroyElement(checkpoint)
        destroyElement(blip)
        checkpoint = nil
        blip = nil
    end
end
addEventHandler("remove_checkpoint",resourceRoot,remove_checkpoint)
 
addEvent("set_component",true)
local function set_component(veh)
    setVehicleAdjustableProperty(veh,2500)
end
addEventHandler("set_component",resourceRoot,set_component)
 
 
 
 
 
Server Side
 
 
 

 

local packer_job = {    

    ls = {

        start_job_marker = {2798.003,-2393.987,12.956},

        spawn_vehicle_position = {2779.835,-2400.775,14.241, 0,0,90},

        get_vehicles_marker = {2791.269,-2417.781,12.632},

    },

}

 

for i,v in pairs(packer_job) do

    local job_marker = createMarker(v.start_job_marker[1],v.start_job_marker[2],v.start_job_marker[3],"cylinder",1.5,10,10,200,255)

    local colsphere = createColSphere(v.spawn_vehicle_position[1],v.spawn_vehicle_position[2],v.spawn_vehicle_position[3],7)

    createBlipAttachedTo(job_marker,58,2, 255, 0, 0, 255, 0, 500)

    setElementData(job_marker,"spawn",v.spawn_vehicle_position)

    setElementData(job_marker,"start_job",true)

    setElementData(job_marker,"colsphere",colsphere)

   

    local vehicle_marker = createMarker(v.get_vehicles_marker[1],v.get_vehicles_marker[2],v.get_vehicles_marker[3],"cylinder",5,200,200,200,200)

    setElementData(vehicle_marker,"get_vehicles",true)

end

 

 -- pozycje pojazdów na packerze

local transport_vehicles_positions = {

    {0,-2,0.5,0,0,0},

    {0,1,2.2,1,0,0},

    {0,-5,2.1,1.2,0,0},

}

local transport_vehicles_models = {429,541,415,480,562,565,411,559,560,506,451,558,555,477}

 

local function load_vehicles(vehicle,x,y,z,rx,ry,rz)

    for i,v in pairs(transport_vehicles_positions) do

        local model = math.random(1,#transport_vehicles_models)

        local veh = createVehicle(transport_vehicles_models[model],x,y,z,rx,ry,rz)

        attachElements(veh,vehicle,v[1],v[2],v[3],v[4],v[5],v[6])

        setElementCollisionsEnabled(veh,false)

    end

end

 

local function hit_marker(el,md)

    if getElementType(el) ~= "player" or not md then return end

    if getElementData(source,"start_job") then

        if getPedOccupiedVehicle(el) then return end

        triggerClientEvent(el,"show_gui",resourceRoot,source)

    elseif getElementData(source,"get_vehicles") then

        if not getElementData(el,"packer_job") then return end

        local veh = getPedOccupiedVehicle(el)

        if veh then

            if getElementData(veh,"loaded") or getElementModel(veh) ~= 443 then return end

            setElementFrozen(veh,true)

            toggleControl(el,"enter_exit",false)

            setTimer(function(plr,veh)

                local x,y,z = getElementPosition(veh)

                local rx,ry,rz = getElementRotation(veh)

                load_vehicles(veh,x,y,z,rx,ry,rz)

                setElementFrozen(veh,false)

                setElementData(veh,"loaded",true)

                toggleControl(plr,"enter_exit",true)

                triggerClientEvent(plr,"transport_started",resourceRoot)

            end,5000,1,el,veh)

        end

    end

end

addEventHandler("onMarkerHit",resourceRoot,hit_marker)

 

addEvent("job_started",true)

local function job_started(marker)

    local colsphere = getElementData(marker,"colsphere")

    if #getElementsWithinColShape(colsphere,"vehicle") > 0 then

        outputChatBox("بعض المركبات تعوق الرحلة.",client,255,255,255,true)

    return end

    local spawn = getElementData(marker,"spawn")

    local veh = createVehicle(443,spawn[1],spawn[2],spawn[3],spawn[4],spawn[5],spawn[6])

    warpPedIntoVehicle(client,veh)

    toggleControl(client,"special_control_down",false)

    toggleControl(client,"special_control_up",false)

    setElementData(client,"packer_job",true)

    triggerClientEvent("set_component",resourceRoot,veh)

end

addEventHandler("job_started",resourceRoot,job_started)

 

local function end_job(veh)

    local cars = getAttachedElements(veh)

    for i,v in pairs(cars) do

        destroyElement(v)

    end

    destroyElement(veh)

end

 

addEvent("unload_vehicles",true)

local function unload_vehicles(veh)

    setElementFrozen(veh,true)

    toggleControl(client,"enter_exit",false)

    setTimer(function(plr,veh)

        local cars = getAttachedElements(veh)

        for i,v in pairs(cars) do

            destroyElement(v)

        end

        setElementData(veh,"loaded",false)

        exports.global:giveMoney(plr,1500)

        outputChatBox("قدت السيارات وحصلت على 1.500 دولار , يمكنك الرجوع واخذ مهمه جديده",plr,255,255,255,true)

        setElementFrozen(veh,false)

        toggleControl(plr,"enter_exit",true)

    end,5000,1)

end

addEventHandler("unload_vehicles",resourceRoot,unload_vehicles)

 

local function vehicle_exit(plr,seat)

    if seat == 0 then

        setElementData(plr,"packer_job",false)

        end_job(source)

        triggerClientEvent(plr,"remove_checkpoint",resourceRoot)

        toggleControl(plr,"special_control_down",true)

        toggleControl(plr,"special_control_up",true)

    end

end

addEventHandler("onVehicleExit",resourceRoot,vehicle_exit)

 

local function player_quit()

    if getElementData(source,"packer_job") then

        local veh = getPedOccupiedVehicle(source)

        end_job(veh)

    end

end

addEventHandler("onPlayerQuit",root,player_quit)

 

local function cancel_enter(plr,seat)

    if seat == 0 then

        cancelEvent()

    end

end

addEventHandler("onVehicleStartEnter",resourceRoot,cancel_enter)

 
Link to comment
addEvent("unload_vehicles",true)

local function unload_vehicles(veh)

    setElementFrozen(veh,true)

    toggleControl(client,"enter_exit",false)

    setTimer(function(plr,veh)

        local cars = getAttachedElements(veh)

        for i,v in pairs(cars) do

            destroyElement(v)

        end

        setElementData(veh,"loaded",false)

        --exports.global:giveMoney(plr,1500)
        givePlayerMoney(plr, 1500)

        outputChatBox("قدت السيارات وحصلت على 1.500 دولار , يمكنك الرجوع واخذ مهمه جديده",plr,255,255,255,true)

        setElementFrozen(veh,false)

        toggleControl(plr,"enter_exit",true)

    end,5000,1, plr)

end

addEventHandler("unload_vehicles",resourceRoot,unload_vehicles)

can you change this line like this, try with normal functions

Edited by Burak5312
Link to comment
There is actually no player parameter here, can you edit both places like this?
addEvent("unload_vehicles",true)

local function unload_vehicles(player, veh)

    setElementFrozen(veh,true)

    toggleControl(player,"enter_exit",false)

    setTimer(function(player,veh)

        local cars = getAttachedElements(veh)

        for i,v in pairs(cars) do

            destroyElement(v)

        end

        setElementData(veh,"loaded",false)

        --exports.global:giveMoney(plr,1500)
        givePlayerMoney(player, 1500)

        outputChatBox("قدت السيارات وحصلت على 1.500 دولار , يمكنك الرجوع واخذ مهمه جديده",player,255,255,255,true)

        setElementFrozen(veh,false)

        toggleControl(player,"enter_exit",true)

    end,5000,1, player, veh)

end

addEventHandler("unload_vehicles",resourceRoot,unload_vehicles)

 

local function unload_vehicles(plr,md)
    if plr ~= localPlayer or not md then return end
    if source ~= checkpoint then return end
    local veh = getPedOccupiedVehicle(plr)
    triggerServerEvent("unload_vehicles",resourceRoot,veh, plr)
    destroyElement(checkpoint)
    destroyElement(blip)
    checkpoint = nil
    blip = nil
end
addEventHandler("onClientMarkerHit",resourceRoot,unload_vehicles)
Edited by Burak5312
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...