- Система раций с выбором канала (для Godfather).
- Описание: Вы используйте команду /canal [1-10000] для выбора нужной вам частоты.
После выбора частоты вы автоматический подключайтесь к выбранному вами каналу и можете активно вести общение с помощью команды /rс [текст].
Так-же другой инной игрок может подключиться к вашей частоте.
- Создаем forward
- Далее добавляем ко всем new
- Далее в public OnPlayerConnect добавляем (думаю разберетесь куда добавлять).
- Далее создаем public
- Далее в public OnPlayerCommandText добавляем команды
- Урок от: NOD32
- Если у вас возникнут какие либо проблемы по данной функции, обращайтесь.
- Описание: Вы используйте команду /canal [1-10000] для выбора нужной вам частоты.
После выбора частоты вы автоматический подключайтесь к выбранному вами каналу и можете активно вести общение с помощью команды /rс [текст].
Так-же другой инной игрок может подключиться к вашей частоте.
- Создаем forward
- Код:
forward SendRcanalMessage(canal, color, string[]);
- Далее добавляем ко всем new
- Код:
new Rcanal[MAX_PLAYERS];
- Далее в public OnPlayerConnect добавляем (думаю разберетесь куда добавлять).
- Код:
Rcanal[playerid] = 0;
- Далее создаем public
- Код:
public SendRcanalMessage(canal, color, string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Rcanal[i] == canal)
{
SendClientMessage(i, color, string);
}
}
}
}
- Далее в public OnPlayerCommandText добавляем команды
- Код:
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);
}
}
- Урок от: NOD32
- Если у вас возникнут какие либо проблемы по данной функции, обращайтесь.