Olá estou com um problema com este resource de Painel de Sirene, o problema é o seguinte eu tenho markers no servidor para criar os veiculos que tenhem esse painel e tambem tem markers para os destruir, porem quando alguem destroi o veiculo com a sirene ou buzina ligada ela fica em loop sem parar ou seja o veiculo é deletado mas ela fica ali tocando
Já tentei de todas as formas não consigo arrumar isso alguém pode ajudar?
Client-side
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
local sx,sy = guiGetScreenSize()
local screenW,screenH = guiGetScreenSize()
local resW, resH = 1280, 720
local x, y = (screenW/resW), (screenH/resH)
function dxsirenepainelsprp ()
local theVehicle = getPedOccupiedVehicle ( localPlayer )
if ( theVehicle ) then
if getPedOccupiedVehicleSeat(localPlayer) == 1 or getPedOccupiedVehicleSeat(localPlayer) == 0 then
if ( getElementModel ( theVehicle ) == 436 ) or ( getElementModel ( theVehicle ) == 490 ) or ( getElementModel ( theVehicle ) == 404 ) then
dxDrawRectangle(screenW * 0.5477, screenH * 0.8151, screenW * 0.2350, screenH * 0.1471, tocolor(0, 0, 0, 255), false)
dxDrawText("Painel Sirene", screenW * 0.3377, screenH * 0.8151, screenW * 0.9927, screenH * 0.8411, tocolor(255, 140, 0, 255), 1.00, "sans", "center", "center", false, false, false, false, false)
if getElementData ( theVehicle, "vtrgiroflex" ) == false then
dxDrawRectangle(screenW * 0.5550, screenH * 0.8867, screenW * 0.0637, screenH * 0.0417, tocolor(9, 9, 9, 180), false)
else
dxDrawRectangle(screenW * 0.5550, screenH * 0.8867, screenW * 0.0637, screenH * 0.0417, tocolor(255, 140, 0, 255), false)
end
if getElementData ( theVehicle, "vtrsirene" ) == false then
dxDrawRectangle(screenW * 0.6319, screenH * 0.8867, screenW * 0.0637, screenH * 0.0417, tocolor(9, 9, 9, 180), false)
else
dxDrawRectangle(screenW * 0.6319, screenH * 0.8867, screenW * 0.0637, screenH * 0.0417, tocolor(255, 140, 0, 255), false)
end
if getElementData ( theVehicle, "vtrbuzina" ) == false then
dxDrawRectangle(screenW * 0.7117, screenH * 0.8867, screenW * 0.0637, screenH * 0.0417, tocolor(9, 9, 9, 180), false)
else
dxDrawRectangle(screenW * 0.7117, screenH * 0.8867, screenW * 0.0637, screenH * 0.0417, tocolor(255, 140, 0, 255), false)
end
dxDrawText("1", screenW * 0.3468, screenH * 0.8672, screenW * 0.8287, screenH * 0.8867, tocolor(255, 140, 0, 255), 1.00, "sans", "center", "center", false, false, false, false, false)
dxDrawText("2", screenW * 0.4212, screenH * 0.8672, screenW * 0.9056, screenH * 0.8867, tocolor(255, 140, 0, 255), 1.00, "sans", "center", "center", false, false, false, false, false)
dxDrawText("3", screenW * 0.5023, screenH * 0.8672, screenW * 0.9854, screenH * 0.8867, tocolor(255, 140, 0, 255), 1.00, "sans", "center", "center", false, false, false, false, false)
dxDrawText("Giroflex", screenW * 0.3500, screenH * 0.8932, screenW * 0.8214, screenH * 0.9206, tocolor(255, 255, 255, 255), 1.00, "sans", "center", "center", false, false, false, false, false)
dxDrawText("Sirene", screenW * 0.4322, screenH * 0.8932, screenW * 0.8953, screenH * 0.9206, tocolor(255, 255, 255, 255), 1.00, "sans", "center", "center", false, false, false, false, false)
dxDrawText("Buzina", screenW * 0.5103, screenH * 0.8932, screenW * 0.9780, screenH * 0.9206, tocolor(255, 255, 255, 255), 1.00, "sans", "center", "center", false, false, false, false, false)
end
end
end
end
addEventHandler ( "onClientRender", getRootElement (), dxsirenepainelsprp )
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
local vehiclesSirenes = {}
addEvent("startSireneSound",true)
addEventHandler("startSireneSound",root,
function()
local theVehicle = getPedOccupiedVehicle ( localPlayer )
if ( theVehicle ) then
if(vehiclesSirenes[source])then
destroyElement(vehiclesSirenes[source])
vehiclesSirenes[source] = nil
setElementData(theVehicle, "vtrsirene", false)
else
setElementData(theVehicle, "vtrsirene", true)
vehiclesSirenes[source] = playSound3D( "sirene.mp3", 0,0,0, true )
setSoundMaxDistance(vehiclesSirenes[source], 150 )
setSoundVolume (vehiclesSirenes[source], 0.1)
attachElements (vehiclesSirenes[source], source, 0, 0, 0 )
end
end
end)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
local vehiclesSirene3 = {}
addEvent("startSireneSound3",true)
addEventHandler("startSireneSound3",root,
function()
local theVehicle = getPedOccupiedVehicle ( localPlayer )
if ( theVehicle ) then
if(vehiclesSirene3[source])then
destroyElement(vehiclesSirene3[source])
vehiclesSirene3[source] = nil
setElementData(theVehicle, "vtrbuzina", false)
else
setElementData(theVehicle, "vtrbuzina", true)
vehiclesSirene3[source] = playSound3D( "horn.mp3", 0,0,0, true )
setSoundMaxDistance(vehiclesSirene3[source], 100 )
setSoundVolume (vehiclesSirene3[source], 1.0)
attachElements (vehiclesSirene3[source], source, 0, 0, 0 )
end
end
end)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Emergency Lights resource by vovo4ka
-- please, do not remove copyright
-- Edited by #FurkanOzulus [OzulusTR]
-- Special Thanks, vovo4ka for the this script :)
local strobo_interval = 5 -- strobo light freq. 10 = 0.5 sec
local is_strobo_enabled = enable -- enable/disable stroboscopic lights mode
-- lamps
local flash_interval = 2 -- flash freq
-- led blink mode
local blink_interval = 20 -- blink interval
local blink_duration = 2 -- 1..blink_interval
local car_lights_table = {
-- Enforcer
[427] = {["mode"]="lamp",
[1]={["pos"]={0.45, 1.1, 1.42}, ["color"]={255,0,0}, ["size"]=0.2, ["phase"]=10.0},
[2]={["pos"]={-0.45, 1.1, 1.42}, ["color"]={255,0,0}, ["size"]=0.2, ["phase"]=10.0},
[3]={["pos"]={0.22, 1.1, 1.42}, ["color"]={255,0,0}, ["size"]=0.2, ["phase"]=0.0},
[4]={["pos"]={-0.22, 1.1, 1.42}, ["color"]={255,0,0}, ["size"]=0.2, ["phase"]=0.0},
[5]={["pos"]={-1.18, 0.1, 0.94}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=0.0},
[6]={["pos"]={-1.18, -1.63, 0.94}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=5.0},
[7]={["pos"]={-1.18, -3.37, 0.94}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=10.0},
[8]={["pos"]={1.18, 0.1, 0.94}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=0.0},
[9]={["pos"]={1.18, -1.63, 0.94}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=5.0},
[10]={["pos"]={1.18, -3.37, 0.94}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=10.0}
},
-- Elegant PassatVtr
-- Police Speed
[436] = {["mode"]="led",
[1]={["pos"]={-0.5,-0.1, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[2]={["pos"]={0.5, -0.1, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[3]={["pos"]={-0.1, 0.1, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[4]={["pos"]={0.1, 0.1, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[5]={["pos"]={-0.6, -0.25, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[6]={["pos"]={0.6, -0.25, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[7]={["pos"]={-0.2,0, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[8]={["pos"]={0.2, 0, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
--
[17]={["pos"]={-0.5,-0.1, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[18]={["pos"]={0.5, -0.1, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[19]={["pos"]={-0.1, 0.1, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[199]={["pos"]={0.1, 0.1, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[188]={["pos"]={-0.6, -0.25, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[166]={["pos"]={0.6, -0.25, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[177]={["pos"]={-0.2,0, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[155]={["pos"]={0.2, 0, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
--=-=-=--
[40]={["pos"]={-0.77, 2.10, 0.10}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=1.0},
[41]={["pos"]={0.77, 2.10, 0.10}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=1.0},
[42]={["pos"]={-0.6, 2.26, 0.10}, ["color"]={0,0,255}, ["size"]=0.1, ["phase"]=0.0},
[43]={["pos"]={0.6, 2.26, 0.10}, ["color"]={0,0,255}, ["size"]=0.1, ["phase"]=0.0},
----frente^
},
-- radio patrulha
[404] = {["mode"]="led",
[1]={["pos"]={-0.5,-0.1, 1.0}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[2]={["pos"]={0.5, -0.1, 1.0}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[3]={["pos"]={-0.1, 0.1, 1.0}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[4]={["pos"]={0.1, 0.1, 1.0}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[5]={["pos"]={-0.6, -0.25, 1.0}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[6]={["pos"]={0.6, -0.25, 1.0}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[7]={["pos"]={-0.2,0, 1.0}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
[8]={["pos"]={0.2, 0, 1.0}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0},
--
[17]={["pos"]={-0.5,-0.1, 1.0}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[18]={["pos"]={0.5, -0.1, 1.0}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[19]={["pos"]={-0.1, 0.1, 1.0}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[199]={["pos"]={0.1, 0.1, 1.0}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[188]={["pos"]={-0.6, -0.25, 1.0}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[166]={["pos"]={0.6, -0.25, 1.0}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[177]={["pos"]={-0.2,0, 1.0}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
[155]={["pos"]={0.2, 0, 1.0}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0},
--=-=-=--
[40]={["pos"]={-0.77, 2.16, -0.36}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=1.0},
[41]={["pos"]={0.77, 2.16, -0.36}, ["color"]={255,0,0}, ["size"]=0.1, ["phase"]=1.0},
[42]={["pos"]={-0.6, 2.36, -0.36}, ["color"]={0,0,255}, ["size"]=0.1, ["phase"]=0.0},
[43]={["pos"]={0.6, 2.36, -0.36}, ["color"]={0,0,255}, ["size"]=0.1, ["phase"]=0.0},
----frente^
},
--------=========---------
-- FBI Rancher
[490] = {["mode"]="lamp",
[1]={["pos"]={0, 0.2, 0.9}, ["color"]={255,0,0}, ["size"]=0.4, ["phase"]=5.0},
[2]={["pos"]={0.4, 0, 0.9}, ["color"]={255,0,0}, ["size"]=0.4, ["phase"]=0.0},
[3]={["pos"]={-0.4, 0, 0.9}, ["color"]={255,0,0}, ["size"]=0.4, ["phase"]=15.0},
[4]={["pos"]={0.55, -0.2, 0.9}, ["color"]={255,0,0}, ["size"]=0.4, ["phase"]=7.0},
[5]={["pos"]={-0.55, -0.2, 0.9}, ["color"]={255,0,0}, ["size"]=0.4, ["phase"]=20.0}
},
-- since 0.8 there are no default lights position, because only emergency and pre-defined vehicles can use lights
--["default"] = {["mode"]="lamp", [1]={["pos"]={0.5, 0, 0.8}, ["color"]={255,0,0}, ["size"]=0.25, ["phase"]=0.0}, [2]={["pos"]={-0.5, 0, 0.8}, ["color"]={0,0,255}, ["size"]=0.25, ["phase"]=10.0}}
}
-- do not modify --------------------------------------------
local vehicles = {}
local timers = {}
local base_freq = 50 -- freq of timer for light change
-------------------------------------------------------------
function release_vehicle(vehicle)
if (isElement(vehicle)) then
if (is_strobo_enabled) then
setVehicleOverrideLights ( vehicle, 0)
setVehicleLightState ( vehicle, 0, 1 )
setVehicleLightState ( vehicle, 1, 1 )
setVehicleLightState ( vehicle, 2, 1 )
setVehicleLightState ( vehicle, 3, 1 )
end
end
if (vehicles[vehicle]~=nil) then
-- release the markers
for key, value in pairs(vehicles[vehicle]["flist"]) do
destroyElement (value["m"])
end
setElementData(vehicle, "vtrgiroflex", false)
vehicles[vehicle] = nil
end
if (timers[vehicle]~=nil) then
-- kill the strobo timer
killTimer(timers[vehicle])
timers[vehicle] = nil
if (isElement(vehicle)) then
if (getElementData( vehicle, "emerlights_source")==getPlayerName(getLocalPlayer())) then
triggerEvent ( "onPlayerEmergencyLightStateChange", getRootElement(), 0 )
end
end
end
end
function checkForAbility(vehicle)
local veh_model = getElementModel ( vehicle )
if (car_lights_table[veh_model]==nil)or(getElementData( vehicle, "emerlights_enabled" )=="false") then
return false
end
return true
end
function strobo_state_update (vehicle)
-- check for valid vehicle
if (isElement(vehicle)) then
if (vehicles[vehicle]==nil) then
-- check for disallowing to use lights
-- its enabled by default
if (checkForAbility(vehicle)==false) then
release_vehicle(vehicle)
return
end
local veh_model = getElementModel ( vehicle )
--if (car_lights_table[veh_model]==nil) then
--veh_model = "default"
--end
setElementData( vehicle, "emerlights_source", src, false)
if (src==getPlayerName(getLocalPlayer())) then
triggerEvent ( "onPlayerEmergencyLightStateChange", getRootElement(), 1 )
end
-- init state variable
vehicles[vehicle] = {}
vehicles[vehicle]["lstate"] = 0 -- strobo lights state
vehicles[vehicle]["fstate"] = 0 -- flash light state
vehicles[vehicle]["flist"] = {} -- flash lights list (marker ids)
-- create flash lights
local mode = car_lights_table[veh_model]["mode"]
if (mode==nil) then
mode = "lamp"
end
local coeff = 0
if (mode=="lamp") then
coeff = 3.141592654/10.0
else
coeff = blink_interval/20.0
end
vehicles[vehicle]["fmode"] = mode
for light_id, light_desc in pairs(car_lights_table[veh_model]) do
if (light_id~="mode") then
vehicles[vehicle]["flist"][light_id] = {}
vehicles[vehicle]["flist"][light_id]["m"] = createMarker( 0.0001, 0.0001, 0.0001, "corona", light_desc["size"], light_desc["color"][1], light_desc["color"][2], light_desc["color"][3], 100)
vehicles[vehicle]["flist"][light_id]["p"] = light_desc["phase"]*coeff
attachElements ( vehicles[vehicle]["flist"][light_id]["m"], vehicle, light_desc["pos"][1], light_desc["pos"][2], light_desc["pos"][3] )
end
end
end
-- strobo light
if (is_strobo_enabled) then
setVehicleOverrideLights ( vehicle, 2)
if (vehicles[vehicle]["lstate"]<strobo_interval) then
setVehicleLightState ( vehicle, 0, 1 )
setVehicleLightState ( vehicle, 1, 0 )
setVehicleLightState ( vehicle, 2, 0 )
setVehicleLightState ( vehicle, 3, 1 )
else
setVehicleLightState ( vehicle, 0, 0 )
setVehicleLightState ( vehicle, 1, 1 )
setVehicleLightState ( vehicle, 2, 1 )
setVehicleLightState ( vehicle, 3, 0 )
end
if (vehicles[vehicle]["lstate"]>=strobo_interval*2) then
vehicles[vehicle]["lstate"] = 0
else
vehicles[vehicle]["lstate"] = vehicles[vehicle]["lstate"] + 1
end
end
-- flash light
if (vehicles[vehicle]["fmode"]=="lamp") then
-- lamp mode
local tmp_fstate = vehicles[vehicle]["fstate"]
for key, value in pairs(vehicles[vehicle]["flist"]) do
local R, G, B, A = getMarkerColor( value["m"] )
setMarkerColor(value["m"], R, G, B, (math.sin(tmp_fstate+value["p"])+1.0)*128.0)
end
vehicles[vehicle]["fstate"] = vehicles[vehicle]["fstate"] + flash_interval
else
-- led mode
local tmp_fstate = vehicles[vehicle]["fstate"]
for key, value in pairs(vehicles[vehicle]["flist"]) do
local R, G, B, A = getMarkerColor(value["m"])
-- blinking mode
local tmp_val = tmp_fstate+value["p"]
if (tmp_val>blink_interval) then
tmp_val = tmp_val - blink_interval
end
if ((tmp_val>=0)and(tmp_val<blink_duration))or((tmp_val>=blink_duration+1)and(tmp_val<blink_duration*2+1)) then
setMarkerColor(value["m"], R, G, B, 255)
else
setMarkerColor(value["m"], R, G, B, 0)
end
end
vehicles[vehicle]["fstate"] = vehicles[vehicle]["fstate"] + 1
if (vehicles[vehicle]["fstate"]>blink_interval) then
vehicles[vehicle]["fstate"] = vehicles[vehicle]["fstate"] - blink_interval
end
end
else
-- if vehicle is no more exists
release_vehicle(vehicle)
end
end
function isStroboLightsOn (vehicle_id)
if (timers[vehicle_id]) then
return 1
else
return 0
end
end
function setStroboLightsOn(vehicle_id, value)
if ( vehicle_id ) then
if (value==nil) then
if (isStroboLightsOn(vehicle_id)==1) then
value = 0
else
value = 1
end;
end;
if (value==0) then
if (timers[vehicle_id]) then
release_vehicle(vehicle_id)
end
end
if (value==1) then
if (timers[vehicle_id]) then
release_vehicle(vehicle_id)
end
-- create strobo timer
timers[vehicle_id] = setTimer ( strobo_state_update, base_freq, 0, vehicle_id )
end
end
end
-- only local effect
function enableStroboLightsMode(source, value)
if (value=="0")or(value=="false") then
is_strobo_enabled = false
--outputConsole("Stroboscopic mode disabled")
else
if (value=="1")or(value=="true") then
is_strobo_enabled = true
--outputChatBox("Stroboscopic mode enabled")
else
--outputChatBox("Usage: strobo 0 or strobo 1 for disable/enable stroboscopic lights mode")
end
end
end
addCommandHandler("strobo", enableStroboLightsMode)
-- triggered by server
function setEmerlightsState(value, state)
local player = getPlayerFromName ( value )
local vehicle = getPedOccupiedVehicle(player)
if (vehicle) then
setStroboLightsOn(vehicle, state)
end
end
addEvent("setEmerlights", true)
addEventHandler("setEmerlights", getRootElement(), setEmerlightsState)
function requestEmerlights()
-- check for driver
playerVehicle = getPedOccupiedVehicle (getLocalPlayer()) -- get the player's vehicle
if (playerVehicle) then
-- if player is not a driver
if getPedOccupiedVehicleSeat(localPlayer) == 1 or getPedOccupiedVehicleSeat(localPlayer) == 0 then
-- sync
setElementData(playerVehicle, "vtrgiroflex", true)
triggerServerEvent("requestEmerlightChangeState", getLocalPlayer(), 1-isStroboLightsOn(getPedOccupiedVehicle(getLocalPlayer())))
else
-- not able to use lights for this vehicle
--outputChatBox("unknown car!")
end
end
end
addCommandHandler("Strobo Light On", requestEmerlights)--stroboLightOn)
bindKey("1", "down", "Strobo Light On")
addEvent("onPlayerEmergencyLightStateChange")
Server-Side
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
local viaturas = { [436]=true,[490]=true,[404]=true }
function Sirene1(player,thePlayer,seat)
local vehicle = getPedOccupiedVehicle(player)
if(vehicle and viaturas[getElementModel(vehicle)])then
if getPedOccupiedVehicleSeat(player) == 1 or getPedOccupiedVehicleSeat(player) == 0 then
triggerClientEvent("startSireneSound",vehicle)
setElementData(vehicle, "SireneTocando1", true)
end
end
end
function onResStart1()
for index, player in ipairs(getElementsByType("player")) do
bindKey(player, "2", "down", Sirene1)
end
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onResStart1)
function onPlayerJoin1()
bindKey(source, "2", "down", Sirene1)
end
addEventHandler("onPlayerJoin", getRootElement(), onPlayerJoin1)
function cleanAll1(player)
for index, player in ipairs(getElementsByType("player")) do
unbindKey(player, "2", "down", Sirene1)
end
end
addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), cleanAll1)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
local viaturas3 = { [436]=true,[490]=true,[404]=true }
function Sireneamb2(player,seat)
local vehicle = getPedOccupiedVehicle(player)
if(vehicle and viaturas3[getElementModel(vehicle)])then
if getPedOccupiedVehicleSeat(player) == 1 or getPedOccupiedVehicleSeat(player) == 0 then
triggerClientEvent("startSireneSound3",vehicle)
setElementData(vehicle, "SireneTocando2", true)
end
end
end
function onResStart3()
for index, player in ipairs(getElementsByType("player")) do
bindKey(player, "3", "both", Sireneamb2)
end
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onResStart3)
function onPlayerJoin3()
bindKey(source, "3", "both", Sireneamb2)
end
addEventHandler("onPlayerJoin", getRootElement(), onPlayerJoin3)
function cleanAll3(player)
for index, player in ipairs(getElementsByType("player")) do
unbindKey(player, "3", "both", Sireneamb2)
end
end
addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), cleanAll3)
addEventHandler("onElementDestroy", getResourceRootElement(getThisResource()), function ()
local viaturas3 = { [436]=true,[490]=true,[404]=true }
local vehicle = getPedOccupiedVehicle(player)
if(vehicle and viaturas3[getElementModel(vehicle)])then
for index, player in ipairs(getElementsByType("player")) do
unbindKey(player, "3", "both", Sireneamb2)
unbindKey(player, "2", "down", Sirene1)
if (getElementData(vehicle, "SireneTocando1") == true) then
setElementData(vehicle, "SireneTocando1", false)
triggerClientEvent("startSireneSound",vehicle)
end
if (getElementData(vehicle, "SireneTocando2") == true) then
setElementData(vehicle, "SireneTocando2", false)
triggerClientEvent("startSireneSound3",vehicle)
end
end
end
end)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function onPlayerRequestEmerlight(value)
triggerClientEvent(getRootElement(), "setEmerlights", getRootElement(), getPlayerName(source), value)
end
addEvent("requestEmerlightChangeState", true)
addEventHandler("requestEmerlightChangeState", getRootElement(), onPlayerRequestEmerlight)
--> Furkan Özulus <--