ШАРИК Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 Здравствуйте , как убрать в игре урон от падений? Я знаю , что урон напрямую зависит от высоты , с которой падаешь . Чем выше высота , тем больше урон от падения. Но я предполагаю , что в игре урон рассчитывается следующим образом : пока персонаж падает , и координата Z уменьшается , значение адреса , в котором хранится урон от падения , увеличивается. Думаю решить следующим образом: как-то найти адрес ,в котором хранится урон от падения , найти инструкцию , которая пишет в этот адрес , и заменить её NOP'ом. Только как найти адрес ,в котором хранится урон от падения? Если есть видео о подобном скиньте пожалуйста . То что название игры я не сказал , я знаю ) Ссылка на комментарий Поделиться на другие сайты Поделиться
saiberpro Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 Инструкция более вероятно относится к метода на нанесение урона в любом виде, поэтому отдельного адреса под этот урон нет.Тебе нужно отследить какие инструкцию работают в момент падение(при контакте с поверхностью) и наносят урон и от них уже отходить. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 12:23, ШАРИК сказал: Только как найти адрес ,в котором хранится урон от падения? Показать Выше по инструкциям смотри. Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 (изменено) В 13.11.2016 в 13:04, partoftheworlD сказал: Выше по инструкциям смотри. Показать От инструкции , которая работает с координатой Z ? Или от какой? Изменено 13 ноября, 2016 пользователем ШАРИК Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 (изменено) В 13.11.2016 в 13:07, ШАРИК сказал: От инструкции , которая работает с координатой Z ? Или от какой? Показать От инструкции которая наносит урон, скорее всего после расчетов значение урона будет передаваться на эту инструкцию, если нет других инструкций после падений. Изменено 13 ноября, 2016 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 12:23, ШАРИК сказал: Здравствуйте , как убрать в игре урон от падений? Показать Я бы делал по такому плану: 1. Адрес здоровья. 2. Бряк на запись -> инструкция нанесения урона (но в некоторых играх она может быть и инструкцией на лечение, например инструкция типа add [adres HP],eax - eax может быть как отрицательным - урон, так и положительным - лечение, смена уровня, загрузка сейва игры) 3. Ну а дальше уже изучать игровой код выше этой инструкции - искать откуда попадает (где рассчитывается урон), Скорее всего это значение будет браться из стека (или регистра или fpu-регистра) Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 15:05, Garik66 сказал: Я бы делал по такому плану: 1. Адрес здоровья. 2. Бряк на запись -> инструкция нанесения урона (но в некоторых играх она может быть и инструкцией на лечение, например инструкция типа add [adres HP],eax - eax может быть как отрицательным - урон, так и положительным - лечение, смена уровня, загрузка сейва игры) 3. Ну а дальше уже изучать игровой код выше этой инструкции - искать откуда попадает (где рассчитывается урон), Скорее всего это значение будет браться из стека (или регистра или fpu-регистра) Показать Ща скрин кину .Только там 2 адреса с хп. Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 Так . Значит в первый адрес пишет одна инструкция при любом уроне Показать контент Во второй адрес пишут разные инструкции при разном уроне. При падении одна инструкция , при ранении другая. Эта инструкция пишет при нанесении урона от падения. Показать контент Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 16:01, ШАРИК сказал: Эта инструкция пишет при нанесении урона от падения. Показать Ну так и проверь её: вместо mov ecx,[ebp-24] поставь в скрипте mov ecx,[eax+0000000A4] Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 Эмм... Но там же и так идёт mov ecx,[ebp-24] ,а потом mov ecx,[eax+0000000A4] Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 17:20, ШАРИК сказал: Эмм... Но там же и так идёт mov ecx,[ebp-24] ,а потом mov ecx,[eax+0000000A4] Показать Посмотри внимательнее - там: mov [eax+0000000A4].ecx Ну а если не понятно, что я имел ввиду, то просто выложите АА-скрипт из этой инструкции mov ecx,[ebp-24]. Напишу скрипт, который нужно будет проверить. Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 Там трабл небольшой .Что если при замене значения здоровья , оно остаётся прежним . Типа было 100 изменил на 1000 , но при этом у меня хп всё рано 100. Ссылка на комментарий Поделиться на другие сайты Поделиться
saiberpro Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 Твою теорию можно проверить получи урон и будет видно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 17:26, ШАРИК сказал: Там трабл небольшой .Что если при замене значения здоровья , оно остаётся прежним . Типа было 100 изменил на 1000 , но при этом у меня хп всё рано 100. Показать Выложи свой скрипт, чтобы понятнее было про что ты сейчас говоришь. Если ты сделал как я написал, то всё правильно, так и должно быть, т.е. мы возвращаем предыдущее значение. Если ты хочешь не получать урона и одновременно увеличить жизнь, то нужно сделать по другому, просто заменить строчку: mov ecx,[ebp-24] на mov ecx,#1000 // или так mov ecx,(float)1000 (ты не написал в каких еденицах у тебя здоровье в игре.) Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 Поменял mov ecx,[ebp-24] на mov ecx,[eax+0000000A4] . Только возможно , это визуально . Проверю , напишу. Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 17:46, ШАРИК сказал: Поменял mov ecx,[ebp-24] на mov ecx,[eax+0000000A4] . Только возможно , это визуально . Проверю , напишу. Показать Забыл сказать , что работает . Хп не отнимаются . 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 18:33, ШАРИК сказал: Забыл сказать , что работает . Хп не отнимаются . Показать Отлично, люблю - когда работает. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 18:38, Garik66 сказал: Отлично, люблю - когда работает. Показать Но может быть такое , что хп не отнимаются лишь визуально... Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 13 ноября, 2016 Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 18:42, ШАРИК сказал: Но может быть такое , что хп не отнимаются лишь визуально... Показать Может, проверяется просто - попрыгай ещё , если не умрёшь и на 20 раз то значение не визуальное. Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 13 ноября, 2016 Автор Поделиться Опубликовано 13 ноября, 2016 В 13.11.2016 в 18:44, Garik66 сказал: Может, проверяется просто - попрыгай ещё , если не умрёшь и на 20 раз то значение не визуальное. Показать Ну я пробовал менять сами адреса со значением хп . Всё равно умираю... Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 14 ноября, 2016 Автор Поделиться Опубликовано 14 ноября, 2016 В 13.11.2016 в 18:44, Garik66 сказал: Может, проверяется просто - попрыгай ещё , если не умрёшь и на 20 раз то значение не визуальное. Показать Не . Всё равно умираю... Ссылка на комментарий Поделиться на другие сайты Поделиться
saiberpro Опубликовано 14 ноября, 2016 Поделиться Опубликовано 14 ноября, 2016 В 13.11.2016 в 18:46, ШАРИК сказал: Ну я пробовал менять сами адреса со значением хп . Всё равно умираю... Показать Ты можешь умирать ещё именно из за реализации игрового кода а именно из за того что у тебя допустим 100 единиц здоровья а тут ты прыгнул и получил 105 ез и именно поэтому ты умираешь перманентно. Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 14 ноября, 2016 Автор Поделиться Опубликовано 14 ноября, 2016 В 14.11.2016 в 12:08, saiberpro сказал: Ты можешь умирать ещё именно из за реализации игрового кода а именно из за того что у тебя допустим 100 единиц здоровья а тут ты прыгнул и получил 105 ез и именно поэтому ты умираешь перманентно. Показать Не , там дамажит 10 хп . А уменя 9 . Я прыгнул и умер ... Хп не отнимаются лишь визуально Ссылка на комментарий Поделиться на другие сайты Поделиться
ШАРИК Опубликовано 14 ноября, 2016 Автор Поделиться Опубликовано 14 ноября, 2016 (изменено) Короче с хп бесполезно возиться ... Я как-то нашёл инструкцию одну . Занопил , не мог прыгать , но когда падал с большой высоты , то меня сразу вниз телепортировало без урона. Может быть есть кто-то , кто может в скайпе помочь ? Только я без микро . Изменено 14 ноября, 2016 пользователем ШАРИК Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения