Page 1 of 1

evGumpTextEntry без SetEventProc

Posted: 31.03.2014 9:06
by murderinc
Есть следующий код, который устанавливает обработку "специального" гампа.

Code: Select all

SetEventProc(evGumpTextEntry, 'handler');

procedure handler(ID : Cardinal; Title : String; InputStyle : Byte; MaxValue : Cardinal; Title2 : String);
Данный гамп не показывается в списке общих гампов, то есть при его приходе количество гампов равно нулю. Возможно ли этот гамп обрабатывать без SetEventProc? Как добраться до его данных, интересует id и title.

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 9:35
by drabadan
murderinc wrote:Есть следующий код, который устанавливает обработку "специального" гампа.

Code: Select all

SetEventProc(evGumpTextEntry, 'handler');

procedure handler(ID : Cardinal; Title : String; InputStyle : Byte; MaxValue : Cardinal; Title2 : String);
Данный гамп не показывается в списке общих гампов, то есть при его приходе количество гампов равно нулю. Возможно ли этот гамп обрабатывать без SetEventProc? Как добраться до его данных, интересует id и title.
выложи скрин "гампа" и попробуй при его приходе отправить команду ,infogump. Может там и не гамп совсем?

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 10:17
by murderinc
Infogump не работает и любая другая команда тоже. Скорее всего это не гамп. Эта штука обрабатывается через WaitTextEntry и вот что говорится в документации: "Обработка слегка особенного гампа, состоящего ТОЛЬКО из поля ввода и 2 кнопок - ОК и Cancel". И этот слегка особенный гам не числиться в массиве гампов. Собственно почему и возникает вопрос, как достучаться до его инфы не используя eventProc

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 14:54
by Vizit0r
у него нет инфы, которая нужна пользователю. Там всего-то несколько служебных значений.

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 15:14
by murderinc
Vizit0r wrote:у него нет инфы, которая нужна пользователю. Там всего-то несколько служебных значений.
ну как же нет? у него есть ID и Title, которые передаются из evGumpTextEntry, мне как минимум надо Title. Его возможно достать без evGumpTextEntry?

Вообще проблема, в том что 6.4 стелс отваливается при "частой отправке пакетов", а именно - чар стоит, но все остальное функционирует вокруг него (то есть люди/монстры бегают), а спустя 3 минуты он дисконектится. Под "частой отправкой пакетов" - я подразумеваю, например ходилку, или юз скилла каждую секунду (то есть ничего она не частая, но стелс отваливается). В стелсе версии 4.0 за час ни разу не отвалился, в тоже время на 6.4 за час по 3-5 раз отваливается.

Стелс 4.0 не поддерживает evGumpTextEntry, по этому нужно проверить наличие такого гампа и вытащить инфу без evGumpTextEntry.

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 19:47
by Gauhar
И вот он главный вопрос, с которого и надо было начинать:
murderinc wrote:Стелс 4.0 не поддерживает evGumpTextEntry, по этому нужно проверить наличие такого гампа и вытащить инфу без evGumpTextEntry.
в котором дан ответ:
murderinc wrote:Стелс 4.0 не поддерживает evGumpTextEntry

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 20:09
by drabadan
Gauhar wrote:вытащить инфу без evGumpTextEntry.

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 20:53
by Gauhar
Я имел ввиду, что в Стелс 4.0 нет механизма получения необходимой информации, если бы он был, то тогда не понадобилось бы вводить evGumpTextEntry. Надеюсь теперь я буду понят правильно.

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 21:15
by murderinc
Gauhar wrote:Я имел ввиду, что в Стелс 4.0 нет механизма получения необходимой информации, если бы он был, то тогда не понадобилось бы вводить evGumpTextEntry. Надеюсь теперь я буду понят правильно.
Твоя теория не верна, ну или как минимум путаешь теплое с мягким. evGumpTextEntry - это ивент, который обрабатывается с SetEventProc. То что в 4 версии стелса не было этого ивента - не значит, что не было механизма для получения необходимой информации.

