Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Кликабельные текстдравы

Статус
В этой теме нельзя размещать новые ответы.

Zelva

Новичок
В этом уроке Вы научитесь создавать кликабельные текстдравы.

Создадим переменные new

Код:
new Text:MENU;
new Text:LOGINREGISTER;
new Text:INFORMATION;
new Text:QUITGAME;
Вместо MENU LOGINREGISTER INFORMATION QUITGAME может быть любое Ваше слово, конечно на английском языке.

В OnGameModeInit

Код:
MENU = TextDrawCreate(320.000000, 143.000000, "~n~MAIN MENU~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~_");
TextDrawAlignment(MENU, 2);
TextDrawBackgroundColor(MENU, 255);
TextDrawFont(MENU, 2);
TextDrawLetterSize(MENU, 0.500000, 1.000000);
TextDrawColor(MENU, -1);
TextDrawSetOutline(MENU, 0);
TextDrawSetProportional(MENU, 1);
TextDrawSetShadow(MENU, 1);
TextDrawUseBox(MENU, 1);
TextDrawBoxColor(MENU, 255);
TextDrawTextSize(MENU, 45.000000, 115.000000);
Код:
LOGINREGISTER = TextDrawCreate(320.000000, 180.000000, "LOGIN ~n~ REGISTER");
TextDrawAlignment(LOGINREGISTER, 2);
TextDrawBackgroundColor(LOGINREGISTER, 255);
TextDrawFont(LOGINREGISTER, 2);
TextDrawLetterSize(LOGINREGISTER, 0.260000, 0.799999);
TextDrawColor(LOGINREGISTER, -1);
TextDrawSetOutline(LOGINREGISTER, 0);
TextDrawSetProportional(LOGINREGISTER, 1);
TextDrawSetShadow(LOGINREGISTER, 1);

Код:
INFORMATION = TextDrawCreate(320.000000, 205.000000, "INFORMATION");
TextDrawAlignment(INFORMATION, 2);
TextDrawBackgroundColor(INFORMATION, 255);
TextDrawFont(INFORMATION, 2);
TextDrawLetterSize(INFORMATION, 0.260000, 0.799999);
TextDrawColor(INFORMATION, -1);
TextDrawSetOutline(INFORMATION, 0);
TextDrawSetProportional(INFORMATION, 1);
TextDrawSetShadow(INFORMATION, 1);
Код:
QUITGAME = TextDrawCreate(320.000000, 230.000000, "QUITGAME");
TextDrawAlignment(QUITGAME, 2);
TextDrawBackgroundColor(QUITGAME, 255);
TextDrawFont(QUITGAME, 2);
TextDrawLetterSize(QUITGAME, 0.260000, 0.799999);
TextDrawColor(QUITGAME, -1);
TextDrawSetOutline(QUITGAME, 0);
TextDrawSetProportional(QUITGAME, 1);
TextDrawSetShadow(QUITGAME, 1);
Это мы создали Сами ТекстДравы, их цвет, тип шрифта и т.п

Далее в OnGameModeInit

Код:
TextDrawSetSelectable(MENU, false);
TextDrawSetSelectable(LOGINREGISTER, true);
TextDrawSetSelectable(INFORMATION, true);
TextDrawSetSelectable(QUITGAME, true);
Это мы сделали ТекстДравы кликабельными.

Далее в OnGameModeExit

Код:
TextDrawDestroy(MENU);
TextDrawDestroy(LOGINREGISTER);
TextDrawDestroy(INFORMATION);
TextDrawDestroy(QUITGAME);
Уничтожаем ТекстДравы после выключения сервера.

Далее запихивайте код туда, когда он должен будет вызываться, т.е по команде и т.п

Код:
TextDrawShowForPlayer(playerid, MENU);
TextDrawShowForPlayer(playerid, LOGINREGISTER);
TextDrawShowForPlayer(playerid, INFORMATION);
TextDrawShowForPlayer(playerid, QUITGAME);
SelectTextDraw(playerid, 0xA3B4C5FF);
Далее в public OnPlayerClickTextDraw(playerid, Text:clickedid), если нету, создайте.

Код:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid != INVALID_TEXT_DRAW)
{
if(clickedid == LOGINREGISTER)
{
// Действие если нажал LOGIN REGISTER
}
else if(clickedid == INFORMATION)
{
// Действие если нажал INFORMATION
}
else if(clickedid == QUITGAME)
{
// Действие если нажал QUITGAME
}

TextDrawHideForPlayer(playerid, MENU);
TextDrawHideForPlayer(playerid, LOGINREGISTER);
TextDrawHideForPlayer(playerid, INFORMATION);
TextDrawHideForPlayer(playerid, QUITGAME);
CancelSelectTextDraw(playerid);
}
return 1;
}
На этом все.
Автор урока: Husler.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу