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

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

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

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

/msg

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

Kill_Monger

Новичок
Доброго времени суток, сегодня решил выложить команду /msg.

Ко всем #define добавляем

PHP:
#define SCM SendClientMessage
PHP:
#define COLOR_GREY 0xB4B4B4FF
PHP:
#define COLOR_YELLOW 0xFFFF00FF
PHP:
#define SCMTA SendClientMessageToAll
PHP:
#define GN(%1)  Player[%1][pName]
PHP:
#define f(           format(string, sizeof(string),
Также, нам нужен командный процессор DC_CMD и и палагин sscanf2.

Естественно, нам нужно их подключить.

В начале мода пишем

PHP:
#include dc_cmd
PHP:
#include sscanf2
Все же приступим к самой команде.

PHP:
CMD:msg(playerid, params[])
{
    new string[128]; 
    if(Player[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду"); 
    if(sscanf(params, "s[128]", params[0])) return SCM(playerid, COLOR_WHITE, "Введите: /msg [объявление]"); 
    f("Администратор %s[%d]: %s", GN(playerid), playerid, params[0]);
    SCMTA(COLOR_YELLOW, string);
    return true;
}
Теперь объясню, каждую функцию в команде.

PHP:
new string[128];
- берем string для вывода самого текста.
PHP:
if(Player[playerid][pAdmin] < 1) return SendClientMessage(playerid, COLOR_GREY, "Вы не уполномочены использовать эту команду");
- проверка на наш уровень админки, если он будет равен 0, то команду мы не сможем использовать.
PHP:
if(sscanf(params, "s[128]", params[0])) return SCM(playerid, COLOR_WHITE, "Введите: /msg [объявление]");
- Если мы не ввели params[0], то есть сам текст, нам покажет подсказку..
PHP:
f("Администратор %s[%d]: %s", GN(playerid), playerid, params[0]);
- с помощью этой функции используем наш string, и задаем параметры с помощью которых, компилятор будет определять ник администратора,его id и сам веденный текст.
PHP:
SCMTA(COLOR_YELLOW, string);
- используем SendClientMessageToAll для вывода текста всем игрокам


PHP:
CMD:msg(playerid, params[])
{
    if(isnull(params))
        return SendClientMessage(playerid, -1, !"Используйте: /msg [сообщение]");

    new
        string[MAX_CHATBUBBLE_LENGTH + 1];

    GetPlayerName(playerid, string, MAX_PLAYER_NAME);

    format(string, sizeof(string), "Администратор %s[%d]: %s", string, playerid, params);
    SendClientMessageToAll(0xFFFF00AA, string);
    
    return 1;
}
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу