Раскопки Game.exe
#21
С удовольствием могу ешё покапаться...
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#22
В мультиплеере есть БОЛЬШАЯ проблема - не сохраняются переменные в сейве. Можешь ты посмотреть, почему они удаляются и можно ли это исправить?
Подойдет любая информация, связанная с этим.
Ответ
#23
Блин!!!! я уже выложил в посёлке свои соображения, КОТ ЧТО РАСКОПАЛ?!?!?!

Цитата:  но ведь GAME написан на C++.

Всё на сях!! Но, если честно, я не пойму, как ЭТО может быть С++, тем более Visual(см. скрин в посёлке.. в теме "bugtraq"). Больше походит на СиБейст и по структуре, и по описанию функций. Может быть, мод какой-то???


Цитата:  нащёл несколько интересных вещей почти всё в игре сделано через соответствующий менеджер
Управляющий скрипт, использующий таблицу Дескрипторов состояния...(см. Посёлок)

Все, кто дебажил, заметили немалые массивы, выделенные для работы с текстурами.. При этом они не имеют чётко привязанного адреса.
Некоторые функции и процедуры аналогичны.. Они имеют инициализационный дескриптор в edi (Ну это понятно) или esi (а вот это не ясно, почему там? может
из-за того, что юзаются процедуры системных библиотек, нп. ADVAPi32.dll )

Любопытно!:

Скрипты ПЗ, при работе с объектами в версии 1.06 уничтожаются так: нет инструкции Destroy или Dlete, просто имя объекта в таблице переписывается, поверх записываются новые свойства (для этого вообще строго резервирован специальный сегмент), а старые заявляются с низким приорететом.
Ответ
#24
Jet,26 Май 2004, 17:03 Написал:В мультиплеере есть БОЛЬШАЯ проблема - не сохраняются переменные в сейве. Можешь ты посмотреть, почему они удаляются и можно ли это исправить?
Подойдет любая информация, связанная с этим.
А поподробнее можно в приват попробую пошарить Rolleyes .!!!!!!!!!!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#25
Может все-таки на Borlande или Builde

Ps Копаться в движке тяжело, но много чего можно оттуда извлечь.
Ответ
#26
CTpaHHuK,31 Май 2004, 11:15 Написал:Может все-таки на Borlande или Builde

Ps   Копаться в движке тяжело, но много чего можно оттуда извлечь.
Однозначно на VisualC++.
Тяжело это не то слово а библиотека mfc всё ещё больше запутывает насчёт интересного это точно например так называемый скил tame(приручение) ведь присутствует в движке только не подключен.!!!!!!!!!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#27
Насчёт Tame, я пытался заменить функцию кнопки украстьиспользовать на приручение, но удалось заменить только всплывающие хинты... Пробовал даже с изменением датабазы Skills.txt.
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#28
Ni28,31 Май 2004, 12:04 Написал:Насчёт Tame, я пытался заменить функцию кнопки украстьиспользовать на приручение, но удалось заменить только всплывающие хинты... Пробовал даже с изменением  датабазы Skills.txt.
Кнопку я тоже заменял, а ты как хинты заменил? Кстати проблема не только в картинке как ты наверное заметил функция обращается по jmp в perk но не найдя соответствующей характеристики не осуществляет переход на функцию tame тут ещё надо покапаться.!!!!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#29
Я нашел очень интересные вещи, в текстовых ресурсах, в перках есть такие вещи:
PERK Science - Ловкость рук.
PERK Stealing - Воровство.
Хинт я изменил с use_science (ВороватьИспользовать) в экзэшнике по адресу 0x002fb7d4 на tame (Приручить).
Кстати, есть PERK Tame - Приручение...

Нет такого звука, а должен быть при приручении heroeshumanskillstame.wav
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#30
Ni28,31 Май 2004, 13:12 Написал:Я нашел очень интересные вещи, в текстовых ресурсах, в перках есть такие вещи:
PERK Science - Ловкость рук.
PERK Stealing - Воровство.
Хинт я изменил с use_science (ВороватьИспользовать) в экзэшнике по адресу 0x002fb7d4 на tame (Приручить).
Кстати, есть PERK Tame - Приручение...

Нет такого звука, а должен быть при приручении heroeshumanskillstame.wav
Ну попробовал я строки менять и что должно было получиться, ровным счётом я не каких изменений не увидел. Насчёт звука согласен должен быть.!!!!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#31
PZIGOR

