11.04.2013, 18:33
Quote:
for(new i; i != MAX_PLAYERS; i++)
new i; - переменная внутри цикла, i = 0 по стандарту. i != MAX_PLAYERS; - если i(0) не равно MAX_PLAYERS(500), если 0 не равно 500 то i++ - повышаем переменную, тоесть i+1 = 1 далее действие в скобках if(!IsPlayerConnected(i)) continue; дело в i, ты вместо одного ид с цикла использовал MAX_PLAYERS которая по стандарту = 500, если бы у тебя на сервере был бы человек с 500 ид то для него может быть всё и сработало. if(!IsPlayerConnected(i)) - проверяем подключён ли этот id с цикла к серверу. если i = 42 а 42 ид нет на сервере(тоесть не подключён) то пропускаем 42 ид, и переходим уже к 43 ид (так как i != MAX_PLAYERS; i++) если 43 ид подключён к серверу и бегает где то по штату, то continue; не выполняется так как он IsPlayerConnected(i) - подключён к серверу. Далее идёт действие после if(!IsPlayerConnected(i)). ps: Обновил пост выше if(!IsPlayerConnected(i)) а не if(!IsPlayerConnected(playerid)). |
Code:
#undef MAX_PLAYERS #define MAX_PLAYERS 100