SendClientMessageToAll

Материал из Pro-Pawn Wiki
Перейти к: навигация, поиск

Описание:

Отправляет всем игрокам сообщение, которое отображается в игровом чате.

Параметры:

(color, const message[])
color Цвет сообщения (см. ниже).
const message[] Текст сообщения.


Возвращаемое значение:

Всегда возвращает 1.

Info rhombus.png
Примечание
Цвет сообщения (параметр color) закодирован в формате 0xRRGGBBXX, где RR, GG и BB - градации красного, зелёного и синего, а XX не имеет никакого эффекта (возможно, ранее задумывался под прозрачность).
В текст сообщения также можно встраивать переключатели цвета в формате {RRGGBB}.
Пример:
SendClientMessage(playerid, 0xFF000000, "красный {00FF00}зелёный {0000FF}синий");

Вывод: красный зелёный синий.


Зачастую белый цвет в параметре color записывают как -1, поскольку это то же самое, что 0xFFFFFFFF, только в более кратком и удобном десятичном виде.


Bug.png
Баг SA-MP
Если текст сообщения длиннее 144 символов (145 с учётом завершающего '\0'), он не будет отправлен в чат.
Если в тексте сообщения присутствует символ '%', он не будет отображён в чате. Для того, чтобы правильно отобразить этот символ, его следует продублировать ("%%").


Bug.png
Баг SA-MP
Передача текста, содержащего форматный спецификатор %s или %n, приведёт к падению сервера.


Пример использования:

const ADVERTISEMENT_INTERVAL = 1000 * 60 * 10;
static const advertisement_messages[][] =
{
    "Наш сайт: example.com",
    "Не забудьте посетить нашу группу в VK: vk.com/...",
    "Помощь по командам сервера - /help, задать вопрос хелперам - /ask"
};

public AdvertisementTimer();
public AdvertisementTimer()
{
    static counter = 0;
    SendClientMessageToAll(-1, advertisement_messages[counter]));
    counter = (counter + 1) % sizeof(advertisement_messages);
}

main()
{
    // Установим таймер для вывода рекламы каждые 10 минут.
    SetTimer(!"AdvertisementTimer", ADVERTISEMENT_INTERVAL, true);
}


См. также: