eXeL@B —› Вопросы новичков —› Как это сделать в игре? |
Посл.ответ | Сообщение |
|
Создано: 03 марта 2019 13:29 · Поправил: Simcher · Личное сообщение · #1 В игре есть диалоговые окна с НПС, в диалог можно войти с расстояния до 4-х клеток, если дальше, то персонаж сначала подбежит вплотную к НПС, а потом появится диалог. Вопрос, как сделать так, чтобы диалоги открывались с любого расстояния? Я точно знаю, что это не привязано к серверу, поскольку с спидхаком можно быстрее получать диалог. Прикрепил видео, чтобы было понятнее. https://youtu.be/mWtR-38p82c |
|
Создано: 03 марта 2019 13:39 · Личное сообщение · #2 Измеряется расстояние между тобой и нпс, если оно меньше или равно порогу, то запускается диалог, иначе планируется перемещение в точку и затем вызов диалога. Проще всего найти где диалог вызывается и копать в обратную сторону. На шару никак не выйдет если не знаешь точное значение этого порога, чтобы его изменить. П.С. клетки это все условно, там трехмерные вектора с float значениями. ----- В облачке многоточия |
|
Создано: 03 марта 2019 14:08 · Поправил: LShadow77 · Личное сообщение · #3 Запускешь игру под отладчиком, дожидаешься появления диалога, далее - break, и раскручиваешь стек до того момента, пока не наткнёшься на условный переход, по которому диалоговое окно либо появляется, либо нет. Затем изучаешь условия, мониторишь содержимое регистров и памяти по соответствующим адресам, меняешь что-то прямо в отладчике, после чего продолжаешь игру и смотришь что получилось (или не получилось)... |
|
Создано: 03 марта 2019 14:09 · Личное сообщение · #4 |
|
Создано: 03 марта 2019 14:23 · Поправил: Boostyq · Личное сообщение · #5 |
|
Создано: 03 марта 2019 14:25 · Поправил: LShadow77 · Личное сообщение · #6 |
|
Создано: 03 марта 2019 14:35 · Личное сообщение · #7 |
|
Создано: 03 марта 2019 14:53 · Личное сообщение · #8 Если вы локализовали место верно, то по адресу 6C4659 сериализуется и отправляется пакет, в котором вроде собираются ваши координаты, я это все о том, что сервер может проверить с какого реально расстояния вы запрашиваете диалог, т.е. если я ничего не путаю, то придется патчить еще и ее. ----- В облачке многоточия |
|
Создано: 03 марта 2019 15:33 · Личное сообщение · #9 |
|
Создано: 03 марта 2019 16:00 · Поправил: Boostyq · Личное сообщение · #10 Simcher пишет: целый день экспериментировал Чего тут экспериментировать у вас же пдбшка на скрине. NGELocalHero+0x104 - это актор с которым вы собираетесь говорить Актор+0x5C - это его координаты в мире (float xzy), если он недосягаем то отправляется пакет следования до его координат. По 006C4648 планируется контакт, когда ты до него дойдешь, а по 006C4698 непосредственно отправка пакета для следования до него, а 414870 это функа которая отправляет пакет торговли. ----- В облачке многоточия |
|
Создано: 03 марта 2019 16:02 · Личное сообщение · #11 Чем например вот это сравнение с 4.0 не проверка расстояния в 4 клетки перед CActionTrade? ----- 2 оттенка серого | Сообщение посчитали полезным: Simcher |
|
Создано: 03 марта 2019 16:22 · Личное сообщение · #12 |
|
Создано: 03 марта 2019 16:23 · Личное сообщение · #13 |
|
Создано: 03 марта 2019 16:26 · Личное сообщение · #14 |
|
Создано: 03 марта 2019 16:28 · Личное сообщение · #15 |
|
Создано: 03 марта 2019 16:31 · Личное сообщение · #16 |
|
Создано: 03 марта 2019 16:34 · Поправил: Boostyq · Личное сообщение · #17 reversecode пишет: он один на всю карту Вы на него клацаете мышкой и уже его указатель идет в функцию 6C4520 (ebp+8), далее в зависимости от типа взаимодействия (ebp+10) происходят проверки и отправки нужных пакетов, например для типа 4 (trade) проверится расстояние, если вы близко то пакет о трейде, если нет, то планирование трейда + пакет следования по координатам актора. Сам актор наверное вычисляется по координатам клика где-то выше (т.к. игра видимо псевдотрехмерная), перед вызовом этой вирт функи. П.С. для Simcher сама проверка по адресу 006C428B как написал f13nd, вам нужно заменить jp на nop, но не факт что сервер это скушает, он наверняка знает координаты нпц и может вести логи. ----- В облачке многоточия |
|
Создано: 03 марта 2019 16:55 · Личное сообщение · #18 Boostyq пишет: он наверняка знает координаты нпц и может вести логи Там в первом посте сказано, что спидхак в игре работает, разработчики еще не пуганые читерами. В рпг вроде больше стремятся тюнинговать глобал кулдаун абилок, если сервер это не контролирует или хотя бы расстояние до врага, чтоб милишными абилками бить. Но расстояние для взаимодействия с нпц?.. ----- 2 оттенка серого |
|
Создано: 04 марта 2019 17:48 · Личное сообщение · #19 |
|
Создано: 04 марта 2019 18:33 · Личное сообщение · #20 Simcher пишет: Tорговать, например, не получается даже со спидхаком, надо, чтобы перс реально подошёл к НПС. Возможно дистанцию для торговли как раз сервак контролирует. Если ты поменял само значение flt_77FB24, оно должно было и дистанцию атаки до 256 увеличить. Если этого не произошло, значит сервак перепроверил. ----- 2 оттенка серого |
eXeL@B —› Вопросы новичков —› Как это сделать в игре? |