Суть в том чтобы сделать радио которое будет передавать из своей машины репортёр, и слышать будет игрок находящийся в другой машине. Сначала добавим массив игроков,для того чтобы потом ставить флажки
Code
new ether[MAX_PLAYERS];
Теперь сделаем команду для репортёров,чтобы начать трансляцию.
Code
if(strcmp(cmdtext, "/ether", true) == 0)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == id || PlayerInfo[playerid][pLeader] == id)//Тут ид фракции
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 582)//Проверяем в фургоне ли он
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)//Надо быть пассажиром чтобы начать трансляцию
{
ether[playerid] = 1;//Если все условия выполнены ставим флажок
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "(( Сядте в кузов фургона для начала радио вещания. ))");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "(( Вы должны быть в фургоне репортёров. ))");
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "(( Вы не репортёр. ))");
}
}
return 1;
}
Теперь в public OnPlayerExitVehicle
Code
ether[playerid] = 0;//Вышел из машины трансляцию закончил
И теперь в realchat добавим
Code
if(ether[playerid] == 1 && GetPlayerState(playerid) == 3 && GetVehicleModel(GetPlayerVehicleID(playerid)) == 582)
{
for(new i = 0;i < MAX_PLAYERS;i++)
{
if(IsPlayerInAnyVehicle(i))
{
format(string, sizeof(string), "[Радио Эфир]%s: %s", sendername,text);
SendClientMessage(i,COLOR_LIGHTRED, string);
}
}
}
Автор: Impereal.