event = false
addEvent("KorumaliAlan:AlanKontrol", true)
addEventHandler("KorumaliAlan:AlanKontrol", root, function(area,kontrol)
if kontrol == "Girdi" then
event = true
if event then
addEventHandler("onClientPlayerDamage", source, iptalFunc)
addEventHandler("onClientRender", root, render)
end
setRadarAreaFlashing(area, true)
elseif kontrol == "Cikti" then
event = false
removeEventHandler("onClientPlayerDamage", source, iptalFunc)
removeEventHandler("onClientRender", root, render)
setRadarAreaFlashing(area, false)
end
end)
function iptalFunc()
cancelEvent()
end
function render()
if event and getPedWeaponSlot(localPlayer) ~= 0 then
setPedWeaponSlot(localPlayer,0)
end
end
tablo = {}
alanlar = {--x,y, boyutX, boyutY, renk,aracEngel
{1264.45947,1311.32239,27,64,"CC0000",true},
}
kontroller = { -- alana girince/çıkınca aktif/deaktif edilcek kontroller
"fire", -- ateş
"aim_weapon", -- nişan alma
"next_weapon", -- sonraki silaha geçiş
"previous_weapon", -- önceki silaha geçiş
}
addEventHandler("onResourceStart", resourceRoot, function() -- bu script başladığında
for i,cols in ipairs (alanlar) do -- alanlar tablosunu döndürüyoruz
local x,y,bx,by,renk,aracengel = unpack(cols) -- verileri değişkene çıkartıyoruz
local r,g,b = hexToRGB( renk ) -- hex renk kodunu rgb dönüştürüyoruz
local alan = createColCuboid (x,y,-50,bx,by, 5000) -- belirlenen ölüçlerde alan oluşturuyoz
local area = createRadarArea (x,y,bx,by,r,g,b,170) -- belirlenen ölçülerde area oluşturuyoz(radarda gözükmesi için)
if not tablo[alan] then tablo[alan] = {} end -- eğer tabloda alan yoksa ekliyoruz
tablo[alan].area = area
tablo[alan].aracengel = aracengel
addEventHandler("onColShapeHit", alan, alanaGirince) -- alana girince işlev olcak func ekliyoruz
addEventHandler("onColShapeLeave", alan, alandanCikinca) -- alandan çıkınca işlev olcak func ekliyoruz
end
end)
function alanaGirince(giren) -- alana Girildiğinde
if isElement(giren) and getElementType(giren) == "player" then -- eğer giren varsa ve tipi "player" ise
for i,kontrl in pairs(kontroller) do toggleControl(giren, kontrl, false) end -- kontroller tablosundaki kontrolleri devredışı bırakıyoz
triggerClientEvent(giren, "KorumaliAlan:AlanKontrol", giren, tablo[source].area, "Girdi") -- cliente areayı gönderiyorz
end
end
function alandanCikinca(cikan) -- alandan çıkıldığında
if isElement(cikan) and getElementType(cikan) == "player" then -- eğer cikan varsa ve tipi "player" ise
for i,kontrl in pairs(kontroller) do toggleControl(cikan, kontrl, true) end -- kontroller tablosunda kontrolleri aktifleştiriyoruz
triggerClientEvent(cikan, "KorumaliAlan:AlanKontrol", cikan, tablo[source].area, "Cikti") -- cliente areayı yolluyoz
end
end
function hexToRGB( num )
num = string.gsub( num, "#", "" )
local r = tonumber( "0x" .. string.sub( num, 1, 2 ) ) or 255
local g = tonumber( "0x" .. string.sub( num, 3, 4 ) ) or 255
local b = tonumber( "0x" .. string.sub( num, 5, 6 ) ) or 255
return r, g, b
end