Команда смены личного цвета ника

Активный
Статус
Сообщения
516
Лайки
32

8

месяц на сайте

Идея и назначение

Игрок может настроить цвет своих сообщений в чате.

Подходит для кастомизации и выделения важных игроков.


Суть реализации

1. Храним цвет чата для каждого игрока.

2. Команда /mycolor принимает HEX цвет в виде числа.

3. В обработчике чата используем сохранённый цвет.


Реализация

Код:
new PlayerChatColor[MAX_PLAYERS] = {0xFFFFFFFF, ...};


CMD:mycolor(playerid, params[])
{
    new color;

    if(sscanf(params, "x", color))
        return SendClientMessage(playerid, -1, "Используй: /mycolor [HEX]. Пример: /mycolor FFFFFF.");

    PlayerChatColor[playerid] = (color << 8) | 0xFF;

    SendClientMessage(playerid, -1, "Цвет чата обновлён.");

    return 1;
}


public OnPlayerText(playerid, text[])
{
    new msg[144], name[MAX_PLAYER_NAME];

    GetPlayerName(playerid, name, sizeof name);

    format(msg, sizeof msg, "%s: %s", name, text);
    SendClientMessageToAll(PlayerChatColor[playerid], msg);

    return 0;
}


Дополнительные идеи

1. Ограничить список разрешённых цветов.

2. Выдавать особые цвета за донат или достижения.

3. Сохранять выбранный цвет между рестартами.
 

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху