Как-то наткнулся на тему, где скриптеры спрашивали про возможность ввода новой валюты в мод. Поскольку несколько последних заказов содержали те же требования, я решил показать один вариантов. В теме я покажу просто стилизованный текстдрав валюты (с нужной обводкой, идеально закрывает знак доллара), добавляйте цифры, данные и т.п. по своему усмотрению. Пример грамотного ввода по этой ссылке.
В начале мода или ко всем new пишем:
Код
new Text:Euro[3]; // переменные рисунка валюты
В нужном месте (при старте скрипта, мода, по команде, по нажатию клавиш и т.п.) создаём текстдравы (цвет отличается от цвета на скрине, т.к. при создании темы подобрал более адекватный в фотошопе):
Код
Euro[0] = TextDrawCreate(499.0, 77.0, "C");
TextDrawFont(Euro[0], 3);
TextDrawColor(Euro[0], 0xFFD21DFF);
TextDrawLetterSize(Euro[0], 0.54, 2.2);
TextDrawSetOutline(Euro[0], 2);
Euro[1] = TextDrawCreate(494.0, 79.0, "-");
TextDrawColor(Euro[1], 0xFFD21DFF);
TextDrawLetterSize(Euro[1], 0.76, 1.0);
TextDrawSetOutline(Euro[1], 1);
Euro[2] = TextDrawCreate(494.0, 83.0, "-");
TextDrawColor(Euro[2], 0xFFD21DFF);
TextDrawLetterSize(Euro[2], 0.76, 1.0);
TextDrawSetOutline(Euro[2], 1);
При подключении/при спавне/в нужный момент показываем игроку:
Код
for(new i = 0; i < sizeof(Euro); i++) TextDrawShowForPlayer(playerid, Euro[i]);
При выходе/при смерти/в нужный момент скрываем у игрока:
Код
for(new i = 0; i < sizeof(Euro); i++) TextDrawHideForPlayer(playerid, Euro[i]);
Текстдравы глобальные, 3 штуки.
Команда для тестов (в OnPlayerCommandText):
Код
if(strcmp(cmdtext, "/euro", true) == 0)
{
if(GetPVarInt(playerid, "Euro") == 0)
{
SetPVarInt(playerid, "Euro", 1);
for(new i = 0; i < sizeof(Euro); i++) TextDrawShowForPlayer(playerid, Euro[i]);
}
else
{
DeletePVar(playerid, "Euro");
for(new i = 0; i < sizeof(Euro); i++) TextDrawHideForPlayer(playerid, Euro[i]);
}
return 1;
}
Автор: OKStyle