SA-MP Forums Archive
Проблема с гангзонами - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Проблема с гангзонами (/showthread.php?tid=430898)



Проблема с гангзонами - Mass_Deboose - 15.04.2013

Вообщем делаю гангзоны, получается какая то муть, опять же что то с циклом, работает только для 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;
    } 
Помогите пожалуйста решить проблему.


Re: Проблема с гангзонами - Stepashka - 15.04.2013

Вот по этому всегда пишите все в отдельных строках!
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.


Re: Проблема с гангзонами - Mass_Deboose - 15.04.2013

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


Re: Проблема с гангзонами - Stepashka - 15.04.2013

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


Re: Проблема с гангзонами - Mass_Deboose - 15.04.2013

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
Что не так подскажите?


Re: Проблема с гангзонами - stabker - 15.04.2013

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


Re: Проблема с гангзонами - Mass_Deboose - 15.04.2013

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


Re: Проблема с гангзонами - Stepashka - 15.04.2013

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