28 lines
502 B
Lua
28 lines
502 B
Lua
|
GM.MaxChannels = {}
|
||
|
GM.MaxChannels["prop_gunturret"] = 7
|
||
|
|
||
|
function GM:GetFreeChannel(class)
|
||
|
local max = self.MaxChannels[class]
|
||
|
if not max then return 1 end
|
||
|
|
||
|
local taken_channels = {}
|
||
|
|
||
|
for _, ent in pairs(ents.FindByClass(class)) do
|
||
|
if ent:IsValid() and ent.GetChannel then
|
||
|
taken_channels[ent:GetChannel()] = true
|
||
|
end
|
||
|
end
|
||
|
|
||
|
for i=1, max do
|
||
|
if not taken_channels[i] then
|
||
|
return i
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return -1
|
||
|
end
|
||
|
|
||
|
function GM:HasFreeChannel(class)
|
||
|
return self:GetFreeChannel(class) >= 1
|
||
|
end
|