PDA

Просмотр полной версии : [Вопрос] Кнопка ESC при кликабельных TextDraw



Brutex
24.08.2014, 11:40
Здравствуйте уважаемые пользователи. Везде искал, но так и не нашёл, как же
избавиться от проблемы во время показа кликабельных TextDraw. Суть проблемы
вот в чём: если во время показа этих самых TextDraw игрок нажмёт клавишу ESC
то стрелочка, которая нажимает на TextDraw исчезнет, сами TextDraw останутся.
Я пытался найти ID клавиши ESC но её походу вообще нет. Также я использовал

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
чтобы узнать ID клавиши. Но там тоже ничего о ней не сказано. Есть ли способы
исправить эту проблему? Если да, то подскажите пожалуйста.

Mr.DeViLsS
24.08.2014, 11:48
if(clickedid == Text:INVALID_TEXT_DRAW)
{
Код закрытия TD
}

Brutex
24.08.2014, 12:12
if(clickedid == Text:INVALID_TEXT_DRAW)
{
Код закрытия TD
}
Вместо закрытия TextDraw я решил сделать вызов стрелочки. Только вот я нажал ESC, открылось стандартное меню игры, а стрелочка не вернулась.

else if(playertextid == PlayerText:INVALID_TEXT_DRAW)
{
SelectTextDraw(playerid, 0xFFFFFFFF);
SendClientMessage(playerid, COLOR_LIGHTRED, "Вы не можете нажать ESC пока у вас показаны TextDraw.");
}

DeimoS
24.08.2014, 14:28
Куда добавили этот код то?

Brutex
24.08.2014, 14:36
В стандартный колбэк:

public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)

DeimoS
24.08.2014, 14:38
http://wiki.sa-mp.com/wiki/OnPlayerClickPlayerTextDraw

This callback is called when a player clicks on a player-textdraw. It is not called when player cancels the select mode (ESC) - however, OnPlayerClickTextDraw is.
Обращайтесь к официальной документации для функций хоть изредка то...

Brutex
24.08.2014, 14:49
http://wiki.sa-mp.com/wiki/OnPlayerClickPlayerTextDraw

Обращайтесь к официальной документации для функций хоть изредка то...
Постараюсь быть более внимательным, когда столкнусь с подобными проблемами.
Кто не понял, что мне подсказал DeimoS: Код не будет эффективным, если его запихать
в OnPlayerClickPlayerTextDraw. Его нужно писать в OnPlayerClickTextDraw. Разумеется
сделав нужные проверки. Ну это уже кто как знает. Огромное спасибо DeimoS и Mr.DeViLsS

Osetin
24.08.2014, 16:20
Закрыто.