Search the Community
Showing results for tags 'autobalance'.
-
Always see some sort of automove talk on here, so here is a simple automove that works well and i have been using on my server for months, modified quiet a bit to be usable by anyone. -- automove redone. function et_InitGame(levelTime,randomSeed,restart) et.RegisterModname("^1D^0Ri Team Balance") players = { } players[0] = 0 --all players[1] = 0 --axis players[2] = 0 --allies players[3] = 0 --spectators end function et_Obituary(client, killer, death) axiskilled = 0 allieskilled = 0 count2 = 0 player_name2 = GetPlayerName(client) local game_state = tonumber(et.trap_Cvar_Get("gamestate")) local player_team = et.gentity_get(client, "sess.SessionTeam") if game_state ~= 1 and game_state ~= 2 then players[0] = 0 --all players[1] = 0 --axis players[2] = 0 --allies players[3] = 0 --spectators for i = 0, tonumber(et.trap_Cvar_Get("sv_maxclients")) -1, 1 do local teamnumber = tonumber(et.gentity_get(i,"sess.sessionTeam")) if et.gentity_get(i,"pers.connected") == 2 then players[0] = players[0] + 1 players[teamnumber] = players[teamnumber] + 1 end end if (( (players[1] - players[2]) > 1 and player_team == 1 ) or ( (players[2] - players[1]) > 1 and player_team == 2 )) then if player_team == 1 then axiskilled = 1 else allieskilled = 1 end et.trap_SendServerCommand(-1, "chat \"^3Automoving " .. player_name2 .. " ^3as teams were uneven... \"") end end return nil end function et_RunFrame() if axiskilled == 1 then delayaxis() elseif allieskilled == 1 then delayallies() end end function delayaxis() count2 = count2 + 1 if count2 >= 5 then --every 5 deaths move the next player that dies et.trap_SendConsoleCommand( et.EXEC_APPEND, "putteam " .. player_name2 .. " b") count2 = 0 axiskilled = 0 end end function delayallies() count2 = count2 + 1 if count2 >= 5 then--every 5 deaths move the next player that dies et.trap_SendConsoleCommand( et.EXEC_APPEND, "putteam " .. player_name2 .. " r") count2 = 0 allieskilled = 0 end end function GetPlayerName(client) return et.Q_CleanStr(et.gentity_get(client, "pers.netname")) end function et_ShutdownGame(restart) end