Скриптер
Проверенный
Пользователь
- Сообщения
- 3,582
- Реакции
- 1,570
- Помог
- 137 раз(а)
#include <amxmodx>
#include <cstrike>
new bool:flaged[ 33 ], g_iMaxPlayers, IsBot[ 33 ], cTransfers[ 33 ], bool:Transferring;
#define MaxDiff 1 // максимальная разрешенная разница в командах
#define ImunFlag ADMIN_LEVEL_E // флаг для имунитета от перемещений
public plugin_init( )
{
register_plugin("AUTO BALANCE BOT & HUMANS", "0.1", "ko1dun");
g_iMaxPlayers = get_maxplayers( );
}
public client_putinserver( id )
{
flaged[ id ] = bool:( get_user_flags( id ) & ImunFlag );
IsBot[ id ] = is_user_bot( id );
cTransfers[ id ] = 0;
}
public client_death(killer, id)
{
if( Transferring || flaged[ id ] || !is_user_connected( id ) || cTransfers[ id ] >= 3 )
return;
new CsTeams:MyTeam = cs_get_user_team( id ), iPlayers[2][CsTeams];
for( new i=1; i <= g_iMaxPlayers; i++)
if( is_user_connected( i ) )
iPlayers[ IsBot[ i ] ][ cs_get_user_team( i ) ]++;
MyTeam = GetTeamTransfer( id, iPlayers, MyTeam )
if( MyTeam == CS_TEAM_UNASSIGNED )
return;
set_dhudmessage(random(255), random(255), random(255), 0.01, 0.9, 0, 6.0, 3.0, 0.1, 1.5 )
show_dhudmessage(id, "Вы будете перекинуты!")
Transferring = true, cTransfers[ id ]++;
new parms[2]; parms[0] = id, parms[1] = _:MyTeam;
set_task( 1.0, "set_newteam", 0, parms, 2 );
}
stock CsTeams:GetTeamTransfer(id, iPlayers[2][CsTeams], CsTeams:MyTeam)
{
new diff = ( iPlayers[ IsBot[ id ] ][ CS_TEAM_T ] ) - ( iPlayers[ IsBot[ id ] ][ CS_TEAM_CT ] );
if( diff > MaxDiff && MyTeam != CS_TEAM_CT )
return CS_TEAM_CT;
else if( diff < -MaxDiff && MyTeam != CS_TEAM_T )
return CS_TEAM_T;
return CS_TEAM_UNASSIGNED;
}
public set_newteam( parms[ 2 ] )
{
if( is_user_connected( parms[ 0 ] ) )
{
set_dhudmessage( random(255), random(255), random(255), 0.01, 0.9, 0, 6.0, 3.0, 0.1, 1.5 )
show_dhudmessage( parms[ 0 ], "Вас перекинуло!" )
cs_set_user_team( parms[ 0 ], CsTeams:parms[ 1 ]);
}
Transferring = false
}
Поподробнее.Как же тут много мусора.
У меня не завязана логика на событии смерти.после смерти
Можно конструктивную критику, если она вообще у тебя имеется? А то всё, что ты сейчас написал является делом вкуса + потребностями отдельного сервера.перебор для DM сервера