Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google Log In with Steam Sign In
  • Create Account
Photo

even teams

- - - - -

  • Please log in to reply
4 replies to this topic

#1
OFFLINE   twiti

twiti

    Member

  • Members
  • PipPip
  • 37 posts
19
On a distinguished road
Hi guys,

I got a question: is it possible to configure server running silent 0.6.1 to keep teams even by numbers?
Current settings:

omnibot_enable 1
g_teamforcebalance 1
g_playerCounting 13
g_unevenTeamDiff 2
g_unevenTeamFreq 30

Problem is that players are able to join team with more players from spec(limbo or /team).
Is there any way to prevent that?
I also tried etpub lua script http://etpub.org/vie...c.php?f=10&t=45, it didnt work.
Thanks in advance for any info :D

#2
OFFLINE   loudness

loudness

    Newbie

  • Members
  • Pip
  • 13 posts
6
A step in the right direction
  • LocationBucharest

Hello silent devs and all ppl around here...

first ...sorry for my english...

and .. i have a lua script active like 1 year on our silent server..and its works...if 1 team have 2 or more players avantage ...the script moves first plwyer who die from oponent team....i share whit you and i hope is help..credits for this script go to DMG Deevious

 

-- [ Local Functions ]
function GetPlayerGUID(client)
  local player_guid = et.Info_ValueForKey(et.trap_GetUserinfo(client), "sil_guid" )
  if player_guid == "NO_GUID" or player_guid == "unknown" then 
    return true
  end
  return player_guid
end

function GetPlayerName(client)
  return et.Q_CleanStr(et.gentity_get(client, "pers.netname"))
end


-- [ Wolf Callbacks ]
function et_InitGame(levelTime,randomSeed,restart)
  et.RegisterModname("DMG Team Balance #1")
  
  players = { }
  players[0] = 0 --all
  players[1] = 0 --axis
  players[2] = 0 --allies
  players[3] = 0 --spectators
end


function et_ShutdownGame(restart)
  -- nimic
end

function et_Obituary(client, killer, death)
  local player_guid = GetPlayerGUID(client)
  local player_name = GetPlayerName(client)
  local game_state = tonumber(et.trap_Cvar_Get("gamestate"))
  local player_team = et.gentity_get(client, "sess.SessionTeam")

  if player_guid == nil then
    return nil
  end
  
  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
      else
        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
      -- Axis > allies si player la axis sau allies > axis si player la axis
      if player_team == 1 then
        -- player la axis - mut la allies
        et.trap_SendConsoleCommand( et.EXEC_APPEND, "putteam " .. player_name .. " b")
      else
        -- player la allies - mut la axis
        et.trap_SendConsoleCommand( et.EXEC_APPEND, "putteam " .. player_name .. " r")
      end
      et.G_globalSound( "sound/loudness/teams.wav" )
      et.trap_SendServerCommand(-1, "chat \"^1URAAA...^8 FII FERICIT ,^7 " .. player_name .. " ^8SERVERUL TE-A ^1SACRIFICAT ^8SI MUTAT IN SPIRITUL FAIRPLAY-ULUI! ^0DMG ^4FAIRPLAY ^8SCRIPT IN ACTION ... \"")
      et.G_globalSound( "sound/loudness/hurrah.wav" )
    end
  end

  return nil
end

 

 

is not perfect but teams are always even visualy(number of players) ....and now i need help to make a function or condition...i want to capture in lua the !howfair result...and use in script like condition....

tks..

 

btw - you must moodify this line for your server ..write anything you want there..and the sound :)

 

et.trap_SendServerCommand(-1, "chat \"^1You have been moved  ,^7 " .. player_name .. " ^8tks for being fairplay \"")

enjoy



#3
OFFLINE   wawin

wawin

    Member

  • Members
  • PipPip
  • 38 posts
4
A step in the right direction

Its working, but you can have 6 bots to allies team and 6 real players to axis team.



#4
OFFLINE   wawin

wawin

    Member

  • Members
  • PipPip
  • 38 posts
4
A step in the right direction

Maybe we need 2 lua scripts one for real players and the second for bots.



#5
OFFLINE   loudness

loudness

    Newbie

  • Members
  • Pip
  • 13 posts
6
A step in the right direction
  • LocationBucharest

this script will move bots...is only about number of players...but...fair teams is not mean 6vs6...can be 4bots+ 2 players vs 6 players and real playes cry...i need some help to get info about teams in lua...if teams are even(!howfair result)  the script to be passive ...or to move last connected player...

 

maybe other admins,lua programers will read this topic....and will help ..we have the server in one shity country ....all want fairplay but from others..nobody give a shit...so...we need a script like this...but more advanced...sometime...1 player is moved manny times...not so good...and is not so even..






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users