В поисках чего нибудь съедобного на просторах интернета наткнулся на урок по созданию кликабельных текстдравов. То есть при нажатии на этот текстдрав будет вызываться действие.
Начнём!
Создаём переменную нашего текстдрава:
new Text:NAME; //Вместо NAME ваше название
В OnGameModeInit добавляем сам текстдрав:
NAME = TextDrawCreate(320.000000, 143.000000, "NAME");
TextDrawAlignment(NAME, 2);
TextDrawBackgroundColor(NAME, 255);
TextDrawFont(NAME, 2);
TextDrawLetterSize(NAME, 0.500000, 1.000000);
TextDrawColor(NAME, -1);
TextDrawSetOutline(NAME, 0);
TextDrawSetProportional(NAME, 1);
TextDrawSetShadow(NAME, 1);
TextDrawUseBox(NAME, 1);
TextDrawBoxColor(NAME, 255);
TextDrawTextSize(NAME, 45.000000, 115.000000);
Далее в OnGameModeInit делаем обычный текстдрав, кликабельным:
TextDrawSetSelectable(NAME, true);
Далее в OnGameModeExit уничтожаем их при выключении мода
TextDrawDestroy(NAME);
Вызываем наш текстдрав (это уж сами решайте когда)
TextDrawShowForPlayer(playerid, NAME);
SelectTextDraw(playerid, 0xA3B4C5FF);
Далее в public OnPlayerClickTextDraw(playerid, Text:clickedid), если нету, создаём.
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid != INVALID_TEXT_DRAW)
{
if(clickedid == NAME)
{
// Действие если нажали NAME
}
else if(clickedid == [Следующие "кнопки"])
{
// Действие если нажал [Следующие "кнопки"]
}
TextDrawHideForPlayer(playerid, NAME);
TextDrawHideForPlayer(playerid, [Следующие "кнопки"]);
CancelSelectTextDraw(playerid);
}
return 1;
}
P.S.: Я посмотрел несколько уроков и на их основе составил свой
Начнём!
Создаём переменную нашего текстдрава:
new Text:NAME; //Вместо NAME ваше название
В OnGameModeInit добавляем сам текстдрав:
NAME = TextDrawCreate(320.000000, 143.000000, "NAME");
TextDrawAlignment(NAME, 2);
TextDrawBackgroundColor(NAME, 255);
TextDrawFont(NAME, 2);
TextDrawLetterSize(NAME, 0.500000, 1.000000);
TextDrawColor(NAME, -1);
TextDrawSetOutline(NAME, 0);
TextDrawSetProportional(NAME, 1);
TextDrawSetShadow(NAME, 1);
TextDrawUseBox(NAME, 1);
TextDrawBoxColor(NAME, 255);
TextDrawTextSize(NAME, 45.000000, 115.000000);
Далее в OnGameModeInit делаем обычный текстдрав, кликабельным:
TextDrawSetSelectable(NAME, true);
Далее в OnGameModeExit уничтожаем их при выключении мода
TextDrawDestroy(NAME);
Вызываем наш текстдрав (это уж сами решайте когда)
TextDrawShowForPlayer(playerid, NAME);
SelectTextDraw(playerid, 0xA3B4C5FF);
Далее в public OnPlayerClickTextDraw(playerid, Text:clickedid), если нету, создаём.
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid != INVALID_TEXT_DRAW)
{
if(clickedid == NAME)
{
// Действие если нажали NAME
}
else if(clickedid == [Следующие "кнопки"])
{
// Действие если нажал [Следующие "кнопки"]
}
TextDrawHideForPlayer(playerid, NAME);
TextDrawHideForPlayer(playerid, [Следующие "кнопки"]);
CancelSelectTextDraw(playerid);
}
return 1;
}
P.S.: Я посмотрел несколько уроков и на их основе составил свой
Последнее редактирование модератором: