Перейти к содержанию

Рекомендуемые сообщения

Здравствуйте , как убрать в игре урон от падений?
Я знаю , что урон напрямую зависит от высоты , с которой падаешь .
Чем выше высота , тем больше урон от падения.
Но я предполагаю , что в игре урон рассчитывается следующим образом : пока персонаж падает , и координата Z уменьшается , значение адреса , в котором хранится урон от падения , увеличивается.
Думаю решить следующим образом: как-то найти адрес ,в котором хранится урон от падения , найти инструкцию , которая пишет в этот адрес , и заменить её NOP'ом.
Только как найти адрес ,в котором хранится урон от падения?
Если есть видео о подобном скиньте пожалуйста . То что название игры я не сказал , я знаю )

Ссылка на комментарий
Поделиться на другие сайты

Инструкция более вероятно относится к метода на нанесение урона в любом виде, поэтому отдельного адреса под этот урон нет.Тебе нужно отследить какие инструкцию работают в момент падение(при контакте с поверхностью) и наносят урон и от них уже отходить.

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 13:04, partoftheworlD сказал:

Выше по инструкциям смотри.

Показать  

От инструкции , которая работает с координатой Z ? Или от какой?

Изменено пользователем ШАРИК
Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 13:07, ШАРИК сказал:

От инструкции , которая работает с координатой Z ? Или от какой?

Показать  

От инструкции которая наносит урон, скорее всего после расчетов значение урона будет передаваться на эту инструкцию, если нет других инструкций после падений.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 12:23, ШАРИК сказал:

Здравствуйте , как убрать в игре урон от падений?

Показать  

Я бы делал по такому плану:

1. Адрес здоровья.

2. Бряк на запись -> инструкция нанесения урона (но в некоторых играх она может быть и инструкцией на лечение, например инструкция типа add [adres HP],eax - eax может быть как отрицательным - урон, так и положительным - лечение, смена уровня, загрузка сейва игры)

3. Ну а дальше уже изучать игровой код выше этой инструкции - искать откуда попадает (где рассчитывается урон), Скорее всего это значение будет браться из стека (или регистра или fpu-регистра) 

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 15:05, Garik66 сказал:

Я бы делал по такому плану:

1. Адрес здоровья.

2. Бряк на запись -> инструкция нанесения урона (но в некоторых играх она может быть и инструкцией на лечение, например инструкция типа add [adres HP],eax - eax может быть как отрицательным - урон, так и положительным - лечение, смена уровня, загрузка сейва игры)

3. Ну а дальше уже изучать игровой код выше этой инструкции - искать откуда попадает (где рассчитывается урон), Скорее всего это значение будет браться из стека (или регистра или fpu-регистра) 

Показать  

Ща скрин кину .Только там 2 адреса с хп.

Ссылка на комментарий
Поделиться на другие сайты

Так . Значит в первый адрес пишет одна инструкция при любом уроне

  Показать контент

Во второй адрес пишут разные инструкции при разном уроне.
При падении одна инструкция , при ранении другая.
Эта инструкция пишет при нанесении урона от падения.

  Показать контент

 

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 16:01, ШАРИК сказал:

Эта инструкция пишет при нанесении урона от падения.

Показать  

Ну так и проверь её: вместо 

mov ecx,[ebp-24]

поставь в скрипте 

mov ecx,[eax+0000000A4]

 

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 17:20, ШАРИК сказал:

Эмм... Но там же и так идёт
mov ecx,[ebp-24] ,а потом mov ecx,[eax+0000000A4]

Показать  

Посмотри внимательнее - там:

 mov [eax+0000000A4].ecx

Ну а если не понятно, что я имел ввиду, то просто выложите АА-скрипт из этой инструкции  mov ecx,[ebp-24]. Напишу скрипт, который нужно будет проверить. 

Ссылка на комментарий
Поделиться на другие сайты

Там трабл небольшой .Что если при замене значения здоровья , оно остаётся прежним .
Типа было 100 изменил на 1000 , но при этом у меня хп всё рано 100.

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 17:26, ШАРИК сказал:

Там трабл небольшой .Что если при замене значения здоровья , оно остаётся прежним .
Типа было 100 изменил на 1000 , но при этом у меня хп всё рано 100.

Показать  

Выложи свой скрипт, чтобы понятнее было про что ты сейчас говоришь. Если ты сделал как я написал, то всё правильно, так и должно быть, т.е. мы возвращаем предыдущее значение. Если ты хочешь не получать урона и одновременно увеличить жизнь, то нужно сделать по другому, просто заменить строчку:

mov ecx,[ebp-24]

на 

mov ecx,#1000 // или так mov ecx,(float)1000 (ты не написал в каких еденицах у тебя здоровье в игре.)

 

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 17:46, ШАРИК сказал:

Поменял mov ecx,[ebp-24] на mov ecx,[eax+0000000A4] . Только возможно , это визуально . Проверю , напишу.

Показать  

Забыл сказать , что работает . Хп не отнимаются .

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 18:33, ШАРИК сказал:

Забыл сказать , что работает . Хп не отнимаются .

Показать  

Отлично, люблю - когда работает. :)

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 18:38, Garik66 сказал:

Отлично, люблю - когда работает. :)

Показать  

Но может быть такое , что хп не отнимаются лишь визуально...

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 18:42, ШАРИК сказал:

Но может быть такое , что хп не отнимаются лишь визуально...

Показать  

Может, проверяется просто - попрыгай ещё , если не умрёшь и на 20 раз то значение не визуальное. 

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 18:44, Garik66 сказал:

Может, проверяется просто - попрыгай ещё , если не умрёшь и на 20 раз то значение не визуальное. 

Показать  

Ну я пробовал менять сами адреса со значением хп . Всё равно умираю...

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 18:44, Garik66 сказал:

Может, проверяется просто - попрыгай ещё , если не умрёшь и на 20 раз то значение не визуальное. 

Показать  

Не . Всё равно умираю...

Ссылка на комментарий
Поделиться на другие сайты

  В 13.11.2016 в 18:46, ШАРИК сказал:

Ну я пробовал менять сами адреса со значением хп . Всё равно умираю...

Показать  

Ты можешь умирать ещё именно из за реализации игрового кода а именно из за того что у тебя допустим 100 единиц здоровья а тут ты прыгнул и получил 105 ез и именно поэтому ты умираешь перманентно. 

Ссылка на комментарий
Поделиться на другие сайты

  В 14.11.2016 в 12:08, saiberpro сказал:

Ты можешь умирать ещё именно из за реализации игрового кода а именно из за того что у тебя допустим 100 единиц здоровья а тут ты прыгнул и получил 105 ез и именно поэтому ты умираешь перманентно. 

Показать  

Не , там дамажит 10 хп . А уменя 9 . Я прыгнул и умер ... Хп не отнимаются лишь визуально

Ссылка на комментарий
Поделиться на другие сайты

Короче с хп бесполезно возиться ... Я как-то нашёл инструкцию одну . Занопил , не мог прыгать , но когда падал с большой высоты , то меня сразу вниз телепортировало без урона.
Может быть есть кто-то , кто может в скайпе помочь ? Только я без микро .

Изменено пользователем ШАРИК
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.