Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local clientjobID = 0
- job = {
- plate = 0,
- }
- local pool_locations = {
- {enteringpool = {722.0145,-909.5587,24.43356}, innutile2 = {722.0145,-909.5587,24.43356}, outsidepool= {717.3234,-894.7209,24.0391}},
- }
- local pool_blips ={}
- local inrangeofpool= false
- local inrangeofpool3 = false
- local currentlocation = nil
- local boughtcar = false
- local function LocalPed()
- return GetPlayerPed(-1)
- end
- function drawTxtpool(text,font,centre,x,y,scale,r,g,b,a)
- SetTextFont(font)
- SetTextProportional(0)
- SetTextScale(scale, scale)
- SetTextColour(r, g, b, a)
- SetTextDropShadow(0, 0, 0, 0,255)
- SetTextEdge(1, 0, 0, 0, 255)
- SetTextDropShadow()
- SetTextOutline()
- SetTextCentre(centre)
- SetTextEntry("STRING")
- AddTextComponentString(text)
- DrawText(x , y)
- end
- function IsPlayerInRangeOfpool()
- return inrangeofpool
- end
- function IsPlayerInRangeOfpool3()
- return inrangeofpool3
- end
- function ShowpoolBlips(bool)
- if bool and #pool_blips == 0 then
- for station,pos in pairs(pool_locations) do
- local loc = pos
- pos = pos.outsidepool
- local blip = AddBlipForCoord(pos[1],pos[2],pos[3])
- -- 60 58 137
- SetBlipSprite(blip,399)
- SetBlipColour(blip, 2)
- SetBlipScale(blip, 0.65)
- BeginTextCommandSetBlipName("STRING")
- AddTextComponentString('Wood Postal')
- EndTextCommandSetBlipName(blip)
- SetBlipAsShortRange(blip,true)
- SetBlipAsMissionCreatorBlip(blip,true)
- table.insert(pool_blips, {blip = blip, pos = loc})
- end
- Citizen.CreateThread(function()
- while #pool_blips > 0 do
- Citizen.Wait(0)
- local inrange = false
- local inrange3 = false
- for i,b in ipairs(pool_blips) do
- if IsPedInAnyVehicle(LocalPed(), true) == false and GetDistanceBetweenCoords(b.pos.enteringpool[1],b.pos.enteringpool[2],b.pos.enteringpool[3],GetEntityCoords(LocalPed()),true) > 0 then
- DrawMarker(0,711.4304,-893.3711,23.05157,0,0,0,0,0,0,2.001,2.0001,0.5001,0,155,255,200,0,0,0,0)
- currentlocation = b
- if GetDistanceBetweenCoords(711.4304,-893.3711,23.05157,GetEntityCoords(LocalPed()),true) < 3 then
- ShowInfoJobPool("Appuyez sur ~INPUT_CONTEXT~ pour sortir votre ~b~Camion~w~.", 0)
- inrange3 = true
- end
- end
- end
- inrangeofpool = inrange
- inrangeofpool3 = inrange3
- end
- end)
- elseif bool == false and #pool_blips > 0 then
- for i,b in ipairs(pool_blips) do
- if DoesBlipExist(b.blip) then
- SetBlipAsMissionCreatorBlip(b.blip,false)
- Citizen.InvokeNative(0x86A652570E5F25DD, Citizen.PointerValueIntInitialized(b.blip))
- end
- end
- pool_blips = {}
- end
- end
- RegisterNetEvent("job:f_GetIdentifier")
- AddEventHandler("job:f_GetIdentifier", function(plate)
- job.plate = plate
- end)
- AddEventHandler("playerSpawned", function()
- TriggerServerEvent("job:GetIdentifier")
- end)
- local ShowMsgtime = { msg = "", time = 0 }
- local myjob = 0
- RegisterNetEvent("check:getJobs")
- AddEventHandler("check:getJobs", function(job)
- myjob = job
- end)
- Citizen.CreateThread(function()
- while true do
- Citizen.Wait(0)
- if ShowMsgtime.time ~= 0 then
- drawTxtpool(ShowMsgtime.msg, 0, 1, 0.5, 0.8, 0.6, 255, 255, 255, 255)
- ShowMsgtime.time = ShowMsgtime.time - 1
- end
- end
- end)
- Citizen.CreateThread(function()
- while true do
- Citizen.Wait(0)
- if IsControlJustPressed(1,38) and inrangeofpool3 then
- TriggerServerEvent("love:jobs")
- Wait(100)
- if jobId == 8 then
- SetPedComponentVariation(GetPlayerPed(-1), 11, 123, 1, 0)
- SetPedComponentVariation(GetPlayerPed(-1), 8, 15, 0, 0)
- SetPedComponentVariation(GetPlayerPed(-1), 4, 17, 6, 0)
- SetPedComponentVariation(GetPlayerPed(-1), 6, 8, 0, 0)
- SetPedComponentVariation(GetPlayerPed(-1), 3, 0, 0, 0)
- --TriggerServerEvent('CheckPoolVehi')
- --TriggerServerEvent('SetPlateJob')
- --local car = 0xC703DB5F
- Wait(100)
- --local car = GetHashKey("boxville2")
- local car = 0xF21B33BE
- -- VOITURE PAR DÉFAUT
- local cplate = job.plate
- Citizen.CreateThread(function()
- Citizen.Wait(10)
- RequestModel(car)
- while not HasModelLoaded(car) do
- Citizen.Wait(0)
- end
- veh = CreateVehicle(car, 729.268, -878.351, 24.95, 0.0, true, false)
- SetEntityVelocity(veh, 2000)
- SetVehicleNumberPlateText(veh, cplate)
- SetVehicleOnGroundProperly(veh)
- SetVehicleHasBeenOwnedByPlayer(veh,true)
- local id = NetworkGetNetworkIdFromEntity(veh)
- SetNetworkIdCanMigrate(id, true)
- SetVehRadioStation(veh, "OFF")
- SetVehicleColours(veh, 64,64)
- SetVehicleLivery(veh, 3)
- SetPedIntoVehicle(GetPlayerPed(-1), veh, -1)
- DrawNotif("Véhicule sorti, bonne route")
- end)
- clientjobID = 45 -- Piscine
- inrangeofpool3 = false
- inrange3 = false
- else
- ShowMsgtime.msg = '~r~ Vous devez faire partie de Wood Postal !'
- ShowMsgtime.time = 150
- end
- end
- end
- end)
- onJobPool = 0
- daily = {flag = {}, blip = {}, veh = {}, coords = {cx={}, cy={}, cz={}}}
- function StartJobPool()
- showLoadingPromtpool("Chargement du métier.", 2000, 3)
- daily.coords.cx[1], daily.coords.cy[1], daily.coords.cz[1] = 235.45,169.848,105.159
- daily.coords.cx[2], daily.coords.cy[2], daily.coords.cz[2] = -568.184,269.787,83.0197
- daily.coords.cx[3], daily.coords.cy[3], daily.coords.cz[3] = 326.769,167.723,103.588
- daily.coords.cx[4], daily.coords.cy[4], daily.coords.cz[4] = -595.879,272.688,82.177
- daily.coords.cx[5], daily.coords.cy[5], daily.coords.cz[5] = 397.248,139.171,102.365
- daily.coords.cx[6], daily.coords.cy[6], daily.coords.cz[6] = 425.859,99.6317,100.215
- daily.coords.cx[7], daily.coords.cy[7], daily.coords.cz[7] = -599.469,248.928,82.1279
- daily.coords.cx[8], daily.coords.cy[8], daily.coords.cz[8] = -1674.65,-583.977,33.6717
- daily.coords.cx[9], daily.coords.cy[9], daily.coords.cz[9] = 446.15,88.5822,98.9998
- daily.coords.cx[10], daily.coords.cy[10], daily.coords.cz[10] = -175.76,-426.468,43.0024
- daily.coords.cx[11], daily.coords.cy[11], daily.coords.cz[11] = 458.276,119.761,98.9606
- daily.coords.cx[12], daily.coords.cy[12], daily.coords.cz[12] = -1439.64,-721.375,23.7175
- daily.coords.cx[13], daily.coords.cy[13], daily.coords.cz[13] = 529.179,100.898,96.3299
- daily.coords.cx[14], daily.coords.cy[14], daily.coords.cz[14] = -1232.77,-1074.81,8.40506
- daily.coords.cx[15], daily.coords.cy[15], daily.coords.cz[15] = 541.25,89.2674,96.2956
- daily.coords.cx[16], daily.coords.cy[16], daily.coords.cz[16] = -1214.45,-1128.62,7.81709
- daily.coords.cx[17], daily.coords.cy[17], daily.coords.cz[17] = 535.988,36.738,94.5939
- daily.coords.cx[18], daily.coords.cy[18], daily.coords.cz[18] = -1195.69,-1185.49,7.6919
- daily.coords.cx[19], daily.coords.cy[19], daily.coords.cz[19] = 573.777,226.8,103.078
- daily.coords.cx[20], daily.coords.cy[20], daily.coords.cz[20] = -846.418,-855.868,19.329
- daily.coords.cx[21], daily.coords.cy[21], daily.coords.cz[21] = 380.882,-94.5883,66.9924
- daily.coords.cx[22], daily.coords.cy[22], daily.coords.cz[22] = -852.531,-678.64,27.8488
- daily.coords.cx[23], daily.coords.cy[23], daily.coords.cz[23] = 304.077,-77.837,70.2108
- daily.coords.cx[24], daily.coords.cy[24], daily.coords.cz[24] = -980.928,-423.809,37.8326
- daily.coords.cx[25], daily.coords.cy[25], daily.coords.cz[25] = 194.763,-36.159,68.5332
- daily.coords.cx[26], daily.coords.cy[26], daily.coords.cz[26] = -958.352,-332.094,38.0002
- daily.coords.cx[27], daily.coords.cy[27], daily.coords.cz[27] = 241.397,-58.9975,69.6277
- daily.coords.cx[28], daily.coords.cy[28], daily.coords.cz[28] = -923.66,-233.452,39.6942
- daily.coords.cx[29], daily.coords.cy[29], daily.coords.cz[29] = 106.732,-9.90871,69.9294
- daily.coords.cx[30], daily.coords.cy[30], daily.coords.cz[30] = -871.61,-173.059,37.9131
- daily.coords.cx[31], daily.coords.cy[31], daily.coords.cz[31] = -148.786,-399.819,33.7018
- daily.coords.cx[32], daily.coords.cy[32], daily.coords.cz[32] = -480.825,-11.6149,45.2819
- daily.coords.cx[33], daily.coords.cy[33], daily.coords.cz[33] = -227.558,-655.966,33.383
- daily.coords.cx[34], daily.coords.cy[34], daily.coords.cz[34] = -283.379,-53.6171,49.399
- daily.coords.cx[35], daily.coords.cy[35], daily.coords.cz[35] = -252.495,-739.14,33.1254
- daily.coords.cx[36], daily.coords.cy[36], daily.coords.cz[36] = -238.685,107.071,69.6672
- daily.coords.cx[37], daily.coords.cy[37], daily.coords.cz[37] = -204.108,-869.71,29.349
- daily.coords.cx[38], daily.coords.cy[38], daily.coords.cz[38] = -524.266,119.939,63.1203
- daily.coords.cx[39], daily.coords.cy[39], daily.coords.cz[39] = -122.324,-932.79,29.2428
- daily.coords.cx[40], daily.coords.cy[40], daily.coords.cz[40] = -634.541,1139.442,57.2331
- daily.coords.cx[41], daily.coords.cy[41], daily.coords.cz[41] = -28.8422,-984.235,29.2709
- daily.coords.cx[42], daily.coords.cy[42], daily.coords.cz[42] = -650.367,-682.177,31.2195
- daily.coords.cx[43], daily.coords.cy[43], daily.coords.cz[43] = 246.394,-1065.58,29.293
- daily.coords.cx[44], daily.coords.cy[44], daily.coords.cz[44] = -1211.86,-1388.16,4.007759
- daily.coords.cx[45], daily.coords.cy[45], daily.coords.cz[45] = 361.951,-1066.06,29.3747
- daily.coords.cx[46], daily.coords.cy[46], daily.coords.cz[46] = -1294.17,-1162.71,5.02509
- daily.coords.cx[47], daily.coords.cy[47], daily.coords.cz[47] = 391.956,-971.926,29.4412
- daily.coords.cx[48], daily.coords.cy[48], daily.coords.cz[48] = -650.558,-753.544,26.2033
- daily.coords.cx[49], daily.coords.cy[49], daily.coords.cz[49] = 254.579,-1537.2,29.2916
- daily.coords.cx[50], daily.coords.cy[50], daily.coords.cz[50] = -661.078,-849.675,24.4355
- daily.coords.cx[51], daily.coords.cy[51], daily.coords.cz[51] = 788.421,-771.345,26.4402
- daily.coords.cx[52], daily.coords.cy[52], daily.coords.cz[52] = -651.074,-942.226,21.9754
- daily.coords.cx[53], daily.coords.cy[53], daily.coords.cz[53] = 788.421,-771.345,26.4402
- daily.coords.cx[54], daily.coords.cy[54], daily.coords.cz[54] = -555.688,-686.642,33.2313
- daily.coords.cx[55], daily.coords.cy[55], daily.coords.cz[55] = 296.323,-230.526,53.9902
- daily.coords.cx[56], daily.coords.cy[56], daily.coords.cz[56] = 1283.96,-684.764,65.4217
- daily.coords.cx[57], daily.coords.cy[57], daily.coords.cz[57] = -122.324,-932.79,29.2428
- daily.coords.cx[58], daily.coords.cy[58], daily.coords.cz[58] = -711.911,-670.229,30.484
- daily.coords.cx[59], daily.coords.cy[59], daily.coords.cz[59] = -189.883,-53.7102,51.4818
- daily.coords.cx[60], daily.coords.cy[60], daily.coords.cz[60] = -738.509,-691.201,30.291
- daily.coords.cx[61], daily.coords.cy[61], daily.coords.cz[61] = -232.935,-972.664,29.2884
- daily.coords.cx[62], daily.coords.cy[62], daily.coords.cz[62] = -752.196,-784.596,24.7846
- daily.coords.cx[63], daily.coords.cy[63], daily.coords.cz[63] = -202.304,-1489.92,31.4542
- daily.veh[1] = GetVehiclePedIsUsing(GetPlayerPed(-1))
- daily.flag[1] = 1
- daily.flag[2] = GetRandomIntInRange(1, 88)
- Wait(2000)
- DrawMissionTextpool("Conduisez et allez vider les ~h~~y~boîtes aux lettres~w~.", 10000)
- onJobPool = 1
- end
- function DrawMissionTextpool(m_text, showtime)
- ClearPrints()
- SetTextEntry_2("STRING")
- AddTextComponentString(m_text)
- DrawSubtitleTimed(showtime, 1)
- end
- function showLoadingPromtpool(showText, showTime, showType)
- Citizen.CreateThread(function()
- Citizen.Wait(0)
- N_0xaba17d7ce615adbf("STRING") -- set type
- AddTextComponentString(showText) -- sets the text
- N_0xbd12f8228410d9b4(showType) -- show promt (types = 3)
- Citizen.Wait(showTime) -- show time
- N_0x10d373323e5b9c0d() -- remove promt
- end)
- end
- function DrawNotif(text)
- SetNotificationTextEntry("STRING")
- AddTextComponentString(text)
- DrawNotification(false, false)
- end
- function ShowInfoJobPool(text, state)
- SetTextComponentFormat("STRING")
- AddTextComponentString(text)
- DisplayHelpTextFromStringLabel(0, state, 0, -1)
- end
- function StopJobPool()
- if daily.blip[1] ~= nil and DoesBlipExist(daily.blip[1]) then
- Citizen.InvokeNative(0x86A652570E5F25DD,Citizen.PointerValueIntInitialized(daily.blip[1]))
- daily.blip[1] = nil
- end
- onJobPool = 0
- clientjobID = 0
- daily.veh[1] = nil
- daily.flag[1] = nil
- daily.flag[2] = nil
- end
- Citizen.CreateThread(function()
- while true do
- Wait(0)
- if onJobPool == 0 then
- if (clientjobID == 45) then -- JOB pool
- if IsPedSittingInAnyVehicle(GetPlayerPed(-1)) then
- --if IsVehicleModel(GetVehiclePedIsUsing(GetPlayerPed(-1)), GetHashKey("boxville2", _r)) then
- if IsVehicleModel(GetVehiclePedIsUsing(GetPlayerPed(-1)), 0xF21B33BE) then
- TriggerServerEvent("love:jobs")
- Wait(100)
- if jobId == 8 then
- StartJobPool(1)
- else
- ShowMsgtime.msg = '~r~ Vous devez faire de Wood Postal !'
- ShowMsgtime.time = 150
- end
- end
- end
- end
- elseif onJobPool == 1 then
- if DoesEntityExist(daily.veh[1]) and IsVehicleDriveable(daily.veh[1], 0) then
- if daily.flag[1] == 1 then
- daily.flag[2] = GetRandomIntInRange(1, 88)
- daily.blip[1] = AddBlipForCoord(daily.coords.cx[daily.flag[2]],daily.coords.cy[daily.flag[2]],daily.coords.cz[daily.flag[2]])
- N_0x80ead8e2e1d5d52e(daily.blip[1])
- SetBlipRoute(daily.blip[1], 1)
- distance = GetDistanceBetweenCoords(GetEntityCoords(GetPlayerPed(-1)), daily.coords.cx[daily.flag[2]],daily.coords.cy[daily.flag[2]],daily.coords.cz[daily.flag[2]], true)
- daily.flag[1] = 2
- end
- if daily.flag[1] == 2 then
- if GetDistanceBetweenCoords(GetEntityCoords(GetPlayerPed(-1)), daily.coords.cx[daily.flag[2]],daily.coords.cy[daily.flag[2]],daily.coords.cz[daily.flag[2]], true) > 5.0001 then
- --DrawMarker(1, daily.coords.cx[daily.flag[2]],daily.coords.cy[daily.flag[2]],daily.coords.cz[daily.flag[2]]-1.0001, 0, 0, 0, 0, 0, 0, 2.0, 2.0, 2.0, 178, 236, 93, 155, 0, 0, 2, 0, 0, 0, 0)
- else
- if daily.blip[1] ~= nil and DoesBlipExist(daily.blip[1]) then
- Citizen.InvokeNative(0x86A652570E5F25DD,Citizen.PointerValueIntInitialized(daily.blip[1]))
- daily.blip[1] = nil
- end
- if IsPedInAnyVehicle(LocalPed(), true) == false then
- ShowInfoJobPool("Appuyez sur ~INPUT_CONTEXT~ pour ~b~récupérer~w~ le courrier.", 0)
- if IsControlJustPressed(1,38) then
- local dict = "pickup_object"
- local anim = "pickup_low"
- RequestAnimDict(dict)
- while not HasAnimDictLoaded(dict) do
- Citizen.Wait(0)
- end
- local myPed = PlayerPedId()
- local animation = anim
- local flags = 16 -- only play the animation on the upper body
- TaskPlayAnim(myPed, dict, animation, 8.0, -8, -1, flags, 0, 0, 0, 0)
- Wait(2000)
- DrawMissionTextpool("~h~Vous avez ~g~récupérer~w~ les courriers !", 5000)
- TriggerServerEvent('job:success', distance)
- --TriggerServerEvent('CheckPool')
- Wait(1000)
- daily.flag[1] = 1
- daily.flag[2] = GetRandomIntInRange(1, 88)
- end
- end
- end
- end
- if GetDistanceBetweenCoords(GetEntityCoords(GetPlayerPed(-1)), GetEntityCoords(daily.veh[1]), true) > 350.0001 then
- StopJobPool(1)
- DrawNotif("~r~Retournez dans votre véhicule pour reprendre votre travail")
- else
- end
- else
- StopJobPool(1)
- DrawMissionTextpool("Votre camion est ~h~~r~hors-service~w~.", 5000)
- end
- end
- end
- end)
- AddEventHandler('playerSpawned', function(spawn)
- ShowpoolBlips(true)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement