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

SergBrNord

Пользователи+
  • Постов

    155
  • Зарегистрирован

  • Посещение

  • Победитель дней

    12

Весь контент SergBrNord

  1. Гарик, в общем я попробовал сделать всё это. Игра вылетает до функций чтения и записи здоровья, которые мы используем. Т.е. - набежал на здоровье - и в момент разрушения объекта игра крашится. Брекпоинт не срабатывал на инструкции записи. На инструкцию чтения брекпоинт поставить сложновато - там постоянно чтение идёт.
  2. Да банально. Берём тот же скрипт Лирва. Собственно, какие глюки я пока выловил: падение при использовании рычага, падение при подбирании бонуса +100 к здоровью (выглядит как большое сердце), внезапно начинающееся дерганье камеры вверх-вниз, ну и отдельный случай был - падение при открытии статистики по уровню. В SS:FE такой ерунды нет, хотя скрипты написаны на ту же функцию игры.
  3. Гарик, а есть метод/методы отловить, что неправильно делает скрипт? В чём дело - у меня появилось времени немного пробегать в игрушке и выяснилось - спустя некоторое время камера начинает либо бешено трястись, либо игра зависает/крашится. Крашнуться она может, например, при подборе здоровья или на ровном месте. Вот, собственно, хочется отследить этот момент. P.S. В моём другом скрипте, для SS:FE такого не происходит. Хотя логика скриптов такая же и внедряется в аналогичные куски кода.
  4. В общем, практически зеркально повторилась ситуация с нахождением инструкции по здоровью. Скриншот с остановом по X в предыдущем посте я заскринил неправильно и позже это понял. Однако это привело к пониманию, что структура с координатами лежит в EAX. Кстати, в ESI лежит практически то же самое...
  5. Вот нашёл координаты и посмотрел в памяти что где: Поставил останов на X: Останов на Y: Останов на Z: Собственно, с какой инструкции начать работать лучше? Я не вижу ни одной подходящей Upd. Пока буду работать с X, так как Z - бессмысленно; Y - в структуре чушь.
  6. Появилось наконец-то время, сейчас попробую. Правда есть опасения, что таким образом я выйду на функцию, отвечающую за полёт в чит режиме. Я подобным образом уже пробовал делать - брал тот же уровень и нырял в яму с водой. Но при заморозке значений игра любила вылетать =)
  7. Скажем так, на твоём месте я бы пошёл в ЖДшку, а сам начал бы что-то читать дома. Но! В данном варианте требуется сильный внутренний стержень (чтобы пинать себя и заставлять кодить) + неплохо бы иметь знакомых, которые учились или лучше - учатся (работают) прямо сейчас на программиста, чтобы получить структурированные знания путём следования учебной программе + конспекты ненужные можно пострелять (у меня так лежит отличнейший конспект по ТРПО). Кроме этого, советую разузнать, чему там, собственно, учат, ибо заведение заведению рознь. И если есть вариант сразу поступить в высшее учебное заведение - поступай. Я вот так в среднем специальном выучился, потом пошел в универ - а там та же ерунда в 5 лет. В сухом остатке - зря потерянное время. Есть, конечно, вариант окончить среднее специальное и пойти на заочное обучение, но тут надо быть уверенным, что тебя со средним специальным возьмут на работу по специальности. А вот с этим в малых городах большие проблемы - я так мыкался по слабо связанным со моей специальностью работам, ибо все требуют высшее образование, причём, корка нужна ТУПО для соответствия списочному составу организации в разрезе специализаций и больше ни для чего. Поэтому, если идёшь на заочное - у тебя должны быть подвязки либо место, куда возьмут, либо ты должен быть лёгок на подъём, дабы переехать в место, где такая работа есть, либо уже трудоустроен =) P.S. Плюсы от учёбы в средних специальных - время идёт в трудовой стаж и получаешь в процессе учёбы рабочие специальности (одну или две).
  8. Я не могу выйти на адрес хотя бы одной координаты - пытался сделать так же как на видео у Xipho, но ничего не замораживается. Не могу понять, что же делаю не так?...
  9. Я так понимаю, одна из них та, на которую ты второй вариант скрипта писал? Гарик, а ты пробовал координаты поискать? Я пробовал как на видео у Xipho, но у меня из получившихся значений ничто не оказалось координатами игрока.
  10. Как я понял, ты сравнением структур нашёл это значение?
  11. А как на эту инструкцию выйти? Пробовал посмотреть, что патроны меняет - вылезает та же инструкция что и на ХП. Ну, по сути да. Только там за подбор очки даются и нахождение секретов. И я планировал для начала понять, как правильно замораживать только здоровье. Потом ради интереса подтянулась броня и до кучи - оружие. Теперь и телепорт хочу сделать Только я вот не понимаю, про какой флаг речь? Ну и нашёл патроны ко всему оружию:
  12. Гарик, я понял, как Джери вышел на другую инструкцию и собираюсь чуть попозже попробовать самому. Я имел ввиду, как перейти к месту, изменяемому скриптом. Собственно, какой выход я нашёл: Открывается Memory Viewer -> Копируется адрес из скрипта ("SamHD_TSE.exe"+4F483A) -> ПКМ -> Вставляется адрес.
  13. Только предупреждаю - при внедрении в тот участок кода лучше не использовать Серьёзную Пушку (которая ядрами стреляет) - в момент выстрела игра просто крашится. Я так и не смог отловить из-за чего. А за ссылки спасибо - почитал. Одна тема, фактически повтор урока от Xipho с Ютутба; ну а во второй теме посмотрел скрипт на старую версию игры, заодно в ней ссылка на тему туториала есть. Правда, на этом моменте у меня мозг немного переклинило: Я не могу сообразить где тут собака зарыта? Мы находим значение регистра. Но смысл? Нет, ну я, конечно, пробовал сделать так в Сэме но получилась чушь в 2к+ адресов, практически не отсеивающаяся. P.S. Я, наверное, не увидел ответа на вопрос, поэтому повторюсь - как, имея в скрипте цепочку байт (GodMod,SamHD_TSE.exe,CC 8B 01 33 C1 39 41 04 ), по это цепочки в Memory Viewer выйти на нужный участок кода?
  14. Имеется AOB-скрипт, есть цепочка байт. Как по этой цепочке выйти на тот участок кода через Memory Viewer, который он изменяет? Выложи свой скрипт, пожалуйста. Объясни, как ты на эту инструкцию вышел-то? Хотя бы на адрес в игре посмотреть - пробовал то скрипт от Гери - у меня он не работает.
  15. Сделал так, чтобы инструкция постоянно срабатывала - ничего не произошло. Скучно =( Броня работает, здоровье отказывается уменьшаться. Сейчас пофикшу. UPD. Заставил здоровье прибавляться, но изменение здоровья каким-то образом уменьшает коэффициент входящего урона в монстров. Посмотрю xor-ы. Это пушка, стреляющая ядрами. буквально =) Вот линк на мои сейвы. Самый первый - там пушка уже есть. Только сохранено рядом с монстром. https://www.dropbox.com/s/f0obmwevlkmb8qn/SeriousSamHD_TSE.rar?dl=0 P.S. А можно ли перемещаться от скрипта к участку кода, который он изменяет?
  16. Я, нашёл их чуть ранее. Начинаются с 588, чередуются через смещение в 6. Проблема в том, что у разного оружия - разные пределы патронов + идёт варьирование значения от сложности игры(!) : И вот тут возникает трудность - как сделать так, чтобы смотрелось нормально. Можно, конечно всему пихать по 5 патронов... А каким образом это проверять?
  17. У меня пролетало. Я в конце-концов плюнул и начал поштучно отлавливать монстров, находить их ХП и смотреть в структуре - меняется ли значение от моего урона. Как я понял есть несколько классов монстров и класс игрока игра также считает за монстра, монстра с параметром брони. А вот как лучше заморозить значение патронов в оружии, если в структуре игрока хранятся сведения о количестве, но нет максимального (я пока не нашёл)?
  18. Да, опробовал. Заодно выполз пролёт с регистрами. При вычислении здоровья противников eax и esi также одинаковы. Теперь скрипт выглядит так и работает корректно (кроме пушки - так и не понял, как починить):
  19. Я тут кое-что прояснил по пушке...Игра крашится даже при попытке нахождения всех опкодов, имеющих доступ к адресу патронов пушки. Если учитывать, что до CE 6.4 игра тупо падала даже при подключении отладчика - то явно проблема в кривом коде игры. А если вспомнить, что это порт классики с SE1 на движок SE3 и то, что последний раз фиксы на игру (2010 года) выходили в апреле 2015, подозрения перерастают в уверенность. В прочем, по поводу пушки у меня есть одна идейка. Сейчас опробую. И заодно проверю фильтр брони и посмотрю, может третий прикручу. Обновлено. Не работает. Идея основывалась на том, что в EBX при стрельбе из пушки пишется 1, но при внедрении модернизированного скрипта при стрельбе из серьёзной пушки игра всё равно падает. И что ты будешь делать....
  20. Этот тоже. Игра нервно реагирует как-то на прямое изменение брони. Скорее всего, при прямом подборе начинает работать что-то ещё и как это отлавливать - не знаю. И вот забавная деталь - при попытке пострелять из серьёзной пушки игра крашится =) Причём краш происходит при любом изменении функции "mov [ecx], eax". Какую-то непростую зверюшку я себе для опытов выбрал...
  21. Использовал для этого дела Notepad++ и плагин Compare. Меняются 3 значения - броня, указатель и флаг. И вот тут происходит любопытная вещь: Тут структура игрока загоняется в стек или что? Если открыть указатель по смещению 4, то он будет ссылаться на адрес *BD0, там же опять присутствует указатель по смещению 4, который ссылает на адрес *DD4 и так далее... Вот новая версия скрипта: P.S. Проверил твой и свой вариант скрипта - всё равно работает криво и с крашами. Как я и писал раньше - игра крайне нервно реагирует на прямое изменение содержимого.
  22. На лицензии, CE младше 6.4 крашил игру при присоединении отладчика. Собственно, хоть я давно уроки посмотрел, но только на CE 6.4 смог начать её ломать - других шутеров у меня просто нет, только куча квестов. Так что у игры явно есть какой-то антидебаг-механизм . Протестировал этот вариант. Как я понял, у некоторых врагов тоже присутствует параметр брони и в этом варианте им тоже добавляется броня. Соответственно, из некоторого оружия их становится просто не убить - к примеру, у клиров из двустволки в упор снимается 50% здоровья, хотя должно ваншотить. Ну и, в конце-концов, игра минут через 8 подвисает. P.S. А есть ли в CE механизм, в который можно подгрузить старую и новую структуру и сравнить?
×
×
  • Создать...

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

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