Это что?
PHP код:
public OnPlayerStreamIn(playerid, forplayerid)
{
Iter_Add(players_streamed[forplayerid], playerid);
if(!_start_tdm_game) return true; // Значение устанавливается
if(!check_registration_tdm[playerid] || !check_registration_tdm[forplayerid]) return true;
if(my_commands[playerid] == my_commands[forplayerid])
{
SetPlayerMarkerForPlayer(playerid, forplayerid, (GetPlayerColor(forplayerid) & 0xFFFFFFFF));
SetPlayerMarkerForPlayer(forplayerid, playerid, (GetPlayerColor(playerid) & 0xFFFFFFFF));
}
else
{
SetPlayerMarkerForPlayer(playerid, forplayerid, (GetPlayerColor(forplayerid) & 0xFFFFFF00));
SetPlayerMarkerForPlayer(forplayerid, playerid, (GetPlayerColor(playerid) & 0xFFFFFF00));
}
return true;
}
Для корректной работы прежде нужно установить цвет игрокам каждой команды:
SetPlayerColor(playerid, ... );
Далее:
Если в
OnGameModeInit установлена, либо отсутствует функция
PHP код:
ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL)
следует использовать CallBack, чтоб при выходе из зоны прорисовки маркеры так же скрывались
PHP код:
public OnPlayerStreamOut(playerid, forplayerid)
{
Iter_Add(players_streamed[forplayerid], playerid);
if(!_start_tdm_game) return true; // Значение устанавливается
if(!check_registration_tdm[playerid] || !check_registration_tdm[forplayerid]) return true;
if(my_commands[playerid] == my_commands[forplayerid])
{
SetPlayerMarkerForPlayer(playerid, forplayerid, (GetPlayerColor(forplayerid) & 0xFFFFFFFF));
SetPlayerMarkerForPlayer(forplayerid, playerid, (GetPlayerColor(playerid) & 0xFFFFFFFF));
}
else
{
SetPlayerMarkerForPlayer(playerid, forplayerid, (GetPlayerColor(forplayerid) & 0xFFFFFF00));
SetPlayerMarkerForPlayer(forplayerid, playerid, (GetPlayerColor(playerid) & 0xFFFFFF00));
}
return true;
}
Не забываем ознакомиться с
ShowPlayerMarkers
.