4.0 поддерживает WaitTextEntry. А раз он умеет вводить туда - значит он может и вынимать оттуда, ну или не может. По крайней мере я не нашел ни на форуме ни в документации, и создал эту тему.

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 22:08
by drabadan
murderinc wrote:
Gauhar wrote:Я имел ввиду, что в Стелс 4.0 нет механизма получения необходимой информации, если бы он был, то тогда не понадобилось бы вводить evGumpTextEntry. Надеюсь теперь я буду понят правильно.
Твоя теория не верна, ну или как минимум путаешь теплое с мягким. evGumpTextEntry - это ивент, который обрабатывается с SetEventProc. То что в 4 версии стелса не было этого ивента - не значит, что не было механизма для получения необходимой информации.

4.0 поддерживает WaitTextEntry. А раз он умеет вводить туда - значит он может и вынимать оттуда, ну или не может. По крайней мере я не нашел ни на форуме ни в документации, и создал эту тему.
теплое с мягким.
уот так уотъ.
Девелопер сказал, что там только служебная инфа, не нужная юзеру.
Автор - может приоткроешь завесу и хоть скрин покажешь? А то мы ходим по кругу.

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 23:03
by murderinc
Image

да, еще на 6.4 стелсе, чары сами по себе вар включают и иногда китайские символы пишут :idea: .

Re: evGumpTextEntry без SetEventProc

Posted: 31.03.2014 23:55
by drabadan
murderinc wrote:Image

да, еще на 6.4 стелсе, чары сами по себе вар включают и иногда китайские символы пишут :idea: .
китай да, проскакивало!
Какой текст ентри крутой, а зачем он тебе?
Может в контексте скрипта, необходимость в получении информации о етой штукадрюке и не нужна будет?
Для чего оно вылазит?
Я думал, что скрин прояснит некоторое, но - отнюдь!

Re: evGumpTextEntry без SetEventProc

Posted: 01.04.2014 0:52
by Gauhar
murderinc wrote:
Gauhar wrote:Я имел ввиду, что в Стелс 4.0 нет механизма получения необходимой информации, если бы он был, то тогда не понадобилось бы вводить evGumpTextEntry.
evGumpTextEntry - это ивент, который обрабатывается с SetEventProc. То что в 4 версии стелса не было этого ивента - не значит, что не было механизма для получения необходимой информации.
если бы механизм/способ/возможность были, то тогда не понадобилось бы вводить evGumpTextEntry
murderinc wrote:4.0 поддерживает WaitTextEntry. А раз он умеет вводить туда - значит он может и вынимать оттуда, ну или не может.
procedure WaitTextEntry(Value : String); - работает и как ловушка, и для обработки уже пришедших полей ввода. ничего не возвращает.

Re: evGumpTextEntry без SetEventProc

Posted: 01.04.2014 9:44
by murderinc
drabadan wrote: Какой текст ентри крутой, а зачем он тебе?
Может в контексте скрипта, необходимость в получении информации о етой штукадрюке и не нужна будет?
Для чего оно вылазит?
Ну это что-то типа антимакроса, вылазит иногда, когда делаешь много чего. Ее тайтл содержит информацию, что нужно вводить.
Gauhar wrote:если бы механизм/способ/возможность были, то тогда не понадобилось бы вводить evGumpTextEntry
Не согласен. Есть разница - реагировать когда что-то происходит (появилась табличка) или проверять каждый раз не произошло, что либо (а не появилась ли табличка)?

Re: evGumpTextEntry без SetEventProc

Posted: 01.04.2014 15:25
by Vizit0r
drabadan wrote:Девелопер сказал, что там только служебная инфа, не нужная юзеру.
Девелопер не так понял, о чем вообще речь.

Нет, другого способа добраться до инфы о Title нет. и не будет.