Проблема с гангзонами
#1

Вообщем делаю гангзоны, получается какая то муть, опять же что то с циклом, работает только для 0 ида.
PHP код:
    for(new 0MAX_PLAYERSi++)
    {
        if(!
IsPlayerConnected(i)) continue;
        for(new 
zi 0zi sizeof(GangZone); zi++)
        {
              if(
zoneattack[GangZone[zi][gID]] == 1)
              {
                  if(
GangZone[zi][gAttack] >= 20)
                  {
                    
GangZone[zi][gAttack] = 0;
                    
zoneattack[GangZone[zi][gID]] = 0;
                    
SendClientMessage(iERROR"[1ТЕСТ]");
                  }
                  else 
GangZone[zi][gAttack]++; SetTimerEx("GangZoneAttackTime"10000"d",i);
              }
        }
    } 
Даже так побывал:
PHP код:
    for(new i!= MAX_PLAYERSi++)
    {
        if(!
IsPlayerConnected(i)) continue;
        for(new 
zi 0zi sizeof(GangZone); zi++)
        {
              if(
zoneattack[GangZone[zi][gID]] == 1)
              {
                  if(
GangZone[zi][gAttack] >= 20)
                  {
                    
GangZone[zi][gAttack] = 0;
                    
zoneattack[GangZone[zi][gID]] = 0;
                    
SendClientMessage(iERROR"[1ТЕСТ]");
                  }
                  else 
GangZone[zi][gAttack]++; SetTimerEx("GangZoneAttackTime"10000"d",i);
              }
        }
        return 
1;
    } 
Помогите пожалуйста решить проблему.
Reply
#2

Вот по этому всегда пишите все в отдельных строках!
pawn Код:
for (new i = 0; i < MAX_PLAYERS; i++)  {
    if (!IsPlayerConnected(i)) continue;
    for (new zi = 0; zi < sizeof(GangZone); zi++) {
        if (zoneattack[GangZone[zi][gID]] == 1) {
            if (GangZone[zi][gAttack] >= 20) {
                GangZone[zi][gAttack] = 0;
                zoneattack[GangZone[zi][gID]] = 0;
                SendClientMessage(i, ERROR, "[1ТЕСТ]");
            } else {
                GangZone[zi][gAttack]++;
                SetTimerEx("GangZoneAttackTime", 1000, 0, "d",i);
            }
        }
    }
}
Твой таймер вызывался всегда, а не только при else.
Reply
#3

Все равно только для 0 ида.
Reply
#4

zoneattack ни как не связана с игроками, и после того как игрока с ID 0 проверили, в ней сплошь 0.
Reply
#5

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
zoneattack ни как не связана с игроками, и после того как игрока с ID 0 проверили, в ней сплошь 0.
Вот:
PHP код:
new zoneattack[48]; 
При атаке зоны, присваиваю значение 1:
PHP код:
zoneattack[GangZone[i][gID]] = 1
Вот в таймере использую проверку:
PHP код:
if(zoneattack[GangZone[zi][gID]] == 1
Что не так подскажите?
Reply
#6

GangZone[zi][gID] хранит реальный ид ганг зоны? Если да, то это все не правильно
Reply
#7

Quote:
Originally Posted by stabker
Посмотреть сообщение
GangZone[zi][gID] хранит реальный ид ганг зоны? Если да, то это все не правильно
Нет. Степашка, спасибо, проблему решил.
Reply
#8

А должно быть так:
pawn Код:
new zoneattack[MAX_PLAYERS][48];
И да выше правильно подметили.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)