Цикл крашит

Тема в разделе "Программирование / Скриптинг", создана пользователем Hejter, 5 ноя 2015.

  1. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Цикл крашит сервер. Что не так?

    PHP:
        count 0;
        for(new 
    1<= MaxClientsX++)
        {
            if(
    IsClientValid(X))
            {
                
    count ++;
                
    CreateTimer(1.0RespawnX);
                
    GetName(X);
            }
        }
     
  2. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    Hejter, ф-и гет нейм и ис валид клиент
     
  3. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Что значит ф-и?

    PHP:
    GetName(client)
    {
        new 
    nombre GetRandomInt(08);
        if(
    nameUse[nombre])
            
    GetName(client);
        else
        {
            if(
    nombre == 0)
                
    tempName[client] = "Aatrox";
            else if(
    nombre == 1)
                
    tempName[client] = "Ahri";
            else if(
    nombre == 2)
                
    tempName[client] = "Blitzcrank";
            else if(
    nombre == 3)
                
    tempName[client] = "Braum";
            else if(
    nombre == 4)
                
    tempName[client] = "Cho'Gath";
            else if(
    nombre == 5)
                
    tempName[client] = "Darius";
            else if(
    nombre == 6)
                
    tempName[client] = "Evelynn";
            else if(
    nombre == 7)
                
    tempName[client] = "Fizz";
            else if(
    nombre == 8)
                
    tempName[client] = "Fiddlestick";
            
            
    nameUse[nombre] = true;
        }
    }

    PHP:
    IsClientValid(X)
    {
        if(
    && IsClientConnected(X) && IsClientInGame(X) && IsClientAuthorized(X) && !IsFakeClient(X))
            return 
    true;
        else
            return 
    false;
    }

    Если я правильно понял..
     
  4. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.972
    Симпатии:
    2.978
    1. Лучше switch.
    2. strcopy а не =.
    3. В цикле лучше проверять IsClientInGame(X) && !IsFakeClient(X) т.к. остальное из IsClientValid там не нужно.

    и можно сразу
    PHP:
    return (&& IsClientConnected(X) && IsClientInGame(X) && IsClientAuthorized(X) && !IsFakeClient(X));
    Делай дебаг в лог перед каждым шагом и увидишь на каком этапе краш
     
  5. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Спасибо, буду копать.