В xKore остаются висеть менюшки после диалогов с НПЦ...
Модератор: 4epT
Правила форума
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
Все вопросы по OK не касающиеся плагинов и макросов публикуются в этом разделе.
Перед тем как что то писать, пожалуйста, удостоверьтесь что данная тема не поднималась, вы полностью изучили мануалы по конфигурационным файлам бота и не нашли там решения.
В xKore остаются висеть менюшки после диалогов с НПЦ...
С ботом вожусь всего 2 дня, но я думаю вряд ли проблема эта возникает из за того что я в файлике конфига не заметил строчку, а проблема следующая:
если открывать storage вручную (т.е. не ботом), то при выборе меню "Use Storage" и нажатии кнопки ok табличка выбора исчезает,
при обращении к кафре командой talknpc x y c r1, открывается storage, но при этом табличка выбора остается висеть, причем закрыть ее мне командами cont, no не удается, только ручным нажатием на кнопку отмены таблички. Та же самая проблема возникает при использовании autostorage. Сталкивался ли кто нибудь с такой проблемой, и как решали ?
____
(* pJ: исправил заголовок *)
если открывать storage вручную (т.е. не ботом), то при выборе меню "Use Storage" и нажатии кнопки ok табличка выбора исчезает,
при обращении к кафре командой talknpc x y c r1, открывается storage, но при этом табличка выбора остается висеть, причем закрыть ее мне командами cont, no не удается, только ручным нажатием на кнопку отмены таблички. Та же самая проблема возникает при использовании autostorage. Сталкивался ли кто нибудь с такой проблемой, и как решали ?
____
(* pJ: исправил заголовок *)
то что боту не мешает это да, но если бот гуляет в одной локации и много раз использует storage, не очень удобно, а если нужно что то самому сделать ( не все пока я делаю через консоль, приходится иногда клиентом), каждый раз тыкать. Обидно конечно, что пока проблема не решена, но что уж делать +)Click писал(а):xkore 1?
никак не решали. она не мешает боту ходить, при смене локи сама пропадёт
А если такие варианты:
1) Щелкать мышкой по кнопке закрытия окошка. Но окно игры должно быть активно.
2) Можно скрыть окно, не закрывая его физически, нужно байтик поправить в памяти процесса. Так, например, скрывается верхнее окошко для скилов.
Если кто захочет заняться, могу помочь с принципом.
Сам под C++ билдер делаю.
1) Щелкать мышкой по кнопке закрытия окошка. Но окно игры должно быть активно.
2) Можно скрыть окно, не закрывая его физически, нужно байтик поправить в памяти процесса. Так, например, скрывается верхнее окошко для скилов.
Если кто захочет заняться, могу помочь с принципом.
Сам под C++ билдер делаю.
Для разных версий ragexe он свой будет.
Найти можно так:
1) берем артмани, открываем окошко и тягаем его влево-вправо, в процессе проводя поиск изменяющегося значения.
В итоге получим координаты X окна.
2) Потом ищем ссылку на этот адрес со смещением 20.
Это у нас будет адрес ссылки на окно.
3) А сам процесс скрытия окна - читаем значение с адреса, найденного во 2-м шаге, прибавляем туда 56 (38h).
4) По получившемуся адресу записываем 1 для отображения окна, 0 для скрытия.
3-й шаг придется делать постоянно при желании отобразить/скрыть окно, т.к. адрес будет меняться.
Найти можно так:
1) берем артмани, открываем окошко и тягаем его влево-вправо, в процессе проводя поиск изменяющегося значения.
В итоге получим координаты X окна.
2) Потом ищем ссылку на этот адрес со смещением 20.
Это у нас будет адрес ссылки на окно.
3) А сам процесс скрытия окна - читаем значение с адреса, найденного во 2-м шаге, прибавляем туда 56 (38h).
4) По получившемуся адресу записываем 1 для отображения окна, 0 для скрытия.
3-й шаг придется делать постоянно при желании отобразить/скрыть окно, т.к. адрес будет меняться.
Ну ведь непосредственно в памяти, во время работы ragexe он будет один и тот же, нужно будет просто при перезапуске ragexe искать указатель на структуру окна (или как оно там описывается), верно?Vovic писал(а):3-й шаг придется делать постоянно при желании отобразить/скрыть окно, т.к. адрес будет меняться.
Боюсь что искать придется.
Указатель лежит в статической памяти, он свое местоположение для искомого exe файла не меняет.
Т.е. один раз его нашли, запомнили, больше искать не нужно.
Даже после перезапуска он прежним будет.
А структура окна лежит в динамической памяти, при отображении окна память выделяется и записывается в нее структура окна, потом адрес этой структуры записывается в указатель.
А при закрытии окна кнопкой закрыть, например, память динамическая высвобождается, а в указателе будет NULL.
И не факт, что при следующем открытии окна нам дадут прежний участок динамической памяти.
Указатель лежит в статической памяти, он свое местоположение для искомого exe файла не меняет.
Т.е. один раз его нашли, запомнили, больше искать не нужно.
Даже после перезапуска он прежним будет.
А структура окна лежит в динамической памяти, при отображении окна память выделяется и записывается в нее структура окна, потом адрес этой структуры записывается в указатель.
А при закрытии окна кнопкой закрыть, например, память динамическая высвобождается, а в указателе будет NULL.
И не факт, что при следующем открытии окна нам дадут прежний участок динамической памяти.