PHP код:
const
CLIST_DIALOG = 1500,
MAX_COLOR_NAME = 16;
enum
e_CLIST_INFO
{
color_name[MAX_COLOR_NAME],
color_hex_code
};
static const
clist_data[][e_CLIST_INFO] =
{
{ "Стандартный", 0xC2C2C2FF },
{ "Зелёный", 0x00FF00FF },
{ "Светло-зелёный", 0xBFFF00FF },
{ "Ярко-зелёный", 0x66FF00FF },
{ "Бирюзовый", 0x30D5C8FF },
{ "Жёлто-зелёный", 0xADFF2FFF },
{ "Тёмно-зелёный", 0x013220FF },
{ "Серо-зелёный", 0x5DA130FF },
{ "Красный", 0xFF0000FF },
{ "Ярко-красный", 0xFF2400FF },
{ "Оранжевый", 0xFFA500FF },
{ "Коричневый", 0x964B00FF },
{ "Тёмно-красный", 0xC41E3AFF },
{ "Серо-красный", 0xBB4488FF },
{ "Жёлто-оранжевый", 0xFF9900FF },
{ "Малиновый", 0xDC143CFF },
{ "Розовый", 0xFFC0CBFF },
{ "Синий", 0x0000FFFF },
{ "Голубой", 0x42AAFFFF },
{ "Синяя сталь", 0x1E90FFFF },
{ "Сине-зелёный", 0x008080FF },
{ "Тёмно-синий", 0x4169E1FF },
{ "Фиолетовый", 0x8B00FFFF },
{ "Индиго", 0xCD00CDFF },
{ "Серо-синий", 0xA2A0F6FF },
{ "Жёлтый", 0xFFFF00FF },
{ "Кукурузный", 0xFBEC5DFF },
{ "Золотой", 0xFFD700FF },
{ "Старое золото", 0xCFB53BFF },
{ "Оливковый", 0x808000FF },
{ "Серый", 0xBBBBBBFF },
{ "Серебро", 0xC0C0C0FF },
{ "Чёрный", 0x000000FF },
{ "Белый", 0xFFFFFFFF }
};
Добавляем команду, в любое удобное для вас место в моде:
PHP код:
CMD:color(playerid, params[])
{
static const
fmt_item_msg[] = "%i. {%06x}%s\n";
static
clist_item_string
[
sizeof(fmt_item_msg)
+ (-2)
+ 3
+ (-4)
+ 6
+ (-2)
+ MAX_COLOR_NAME
],
clist_string[sizeof(clist_item_string) * sizeof(clist_data)];
extract params -> new colorid; else
{
for(new i = 0; i < sizeof(clist_data); i++)
{
format(
clist_item_string, sizeof(clist_item_string),
fmt_item_msg,
i+1,
clist_data[i][color_hex_code] >>> 8,
clist_data[i][color_name]
);
strcat(clist_string, clist_item_string);
}
ShowPlayerDialog(playerid, CLIST_DIALOG, DIALOG_STYLE_LIST, "Выберите цвет из списка:", clist_string, "Выбрать", "Отмена");
}
else
{
if(!(0 <= colorid <= (sizeof(clist_data)-1)))
return SendClientMessage(playerid, -1, "Такого цвета не существует, используйте команду без параметра, чтобы узнать ID цвета.");
SetPlayerColor(playerid, clist_data[colorid][color_hex_code]);
}
return 1;
}
В паблик