local objective
local draw
local draw = 0
local element_type = "player"
function isEventHandlerAdded( sEventName, pElementAttachedTo, func )
if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then
local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo )
if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then
for i, v in ipairs( aAttachedFunctions ) do
if v == func then
return true
end
end
end
end
return false
end
local function hitmarker(player, md)
if not md or getElementType(player) ~= element_type then return end
if player ~= localPlayer then return end
outputChatBox("Aby rozpocz?? prac? "..name_job.." wci?nij klawisz '"..button_job.."'.")
end
addEventHandler("onClientMarkerHit", job_marker, hitmarker)
local function startjob()
if not isElementWithinMarker(localPlayer, job_marker) then return end
if getElementData(localPlayer, "player:miner") == true then exports["noti"]:noti("* Posiadasz aktywn? prac?!", 255, 0, 0, true) return end
if getPedOccupiedVehicle(localPlayer) == true then exports["noti"]:noti("* Nie mo?esz by? w poje?dzie!", 255, 0, 0, false) return end
setElementData(localPlayer, "player:miner", true)
outputChatBox("Rozpocz??e?(a?) prac? "..name_job..", id? wydoby? surowiec zaznaczony blipem 'C' na minimapie.")
toggleControl("sprint", false) toggleControl("jump", false) toggleControl("crouch", false) toggleControl("next_weapon", false) toggleControl("previous_weapon", false) toggleControl("fire", false)
triggerServerEvent("kilof", localPlayer)
job_stage(localPlayer)
end
bindKey(button_job, button_state, startjob)
local function canceljob()
if not isElementWithinMarker(localPlayer, job_marker_cancel) then return end
if getElementData(localPlayer, "player:miner") == false then outputChatBox("Nie posiadasz aktywnej pracy!") return end
if getPedOccupiedVehicle(localPlayer) == true then outputChatBox("Nie mo?esz by? w poje?dzie!") return end
outputChatBox("Zako?czy?e?(a?) prac? "..name_job..".")
toggleControl("sprint", true) toggleControl("jump", true) toggleControl("crouch", true) toggleControl("next_weapon", true) toggleControl("previous_weapon", true)
if isElement(objective) and isElement(blip) and isElement(rocks) and isElement(text) then
destroyElement(objective)
destroyElement(blip)
destroyElement(rocks)
destroyElement(text)
end
if isEventHandlerAdded("onClientRender", root, postep) then
removeEventHandler("onClientRender", root, postep)
end
triggerServerEvent("end_job", localPlayer)
setElementData(localPlayer, "player:miner", false)
end
bindKey(button_job, button_state, canceljob)
function job_stage(player, md)
if (objective) and isElement(objective) then
destroyElement(objective)
destroyElement(blip)
destroyElement(rocks)
objective = nil
end
toggleControl("sprint", false) toggleControl("jump", false) toggleControl("crouch", false) toggleControl("next_weapon", false) toggleControl("previous_weapon", false) toggleControl("fire", false) toggleControl ("aim_weapon", false )
local losuj = math.random(2, #points)
local miner = points
objective = createMarker(miner[losuj][1], miner[losuj][2], miner[losuj][3]-0.95, "cylinder", 1.1, 0, 255, 0, 70)
rocks = createObject(math.random(3930,3931), miner[losuj][1]+math.random(0.4,0.5), miner[losuj][2]+math.random(0.2, 0.3), miner[losuj][3]-0.6, 0, 0, math.random(0,90))
blip = createBlipAttachedTo(objective, 12)
text = createElement("text")
setElementData(text, "name", "Surowiec")
setElementPosition(text, miner[losuj][1], miner[losuj][2], miner[losuj][3]+0.12)
addEventHandler("onClientMarkerHit", objective, function(player, md)
if not md or getElementType(player) ~= element_type then return end
if player ~= localPlayer then return end
if isPedInVehicle(player) then outputChatBox("Nie mo?esz by? w poje?dzie!") return end
local data = setElementData(player, "player:miner", true)
if data then outputDebugString("Nadano elementdat? g?rnika dla u?ytkownika o nicku: "..getPlayerName(player)..".") end
setElementFrozen(player, true)
toggleAllControls(false)
addEventHandler("onClientRender", root, postep)
time = getTickCount()
setTimer(function()
removeEventHandler("onClientRender", root, postep)
end, time_freeze, 1)
triggerServerEvent("animation", localPlayer)
setTimer(function()
setElementFrozen(player, false)
toggleAllControls(true)
setPedAnimation(player, digging_animation)
destroyElement(objective)
destroyElement(blip)
destroyElement(rocks)
destroyElement(text)
triggerServerEvent("end_animation", localPlayer)
job_stage(localPlayer)
wyplata(localPlayer)
end, time_freeze, 1)
end)
end
function wyplata()
local kwota = math.random(800,1500)
local premium = getElementData(localPlayer,"player:premium")
local random = math.random(1, #nazwy)
if premium then
kwota = kwota*1.3
triggerServerEvent("givePlayerMoney", localPlayer, kwota, 0)
triggerEvent("create:noti",localPlayer,"Za wydobycie "..nazwy[random].."\notrzymujesz "..(kwota or "wyst?pi? b??d").." PLN.")
else
kwota = kwota
triggerServerEvent("givePlayerMoney", localPlayer, kwota, 0)
triggerEvent("create:noti",localPlayer,"Za wydobycie "..nazwy[random].."\notrzymujesz "..(kwota or "wyst?pi? b??d").." PLN.")
end
end
function onresourcestop()
if isEventHandlerAdded("onClientRender", root, postep) then
removeEventHandler("onClientRender", root, postep)
end
setElementData(localPlayer, "player:miner", false)
setElementFrozen(localPlayer, false)
toggleControl("sprint", true)
toggleControl("jump", true)
toggleControl("crouch", true)
toggleControl("next_weapon", true)
toggleControl("previous_weapon", true)
toggleControl("fire", true)
end
addEventHandler("onClientResourceStop", resourceRoot, onresourcestop)
dooroff = createMarker (2538.19,-4264.39,319.16+0.5, "arrow", 1.5, 0, 255, 199, 50)
local function hitmarker3(player, md)
if not md or getElementType(player) ~= element_type then return end
if player ~= localPlayer then return end
if isPedInVehicle(player) then return end
setElementDimension(player, 0)
setElementInterior(player, 0)
if isElement(objective) and isElement(blip) and isElement(rocks) and isElement(text) then
destroyElement(objective)
destroyElement(blip)
destroyElement(rocks)
destroyElement(text)
end
if isEventHandlerAdded("onClientRender", root, postep) then
removeEventHandler("onClientRender", root, postep)
end
toggleControl("sprint", true) toggleControl("jump", true) toggleControl("crouch", true) toggleControl("next_weapon", true) toggleControl("previous_weapon", true) toggleControl ("aim_weapon", true )
triggerServerEvent("end_job", localPlayer)
setElementData(localPlayer, "player:miner", false)
setElementPosition(player, -2004.04,-1501.25,94.59)
end
addEventHandler("onClientMarkerHit", dooroff, hitmarker3)
local function hitmarker2(player, md)
if not md or getElementType(player) ~= element_type then return end
if player ~= localPlayer then return end
outputChatBox("✔ Aby zako?czy? prac? "..name_job.." wci?nij klawisz #99FF00'"..button_job.."'", 255, 0, 0, true)
end
addEventHandler("onClientMarkerHit", job_marker_cancel, hitmarker2)
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