Source w evencie "onPlayerVehicleExit" to gracz.
U?ywaj?c tam
destroyElement(source)
chcesz zniszczy? gracza. =/
Musisz wy??czy? ko?czenie si? pracy po stronie klienta kiedy gracz wjedzie w okre?lony marker.
Client:
--[[
Praca tramwaje
]]--
local code = "tramwaje"
local Kursytramwaje = {
{-2264.67, 525.08, 35.60},
{-2264.86, 554.23, 35.50},
{-2264.88, 597.16, 39.83},
{-2264.91, 652.92, 49.75},
{-2264.96, 721.44, 49.79},
{-2264.89, 802.29, 49.86},
{-2264.88, 894.73, 66.91},
{-2264.88, 998.42, 79.29},
{-2264.86, 1113.39, 76.58},
{-2272.89, 1237.89, 46.27},
{-2160.05, 1274.23, 27.32},
{-2039.96, 1307.38, 7.62},
{-1908.19, 1321.76, 7.50},
{-1792.88, 1378.78, 7.50},
{-1686.27, 1299.39, 7.50},
{-1595.23, 1199.52, 7.50},
{-1584.13, 1065.85, 7.50},
{-1529.82, 947.67, 7.50},
{-1641.08, 921.13, 16.97},
{-1776.48, 921.13, 25.12},
{-1911.54, 921.00, 35.71},
{-2001.63, 869.91, 45.75},
{-1881.63, 848.88, 35.50},
{-1745.98, 848.88, 25.18},
{-1610.50, 848.89, 8.00},
{-1540.12, 782.52, 7.50},
{-1630.59, 728.75, 14.87},
{-1711.55, 670.22, 25.12},
{-1795.04, 603.25, 33.79},
{-1930.54, 603.25, 35.50},
{-2003.41, 534.35, 35.50},
{-2003.63, 399.12, 35.50},
{-2004.68, 263.58, 31.81},
{-2006.50, 128.35, 28.00},
{-2045.20, 30.38, 35.62},
{-2166.55, 12.10, 35.62},
{-2223.97, -70.08, 35.62},
{-2253.73, 38.59, 35.62},
{-2251.50, 170.32, 35.62},
{-2251.50, 302.33, 35.62},
{-2306.47, 417.18, 35.50},
{-2362.24, 507.33, 30.00},
{-2269.28, 511.57, 35.51},
}
local jobTarget
local jobMarker
local jobVehicle
local maxTarget = #Kursytramwaje
function odleglosc()
local pojazd=getPedOccupiedVehicle(localPlayer)
if pojazd and getTrainSpeed(pojazd)<-0.9 then
setTrainSpeed(pojazd,-0.9)
end
end
function finishJob()
if jobMarker and isElement(jobMarker) then
destroyElement(jobMarker)
jobMarker = nil
end
if jobBlip and isElement(jobBlip) then
destroyElement(jobBlip)
jobBlip = nil
end
if jobTarget and isElement(jobTarget) then
outputChatBox("Ble ble wr?c")
destroyElement(jobTarget)
jobTarget = 0
end
if getElementData(localPlayer,"player:jobtram") == code then
setElementData(localPlayer, "player:jobtram", false)
end
triggerServerEvent("destroyVeh", localPlayer)
removeEventHandler("onClientRender",root,odleglosc)
addEventHandler ( "onClientPlayerWasted", getLocalPlayer(), finishJob)
end
addEvent("finishJob",true)
addEventHandler("finishJob",root,function(plr)
if plr ~= localPlayer then return end
finishJob()
end)
function TramwajeDriver(el, md)
if el ~= localPlayer or not md then return end
--if jobTarget > maxTarget and getPedOccupiedVehicle(el) then return end
--if jobTarget == maxTarget and not getPedOccupiedVehicle(el) then return end
--local kasapkt = math.random(80,120)
--if jobTarget == #Kursytramwaje then
--[[playSoundFrontEnd(5)
outputChatBox("* Zako?czy?e?/a? pierwszy kurs!, ruszaj w nast?pny! Otrzyma?e? 250PLN premi")
kasapkt=kasapkt+250
jobTarget=0
end
showMarker()
playSoundFrontEnd(12)
triggerServerEvent("givePlayerMoney", localPlayer, kasapkt)
outputChatBox("Otrzymujesz "..kasapkt.." PLN za dojechanie do celu.")
end--]]
--finishJob()
--playSoundFrontEnd(5)
--outputChatBox("#06B200(✔) #FFFFFFPomy?lnie zako?czono prac?.", 255,255,255, true)
--triggerEvent( "onClientAddNotification", localPlayer, "Pomy?lnie zako?czono prac?.", "success" )
--else
local kasa = math.random(8000,9000)
local premka = math.random(45000,45000)
showMarker()
playSoundFrontEnd(12)
if getElementData(localPlayer, "player:premium") then
triggerServerEvent("givePlayerMoney", localPlayer, premka)
outputChatBox("#007aff(ⓘ) #f2ff00[PREMIUM] #FFFFFFOtrzymujesz #06B200"..premka.." PLN.", 255,255,255, true)
--triggerEvent( "onClientAddNotification", localPlayer, "(Premium) Otrzymujesz "..premka.." PLN.", "info" )
else
triggerServerEvent("givePlayerMoney", localPlayer, kasa)
outputChatBox("#007aff(ⓘ) #FFFFFFOtrzymujesz #06B200"..kasa.." PLN.", 255,255,255, true)
--triggerEvent( "onClientAddNotification", localPlayer, "Otrzymujesz "..kasa.." PLN.", "info" )
end
--end
end
function showMarker()
if jobMarker and isElement(jobMarker) then
destroyElement(jobMarker)
jobMarker = nil
end
if jobBlip and isElement(jobBlip) then
destroyElement(jobBlip)
jobBlip = nil
end
jobTarget = jobTarget + 1
jobMarker = createMarker(Kursytramwaje[jobTarget][1], Kursytramwaje[jobTarget][2], Kursytramwaje[jobTarget][3], "corona", 4, 255, 0, 0)
jobBlip = createBlip(Kursytramwaje[jobTarget][1], Kursytramwaje[jobTarget][2], Kursytramwaje[jobTarget][3], 41)
if Kursytramwaje[jobTarget+1] then
ile = Kursytramwaje[jobTarget+1]
ile2 = ile[1]
ile3 = ile[2]
ile4 = ile[3]
setMarkerTarget(jobMarker, ile[1], ile[2], ile[3])
end
addEventHandler("onClientMarkerHit", jobMarker, TramwajeDriver)
--addEventHandler("onClientMarkerHit", jobMarker, showNextPoint)
end
addEvent("STARTJobtramwaje", true)
addEventHandler("STARTJobtramwaje", resourceRoot, function(veh)
outputChatBox("#06B200(✔) #FFFFFFRozpocze?e?/a? prace jako Maszynista, poje?dzij w okolicy.", 255,255,255, true)
jobVehicle = veh
jobTarget = 0
showMarker()
addEventHandler("onClientRender",root,odleglosc)
end)
addEventHandler("onClientResourceStop", resourceRoot, function()
if jobVehicle and getElementData(localPlayer, "player:jobtram") then
setElementData(localPlayer, "player:jobtram", false)
end
end)
addEventHandler("onClientVehicleExit", resourceRoot, function(plr, seat)
if seat == 0 then
if plr == localPlayer then
finishJob()
outputChatBox("#bf0101(✖) #FFFFFFZako?czy?e? prac? jako maszynista.", 255,255,255, true)
setElementPosition(localPlayer,-2267.62, 533.90, 35.02)
end
end
end)
Server:
local missionText=createElement("text")
setElementData(missionText, "name", "Rozpocz?cie Pracy Tramwajarza\nZarobek: 45000-65000")
setElementPosition(missionText, -2275.65, 521.40, 35.11)
local zone = createColCuboid(-2276.08, 505.98, 34.02, 11, 11, 11)
local opistrain = "YRW Praca Tramwaj :D"
createBlip(-2275.65, 521.40, 35.11, 46,2,0,0,0,0,0,275)
-- local m1 = createMarker(-1922.67,573.14,34.45, "cylinder", 2.2, 96, 96, 96)
local tramwaje = createMarker(-2275.65, 521.40, 35.11-0.9, "cylinder", 1.5, 255, 0, 0)
--createBlipAttachedTo(tramwaje, 46)
vehs = {}
local code = "tramwaje"
veh_obj = {}
function removePreviousVehicles(plr)
for i,v in ipairs(getElementsByType("vehicle", resourceRoot)) do
local sby = getElementData(v, "zrespilGracz")
if sby and sby == plr and getPedOccupiedVehicle(plr) ~= v then
destroyElement(v)
end
end
end
addEventHandler("onMarkerHit", tramwaje, function(el, md)
if getElementData(el, "vehicle_job_owner2") then
outputChatBox("Wyst?pi? b??d, zg?o? si? do CEO!", el)
return
end
if not md or getElementType(el) ~= "player" or getPedOccupiedVehicle(el) then return end
if getElementData(el,"player:jobtram") then return end
if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("*Zajezdnia jest zaj?ta, przez pracownika poczekaj a? wyjedzie!",el) return end
local x,y,z = getElementPosition(el)
local TramwajVEH = createVehicle(449, -2266.34, 512.93, 35.02, -0.00, 0.00, 89.42)
--setElementFrozen(el,true)
setElementData(el,"tramwajemodel",getElementModel(el))
setElementModel(el,7)
setTrainDerailable(TramwajVEH, false)
setElementData(TramwajVEH,"vehicle:desc", opistrain)
setElementData(TramwajVEH, "vehicle_job_owner2", el)
setElementData(TramwajVEH, "vehicle:fuel", 9000000)
setVehicleHandling(TramwajVEH, "maxVelocity", 50.0)
setElementData(TramwajVEH, "vehicle:mileage", math.random(1,100))
setElementData(el,"player:jobtram",code)
setTimer(warpPedIntoVehicle,200,1,el,TramwajVEH)
toggleControl(el,"enter_exit",false)
setTimer(toggleControl,2000,1,el, "enter_exit",true)
setTimer(setElementFrozen,2000,1,el, false)
triggerClientEvent(el, "STARTJobtramwaje", resourceRoot, TramwajVEH)
vehs[el] = TramwajVEH
end)
addEvent("STOPJobtramwaje", true)
addEventHandler("STOPJobtramwaje", getResourceRootElement(), function()
local tramwaj = getPedOccupiedVehicle(client)
if tramwaj then
destroyElement(tramwaj)
end
end)
addEventHandler("onPlayerVehicleExit", getResourceRootElement(), function(vehicle, seat)
if seat == 0 then
destroyElement(vehicle)
end
end)
addEvent("destroyVeh", true)
addEventHandler("destroyVeh", getRootElement(),
function()
if vehs[client] then
if isElement(vehs[client]) then destroyElement(vehs[client]) end
end
staryModel=getElementData(client,"tramwajemodel")
if staryModel then
setElementModel(client,staryModel)
end
end)
addEventHandler("onElementDestroy",resourceRoot,function()
if getElementType(source) == "vehicle" then
if veh_obj[source] then destroyElement(veh_obj[source]); veh_obj[source] = nil end
end
end)
addEvent("onPlayerQuit", true)
addEventHandler ( "onPlayerQuit", getRootElement(), function()
if vehs[source] then
if isElement(vehs[source]) then destroyElement(vehs[source]) end
end
end)
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach