кикает игроков из спектров при старте матча Warmod

artyrka94

Участник
Сообщения
181
Реакции
38
помогите исправить ошибки
плагин должен кикнуть игроков из спектров при старте матча, кроме админов , и в дальнейшем не пропускать на сервер если играют 10 игроков, но админы чтоб могли зайти
PHP:
#include <sourcemod> 
#include <cstrike>

new Handle:gPluginEnabled = INVALID_HANDLE;
new Handle:gMinPlayers = INVALID_HANDLE;

public Plugin:myinfo = 
{
    name = "Kick_client_for_Warmod",
    author = "artyrka94 hlmod.ru",
    description = "",
}

public OnPluginStart() 
{  
    HookEvent("player_team", Event); 
    HookEvent("player_spawn", Event);
    HookEvent("live_on_3", live);
       
	 new MaxClients = GetMaxClients();
	
	gPluginEnabled = CreateConVar( "sm_kickwar", "0" );
	gMinPlayers = CreateConVar( "sm_kickwar_minplayers", "10" );
} 

public live(Handle:event, const String:name[], bool:dontBroadcast)
{
    new client = GetClientOfUserId(GetEventInt(event, "userid"));

     if (client > 0)
     {
         for (new i = 1; i <= MaxClients; i++) 
       { 
               if (IsClientInGame(i) && GetClientTeam(i) == 1 && IsClientSourceTV(i) != 1)
               {
               if (GetUserFlagBits(client) & ADMFLAG_GENERIC) 
				         { 

				         }
				           else
				          KickClient(client, "Матч начался!");
				     }
       }
           
		}
}

public Action:Event(Handle:event, String:name[], bool:dontBroadcast) 
{ 
    new client = GetClientOfUserId(GetEventInt(event, "userid")); 
    HandleTag(client); 
} 

public OnClientPostAdminCheck(client) 
{ 
	HandleTag(client);
} 

HandleTag(client) 
{ 

       new teams;
 for (new i = 1; i <= MaxClients; i++) 
       { 
               if (IsClientInGame(i) && GetClientTeam(i) != 1) teams++; 
       }

  if (client > 0 && GetConVarInt( gPluginEnabled ) == 1 && teams == gMinPlayers) 
  { 
    if (GetUserFlagBits(client) & ADMFLAG_ROOT) 
    { 

    }
		else
				if (GetUserFlagBits(client) & ADMFLAG_GENERIC) 
				{ 

				}
				else
					if (GetUserFlagBits(client) & ADMFLAG_RESERVATION) 
					{ 

					}    
						else
						{ 
							KickClient(client, "Матч начался!");
						} 
  }
}
 
Последнее редактирование модератором:

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Пробуй
PHP:
#include <sourcemod> 
#include <sdktools>

public OnMapStart() CreateTimer(10.0, Timer, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);

public Action:Timer(Handle:timer) FunctionKickClient();

public OnClientAuthorized(client, const String:auth[]) FunctionKickClient();

stock FunctionKickClient()
	if (GetTeamClientCount(2) == 5 && GetTeamClientCount(3) == 5)
		for (new i = 1; i <= MaxClients; i++)
			if (IsClientInGame(i) && GetClientTeam(i) == 1 && !IsClientSourceTV(i) && !(GetUserFlagBits(i) & ADMFLAG_GENERIC))
				KickClient(i, "Начало матча");
Криво вставился, кидаю файлом..
 

Вложения

  • kick players.sp
    572 байт · Просмотры: 18

artyrka94

Участник
Сообщения
181
Реакции
38
я уже и не рассчитывал что мне в тему кто то отпишется, поэтому смог разобраться сам) но все равно спасибо)
 

Romeo98rus

Участник
Сообщения
193
Реакции
5
а т его выкладывать не будешь?
Пригодился бы!
 
Сверху Снизу