PDA

Просмотр полной версии : [Вопрос] Про TextDraw



Айболит
06.07.2014, 10:01
Доброе утро, уважаемые форумчане п-п-р, я к вам с вопросом.. а Как сделать что-бы когда нажал Esc, то есть закрыть TextDraw, он закрылся или снова стал кликабельным, то есть функцию сделать на тот или иной TextDraw..

DeimoS
06.07.2014, 10:19
Ну ребяяят, ну это не смешно. Как же вы изучаете Pawn, если не смотрите значения аргументов у стандартных коллбэков? Вот тут (http://wiki.sa-mp.com/wiki/OnPlayerClickTextDraw) же всё написано

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == INVALID_TEXT_DRAW)
{
//Кликабельность отменена
}
return 1;
}

Айболит
06.07.2014, 10:29
Ну ребяяят, ну это не смешно. Как же вы изучаете Pawn, если не смотрите значения аргументов у стандартных коллбэков? Вот тут (http://wiki.sa-mp.com/wiki/OnPlayerClickTextDraw) же всё написано

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == INVALID_TEXT_DRAW)
{
//Кликабельность отменена
}
return 1;
}

Ну я же не такой дурак то...

Я не про это.\

Когда я нажимаю (Esc) TextDraw перестает быть кликабельным, но он остается на экране. Мне же надо сделать так, что бы когда он нажал (Esc) TextDraw стал вновь кликабельным.

DeimoS
06.07.2014, 11:24
Ну я же не такой дурак то...

Я не про это.\

Когда я нажимаю (Esc) TextDraw перестает быть кликабельным, но он остается на экране. Мне же надо сделать так, что бы когда он нажал (Esc) TextDraw стал вновь кликабельным.

Эмм, при отключении кликабельности вновь включить кликабельность (или скрыть его), не? Я даже отметил то, куда надо код вставить.

Айболит
06.07.2014, 11:41
Эмм, при отключении кликабельности вновь включить кликабельность (или скрыть его), не? Я даже отметил то, куда надо код вставить.

Я не пойму, я и прошу помощи..

Tailer
06.07.2014, 12:37
Я не пойму, я и прошу помощи..


Ну ребяяят, ну это не смешно. Как же вы изучаете Pawn, если не смотрите значения аргументов у стандартных коллбэков? Вот тут (http://wiki.sa-mp.com/wiki/OnPlayerClickTextDraw) же всё написано

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == INVALID_TEXT_DRAW)
{
//Кликабельность отменена
}
return 1;
}

Ну как я понял, DeimoS объясняет тебе, что когда ты нажал ESC, кликабельность исчезло. По этому идем в OnPlayerClickTextDraw. и если Кликабельность отменна.

if(clickedid == INVALID_TEXT_DRAW)// это и есть проверка на то если игрок не нажал на textdraw
{
//Кликабельность отменена
Сюда функцию удаление textdraw'a на который игрок не нажал, либо попробуй вернуть тот же texdraw
}
Удаляем textdraw который был выдан игроку...
p.s Возвращать помоему нельзя textdraw, ну если можно попробуй заного создать игроку клибательный textdraw.

underwoker
06.07.2014, 12:39
Я не пойму, я и прошу помощи..
А кто должен понять?

DeimoS
06.07.2014, 12:50
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if(clickedid == INVALID_TEXT_DRAW && /*Переменная*/)
{
SelectTextDraw(playerid, 0x00FF00FF);
}
return 1;
}
На месте "/*Переменная*/" нужно вставить переменную, значение которой будет указывать на то, что кликабельность убирать нельзя (то есть, при первом показе кликабельного текстдрава присваиваем переменной, например, единицу и далее проверяем значение в нашем коде. Ну и когда нужные условия настали (когда уже можно кликабельность отключать), присваиваем переменной нуль)