Замена 1
Код:
#if defined MAX_PLAYERS #undef MAX_PLAYERS #define MAX_PLAYERS 100 #else #define MAX_PLAYERS 100 #endif
Замена 2
Код:
new PLIDs[MAX_PLAYERS]; new MaxPlayers = 0;
Очистим весь массив PLIDs при инициализации мода OnGameModInit:
Код:
for(new i=0;i<sizeof(PLIDs);i++){PLIDs[i] = -1;}Теперь надо добавить в паблик OnPlayerConnect необходимые операции с глобальными переменными:
Код:
PLIDs[MaxPlayers] = playerid; MaxPlayers++;
С пабликом OnPlayerDisconnect все немного сложнее. Игрок выходит, тоесть слот в PLIDs который занимала его ИД надо очистить. Но мне не нужен пустой слот, поэтому я присваиваю ему значение самого последнего слота PLIDs, и вот последний уже очищаю:
Код:
for(new i=0;i<MaxPlayers;i++)
{
if(PLIDs[i] == playerid)
{
MaxPlayers--;
PLIDs[i] = PLIDs[MaxPlayers];
PLIDs[MaxPlayers] = -1;
break;
}
}Пример:
Код:
for(new i=0;i<MaxPlayers;i++)
{
SendClientMessage(PLIDs[i], -1, "Message");
}