Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Рация с выбором канала.

Статус
В этой теме нельзя размещать новые ответы.

MaSyan

Новичок
Система раций с выбором канала (для Godfather).
Описание: Вы используйте команду /canal [1-10000] для выбора нужной вам частоты.
После выбора частоты вы автоматический подключайтесь к выбранному вами каналу и можете активно вести общение с помощью команды /rс [текст].
Также другой инной игрок может подключиться к вашей частоте.

1. Создаем forward.

PHP:
forward SendRcanalMessage(canal, color, string[]);
2. Добавляем ко всем new.

PHP:
new Rcanal[MAX_PLAYERS];
3. В public OnPlayerConnect добавляем.

PHP:
Rcanal[playerid] = 0;
4. Создаем public.

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); 
            } 
        } 
    } 
}
4. В public OnPlayerCommandText добавляем.

PHP:
if(strcmp(cmd, "/rc", 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; 
    }
PHP:
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); 
        } 
    }
Урок от MaSyan`a (Габидуллин А.А)

ВАЖНО: Данная функция была проверена на игровом моде Godfather. Если у вас возникнут какие либо вопросы по данной функции, вы можете задать их здесь. С радостью вам помогу.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу