sm ругается на плагин, а причину понять не могу

Тема в разделе "Программирование / Скриптинг", создана пользователем 8Ahnenerbe8, 3 авг 2016.

  1. 8Ahnenerbe8

    8Ahnenerbe8

    Сообщения:
    102
    Симпатии:
    11
    Есть у меня простенький плагин для безлимитной возможности смены команды.
    Code:
    PHP:
    public OnPluginStart()
    {
        
    AddCommandListener(Command_JoinTeam"jointeam");
        
    AddCommandListener(Command_JoinTeam"spectate");
    }

    public 
    Action:Command_JoinTeam(client, const String:command[], argc)
    {
        if(
    StrEqual(command"jointeam"))
        {
            
    decl String:sArg[192];
            
    GetCmdArgString(sArgsizeof(sArg));
           
            new 
    team StringToInt(sArg);
           
            if(
    team == || team == 3)
            {
                
    CS_SwitchTeam(clientteam);
                
    CS_RespawnPlayer(client);
            }
            else if(
    team == 0)
            {
                
    CS_SwitchTeam(clientGetRandomInt(23));
                
    CS_RespawnPlayer(client);
            }
            else if(
    team == 1)
            {
                
    ChangeClientTeam(client1);
            }
        }
        else
        {
            
    ChangeClientTeam(client1);
        }

        return 
    Plugin_Handled;
    }
    И вот сегодня появилось в логах такое сообщение:
    L 08/03/2016 - 12:44:32: [SM] Exception reported: Client 1 is not in game
    L 08/03/2016 - 12:44:32: [SM] Blaming: bTimes-random.smx()
    L 08/03/2016 - 12:44:32: [SM] Call stack trace:
    L 08/03/2016 - 12:44:32: [SM] [0] ChangeClientTeam
    L 08/03/2016 - 12:44:32: [SM] [1] Line 246, C:\Users\Home\Desktop\servercsgo\scripting\bTimes-random.sp::Command_JoinTeam()
    Ругается на это:
    PHP:
    else
        {
            
    ChangeClientTeam(client1);
        }
    А почему ругается я не могу понять, может вы подскажете?
    Хочу уточнить, что такое в логах вижу первый раз, хотя плагин давно стоит.
     
  2. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.551
    Симпатии:
    1.141
    Сделай проверку на клиента в игре.
    IsClientInGame(int client)
     
  3. 8Ahnenerbe8

    8Ahnenerbe8

    Сообщения:
    102
    Симпатии:
    11
    @Серый™, окей, ссылался на это, но вроде как jointeam/spectate выполняется только когда игрок уже в игре
    спасибо
     
  4. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.551
    Симпатии:
    1.141
    @8Ahnenerbe8, тут же ясно написано в чём проблема Exception reported: Client 1 is not in game
    PHP:
    public Action:Command_JoinTeam(client, const String:command[], argc)
    {
        if(!
    IsClientInGame(client))
            return 
    Plugin_Handled;
     
    Последнее редактирование: 3 авг 2016