Rus. server

01/23/2010 11:13 Novohyd#1336
вызов диалога нпс - это понятно. больше интересует как пункты диалога с неписью без мауса юзать
01/23/2010 11:33 FunkU#1337
Да меня это тоже интересует. Я так понял АлексГД в этом больше понимает или как раз сейчас и решает эту задачу. Если бы он нас просвятил... :rolleyes: Или есть вариант самим поизучать вот этот гайд: [Only registered and activated users can see links. Click Here To Register...] Думаю там есть ответ на этот вопрос, но конечно не в готовом виде. Только у меня пока не хватает ума понять всё, что там написано. )

Новохуд, хотел спросить по поводу того бота на автоите с инжектами, которого ты давал знакомым и он у них нормально работал. Какая у тебя версия автоита? )
01/23/2010 12:37 Alexhomp#1338
Quote:
Originally Posted by dwar View Post
Alexhomp
совсем забыл добавить: попытки поиска адреса .. ни к чему не приведут...

Поправка:
[BA] + $1C + $8 + $60 + $4 + $0 :: Current location (char)
К сожалению на руоффе не прокатывает(((

UPD. Работает!!! Спасибо огромное. Просто ставил не тот BA)))
01/23/2010 12:54 AlexGD#1339
Ищу... Очень ищу как поговорить с неписем. И в той теме ответа нету, к сожалению, ибо, как оказалось, это не гуи контролы! Заметьте - кнопариками вверх-вниз они ж не переключаются... Уже нашел эксклюзивный адрисочеГ, где это мона вставить, но дык как туда инжектнуться - пока для меня загадко. Если сделаю - буду неделю бухать.
01/23/2010 13:25 FunkU#1340
AlexGD
Да, будет круто, если сделаешь... А нам пока придётся делать щелчки мышкой. ) А что на счёт инжектов продажи/покупки у нпс, ты с ними разбирался? Я на предыдущей странице выложил код инжекта на продажу вещей. Он вообще правильный? И можно ли как-то найти opcode этих команд?
01/23/2010 13:28 dwar#1341
Alexhomp
Название текущей локации (для руОффа)
[BA] + $1C + $8 + $60 + $4 + $0 :: Current location (char)

[Only registered and activated users can see links. Click Here To Register...]
01/23/2010 13:37 AlexGD#1342
Неа. Продажу не делал. Ничего пока сказать не могу...
01/23/2010 14:14 Novohyd#1343
Quote:
Originally Posted by FunkU View Post
Новохуд, хотел спросить по поводу того бота на автоите с инжектами, которого ты давал знакомым и он у них нормально работал. Какая у тебя версия автоита? )
SciTE4AutoIt3
Version 1.77
Dec 24 2008
работает нормально. есть только как ни странно глюк с оффетом мр
то читает нормально то слетает и пишет 0. хотя в проге все нормально проверил. у меня нормально без сбоев определяет
01/24/2010 03:37 FunkU#1344
Хм, наверно всё-таки не в этом дело. Но тогда в чём...

Сегодня занимался поиском оффсетов координат окон инвентаря, диалога и торговли на экране. Не знаю, было это здесь уже или нет, но если кому надо:

BA + $4 + $8 + $218 + $54 - X инвентаря
BA + $4 + $8 + $218 + $58 - Y инвентаря

Предпоследний параметр: $218 - инвентарь, $264 - диалог, $310 - торговля. Размер всех окон 312x441.
01/24/2010 04:35 AlexGD#1345
Поправочка )

BA + $1С + $4 + $8 + $218 + $54
BA + $1С + $4 + $8 + $218 + $58

Фанк. Ты как БА юзаешь 0098B47C. А это не совсем верно:
БА (действительно базовый адрес) - 0098ADDC
А 0098B47C - это база для инфы перса (BA + $1C)

BA + $1С + $4 + $8 + $264 + $164 + $A0 - количество линий ответа в диалоге
BA + $1С + $4 + $8 + $264 + $164 + $B0 - порядковый номер линии ответа в диалоге

Ну осталось совсем чуть чуть ) Придумать как нажать выделенное...
01/24/2010 05:18 FunkU#1346
Я юзаю оба. )) Довольно трудоёмко будет сейчас всю мою программу под истинный базовый адрес переделывать. Просто когда я начинал её писать тут о таком понятии не говорили. Для всех был базовый - это то, что пишется в настройках МХС. ))

BA + $1С + $4 + $8 + $264 + $164 + $b0 - Ты хочешь нажать это инжектом? Если получится, то это будет очень круто. ) Эх... А я пока дописываю свой алгоритм мышкокликанья. )
01/24/2010 08:44 dwar#1347
Добрались таки до массива контролов (или окошек, не важно как называть) ;)… Держите, если будет сие полезно (можно передвигать окна, получать описание предметов под курсором…).

[BA] + $1C + $04:: controls
$08 - Controls, wnd Ptr (PTR, 4b)

[BA] + $1C + $04 + $08:: Controls, wnd
$18 - Current Wnd (PTR, 4b)
$D0 - Movements count (float, 4b)
$D4 - Wnd under mouse (PTR, 4b)
$D8 - Wnd object under mouse (PTR, 4b)
$DC - Wnd object usable under mouse (PTR, 4b)
$E0-E4 - Hint Pos XY (dword, 4x2b)
$218 - Inv wnd (PTR, 4b)
$264 - Dialog wnd (PTR, 4b)
$310 - Trader wnd (PTR, 4b)

[BA] + $1C + $04 + $08 + wnd PTR:: Wnd description
$54-58 - Wnd Pos XY (dword, 4x2b)
$60 - If drag (bool1b) (1: if dragging)
$61 - is draggable (bool1b)(1: true)
$64-68 - Mouse point, drag point (dword, 4x2b)
$6C - Is wnd opened (dword, 4b)
$90 - Usable control (PTR, 4b)
$94 - Wnd object under mouse (PTR, 4b) (same as [BA] + $1C + $04 + $08 + $D8)
$168 - Dialog options (PTR, 4b)

[BA] + $1C + $04 + $08 + $wnd PTR + $168:: Dialog options
$A0 - Dialogs count (dword, 4b)
$B0 - Current dialogs line (dword, 4b)
$E0 - Dialogs count (dword, 4b)

В [BA] + $1C + $04 + $08 + $18 записан указатель на текущее активное окно (по которому кликнули). До параметров окна можно добраться и через wndPTR (например, инвентарь - $218), не важно, открыто оно или нет.

P.S. Надеюсь, после последнего апдейти в данном массиве ничего не поменялось и большая часть указанных адресов действительна
01/24/2010 14:01 AlexGD#1348
Да, двар, все работает. Мы ж нашли кусочеГ )
Единственное, что могу добавить - адрес для инжектирования: $0050E7E0
И вот тут я спекся. Дальше моих мозгов нехватать. Я в асме, как свыня в апильсинах (
01/24/2010 23:13 FunkU#1349
Двар, хочешь сказать, можно навести на кольцо мышкой и через эти оффсеты узнать, есть ли в нём время пения? Или можно и без наведения?
01/25/2010 00:02 Novohyd#1350
если не секрет. по какому алгоритму при помощи этих оффестов можно нажать конкретный пункт диалога у неписи и как быть с подпунктами