Вот какая трабла существует..) как раз по поводу раскопок экзешника..) Наверное ты знаешь, что с использованием определенных консольных команд возможно получить персонажа-монстра (заяц, волк, тролль) но персонаж получается белым то есть без текстур... копаясь в ресурсах я сделал вывод что скорее всего текстуры монстров не появляются по причине того что они находятся в другом контейнере (другом относительно "человеческих" и "орковских" текстур), а именно человеские в redress.res текстуры монстров в textures.res. подробнее об этих раскопках в этой теме текстуры для белых монстров
Собственно вопрос можно ли каким либо образом заставить Пзю.. искать текстуры не только в redress.res но и в textures.res?
И сопутствующая проблема то что монстров нельзя заходить в маркет, и у персонажа монстра даже обрезанные текстуры появляются тока если его отнести к human... такая вот подстава..( Если есть какие мысли по этому поводу погляди на досуге Wink
...
Ответ
#32
Посмотрим но пока некогда сессия кстати вопросом много накопилось по мере нахождения ответов буду писать в этой теме.!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#33
Как показал опыт использования ArtMoney: в ПЗ переменные не имеют фиксированных адресов. Это сделано для экономии памяти.

Когда я дебажил game.exe, то заметил немалые масивы для подгрузки текстур.. Но это оффтоп.
Короче! Как и Какие свойства AI можно изменять непосредственно через память, например силу, ловкость... и как создать постоянный указатель на жтот параметр, а то они постоянно "убегают".. Sad
Ответ
#34
PZIGOR,05 Май 2004, 08:03 Написал:Ищу кого нибудь кто поможет раскопать game.exe и сам приложу к этому усилия. Если ктото может помочь прошу написать в эту тему, если чегонибудь нарою то вылжу здесь хотя я кодер не очень но учусь.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Какая цель «раскопок»…, что нужно найти?
Ответ
#35
Morgot, предлагаю продолжить тему тут. Wink
Ответ
#36
2sun
Думаю цель проверить свои знание асьмы и побольше узнать об устройстве исходного файла B)
"{}•••®/A//P][R[$®•••{}"
Ответ
#37
sun,07 Июня 2004, 14:50 Написал:Какая цель «раскопок»…, что нужно найти?
Необходимо определить что отключено и попытаться включить, попытаться уменьшить скорость расходования запаса сил, увеличить колличество опыта до переполнения счётчика немного изменить интерфейс, возможно написание каких то своих функций и внедрение в тело файла и т.д. Кстати SUN читал о предположениях и о скрытых возможностях довольно интересно. Есть идея внедрить ПЗ в редактор который собираемся делать или возможно опять твоя же идея зделать на базе сомого движка редактор. В общем что нибудь интересное всё равно получится. Кстати оставляю эту тему на этом сайте так как не нашёл понимания у Androidа Alpha на gipat видимо им это не интересно. Насчёт ресурсов если честно говоря не хотелось бы в них копаться, а вот в exeшнике завсегда готов!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#38
копая исходник, я пока понял только следующее(Сан, зацени):

1.в ПЗ существует постоянная и неизменная Ландшафтная модель.
2.Объект Перс заявлен, как постоянный, но с возможностью изменения его состояния: что делает..
3.по ходу дела некому скрипту попросту отсылаются объектами(AI, Персу, живности и т.п.) сообщения об их состоянии.Тот просчитывает их дальнейшее взаимодействие (там ближе к концу исходника идут описания состояний, которые ссылаюся на определённые события игры. события эмулируются по очень схожей схеме и, по моему, неким единым скриптом) . Т.е. существует некая совокупность объектов, между которыми возможно взаимодействие, которое эмулируется шелом(Game.exe), восприятия же взаимодействий зависят от свойств предмета. Пример:

Орк рубиться с Заком;
Орк: состояние удар, который он нанёс, целевой Объект Зак -> Сообшение в дескрипторную таблицу событий-> скрипт обрабатывает сообщение(есди бы орк кастил магию, то тогда бы уже скрипт ИЗМЕНИЛ ЕГО СВОЙСТВА, если это, было, нпример усиление) и отсылает соответствующую мессагу Заку:Kick, как, чем, куда; я не уверен, но кажется, скрипт должон бы преобразовывать это значение в некий эквивалент, т.е. он обрабатывает текущее состояние Зака и отсылат Заку тот самый эквивалент удара Орка. Зак, получив мессагу, и, в зависимости, от его свойств (Защита, броня...), воспринимает ЭТО. Затем отсылает своё текущее состояние, после удара, в дескрипторную таблицу, если, например, удар успешен, орк нанёс повреждение, то скрипт изменяет свойства объекта-Зака.

Если чесно, то туговато дело идёт. исходники нам в ряд ли дадут. GG написали свой стартер, вероятно, у них есть хоть кое-что. Просто многую иныу трудно будет применить, так как, например, при "разблокировании" скрытых фишек мы вызовем смещение последующих байтов. Тогда обращения к смещённым процедурам из-за этого вынужденного смещения будет неверным.
Ответ
#39
Цитата:Просто многую иныу трудно будет применить, так как, например, при "разблокировании" скрытых фишек мы вызовем смещение последующих байтов. Тогда обращения к смещённым процедурам из-за этого вынужденного смещения будет неверным.
Так жестоко не делают... и с чего ты взял, что "разблокирование" потянет за собой смещение? Huh
Ответ
#40
Какие смещения Morgot ты имееш ввиду? непонятно всё легко правится без всяких смещений если не хватает байт в функции то ищи в файле место забитое нулями и в функции пиши дальний или ближний переход в смысле jmp на место с нулями там пиши свои команды, а в конце делай опять jmp на конец функции и всё чего тут сложного.!!!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 6 Гость(ей)