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