Quote:
Originally Posted by Mass_Deboose
James_Braga, спасибо, проблему решил, все таки дело не в MAX_PLAYERS, а в IsPlayerConnected?
|
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)).