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

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

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

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

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

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

Только что, partoftheworlD сказал:

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

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

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

1 минуту назад, ШАРИК сказал:

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

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

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

2 часа назад, ШАРИК сказал:

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

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

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

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

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

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

43 минуты назад, Garik66 сказал:

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

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

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

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

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

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

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

Скрытый текст

Prmxy4mEKGI.jpg

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

Скрытый текст

dRKaNDziBKs.jpg

 

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

25 минуты назад, ШАРИК сказал:

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

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

mov ecx,[ebp-24]

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

mov ecx,[eax+0000000A4]

 

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

1 минуту назад, ШАРИК сказал:

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

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

 mov [eax+0000000A4].ecx

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

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

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

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

2 минуты назад, ШАРИК сказал:

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

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

mov ecx,[ebp-24]

на 

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

 

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

42 минуты назад, ШАРИК сказал:

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

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

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

1 минуту назад, ШАРИК сказал:

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

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

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

Только что, Garik66 сказал:

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

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

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

17 час назад, Garik66 сказал:

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

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

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

17 час назад, ШАРИК сказал:

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

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

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

Только что, saiberpro сказал:

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

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

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

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

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

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

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

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