JIEON_COJIORS
Умник
- Система раций с выбором канала.
- Описание: Вы используйте команду /canal [1-10000] для выбора нужной вам частоты.
После выбора частоты вы автоматический подключайтесь к выбранному вами каналу и можете активно вести общение с помощью команды /rс [текст].
Так-же другой инной игрок может подключиться к вашей частоте.
- Создаем forward
- Далее добавляем ко всем new
- Далее в public OnPlayerConnect добавляем (думаю разберетесь куда добавлять).
- Далее создаем public
- Далее в public OnPlayerCommandText добавляем команды
- Описание: Вы используйте команду /canal [1-10000] для выбора нужной вам частоты.
После выбора частоты вы автоматический подключайтесь к выбранному вами каналу и можете активно вести общение с помощью команды /rс [текст].
Так-же другой инной игрок может подключиться к вашей частоте.
- Создаем forward
PHP:
forward SendRcanalMessage(canal, color, string[]);
- Далее добавляем ко всем new
PHP:
new Rcanal[MAX_PLAYERS];
- Далее в public OnPlayerConnect добавляем (думаю разберетесь куда добавлять).
PHP:
Rcanal[playerid] = 0;
PHP:
public SendRcanalMessage(canal, color, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Rcanal[i] == canal)
{
SendClientMessage(i, color, string);
}
}
}
}
PHP:
if(strcmp(cmd, "/rс", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMuted] == 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, " Вы не можете писать, у вас молчанка"); // Проверка на молчанку
return 1;
}
if(PlayerInfo[playerid][pRadio] == 0)
{
SendClientMessage(playerid, COLOR_GRAD2, "У вас нет рации, купите ее в магазине 24/7"); // Проверка на наличие на рации
return 1;
}
if(Rcanal[playerid] < 1)
{
SendClientMessage(playerid, TEAM_CYAN_COLOR, "Вы не на частоте. Подключитесь, используя /canal (номер канала от 0 по 10000)");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /rc [текст]");
return 1;
}
format(string, sizeof(string), "(%d) %s: %s", Rcanal[playerid], sendername, result);
SendRcanalMessage(Rcanal[playerid], TEAM_CYAN_COLOR, string);
return 1;
}
return 1;
}
if(strcmp(cmd, "/canal", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pRadio] == 0)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "У вас нет рации");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /canal [номер канала[(1-10000)]");
return 1;
}
new canal;
canal = strval(tmp);
if(canal > 10000|| canal < 1)
{
SendClientMessage(playerid, COLOR_GREY, "Номер канала от 1 по 10000!");
return 1;
}
Rcanal[playerid] = canal;
format(string, sizeof(string), "Вы подключились к частоте номер %d", canal);
SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
}
}
