Neffax Posted February 5, 2022 Share Posted February 5, 2022 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
๖ۣۜζ͜͡RapGod Posted February 5, 2022 Share Posted February 5, 2022 Can you please state the problem and only the part that you're getting errors in? And also please use the <> icon in the tab so we can see your code in a better way. Link to comment
βurak Posted February 5, 2022 Share Posted February 5, 2022 (edited) 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 February 5, 2022 by Burak5312 Link to comment
Neffax Posted February 6, 2022 Author Share Posted February 6, 2022 @Burak5312 doesn't work ๖ۣۜζ͜͡RapGod can you give me ur discrod to show you the screen Link to comment
βurak Posted February 6, 2022 Share Posted February 6, 2022 (edited) 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 February 6, 2022 by Burak5312 Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now