--exechack.cc/lua local wantTo = {} local joinCmd = 'addjob_' local removeCmd = 'removejob_' if rp && istable(rp.teams) && !istable(RPExtraTeams) then RPExtraTeams = rp.teams end local function GetJob(name) for k,v in ipairs(RPExtraTeams) do if v.name == name then return v, k end end return false end local function AC(cmd, arg) arg = arg:Trim() arg = arg:lower() local nameTbl = {} for k,v in ipairs(RPExtraTeams) do if v.name:lower():find(arg) then nameTbl[#nameTbl + 1] = joinCmd..' "'..v.name..'"' end end return nameTbl end local function RAC() local nameTbl = {} for k,v in pairs(wantTo) do v.name = v.name:lower() nameTbl[#nameTbl + 1] = removeCmd..' "'..v.name..'"' end return nameTbl end concommand.Add(joinCmd, function(ply, cmd, args) args[1] = args[1]:lower() local job = args[1] job, id = GetJob(job) if !job then print('Не найден джоб') return end if job.customCheck && !job.customCheck(LocalPlayer()) then print('Ты не подходишь по кастом чеку, ебаный шашлык') return end wantTo[id] = {players = 0, name = job.name} print(job.name..' добавлен') end, AC) concommand.Add(removeCmd, function(ply, cmd, args) local job = args[1] job,id = GetJob(job) if !wantTo[id] then print('Не найден джоб') return end wantTo[id] = nil local n = RPExtraTeams[id].name print(n..' удален') end, RAC) concommand.Add('getjobs', function() for k,v in ipairs(RPExtraTeams) do print(v.name) end end) timer.Create('TryJoinJob', .25, 0, function() for k,v in pairs(wantTo) do v.players = 0 end for k,v in ipairs(player.GetAll()) do if wantTo[v:Team()] then wantTo[v:Team()].players = wantTo[v:Team()].players + 1 end end for k,v in pairs(wantTo) do if LocalPlayer():Team() == k then continue end local t = RPExtraTeams[k] if v.players < t.max && (t.max != 0) then RunConsoleCommand('say', '/'..t.command) end end end)