IPB

Здравствуйте, гость ( Вход | Регистрация )

23 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Обсуждение инженерного анализа
easy-to-kill
сообщение 26 Sep 2007, 15:32 (Сообщение отредактировал Docent Picolan - 05 Jul 2014, 14:07)
Сообщение #1

Чёкнутый Призрак
Сообщений: 69
Спасибо сказали: 0 раз




Думаешь тебе так прямо кто-то и скажет? Чертас-два.
Ну а если серьезно то надо формулировать свой вопрос поконкретнее.
Меня к примеру интересует как в вог организована интерпретация ерм команд.


--------------------
Больше всего на свете я ненавижу две вещи - манию величия, и жалких клопов называющих себя людьми :)
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 26 Sep 2007, 17:32
Сообщение #2

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Цитата(easy-to-kill @ 26 Sep 2007, 15:32)
Меня к примеру интересует как в вог организована интерпретация ерм команд.

hard coded
Go to the top of the pageAdd Nick
 
+Quote Post
Чёртос-2 (Chorto...
сообщение 26 Sep 2007, 21:15 (Сообщение отредактировал Чёртос-2 (Chortos-2) - 26 Sep 2007, 21:16)
Сообщение #3

The Unicode Man
Сообщений: 993
Спасибо сказали: 6 раз




Игродел, твой ответ немного не в тему. Потому что тема как раз таки про то, как игра устроена изнутри. Я вот знаю, что Сергей (который SergRoj) знает, в какой структуре данных хранится информация о существах. В принципе, я хочу собрать всё, что можно — начиная от структур данных и заканчивая адресами этих самых структур данных и функций.


--------------------
© 2005–2011 Чёртос-2
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 26 Sep 2007, 21:46
Сообщение #4

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Борн упорно молчит?
Go to the top of the pageAdd Nick
 
+Quote Post
pokrik1
сообщение 30 Sep 2007, 00:22
Сообщение #5

муравейка
Сообщений: 726
Спасибо сказали: 10 раз




Господин Irh, а случаем не посещали темку Магические заклинания в WoG? Про заклинания что-нибудь знаете на таком же уровне? (где сидят, как поменять и т.д.)
Go to the top of the pageAdd Nick
 
+Quote Post
Irh
сообщение 30 Sep 2007, 00:34
Сообщение #6

Immortal
Сообщений: 1 137
Спасибо сказали: 269 раз




Нет, с заклинаниями не разбирался.

sergroj, +

Добавлено ([mergetime]1191101640[/mergetime]):
Может, стоит сразу разбить тему на две? unsure.gif Данные и обсуждения... А то будет как в остальных - десять страниц, из них 9 - вопросы и обсуждения. Что тоже важно, но когда нужна инфа, искать неудобно.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Black Phantom
сообщение 30 Sep 2007, 20:17 (Сообщение отредактировал Black Phantom - 30 Sep 2007, 20:18)
Сообщение #7

Immortal
Сообщений: 1 320
Спасибо сказали: 469 раз




Цитата(sergroj @ 28 Sep 2007, 22:30)
Таблица монстров состоит из таких структур: (одинакова для игры и редактора карт)
Код
   Town: int;
   Level: int;
   SoundName: PChar; // 4 буквы, с которых начинаются звуки монстра
   DefName: PChar;
   Flags: int;
   Name: PChar;
   PluralName: PChar;
   Features: PChar; // (описание способностей)
   CostWood: int;
   CostMercury: int;
   CostOre: int;
   CostSulfor: int;
   CostCrystal: int;
   CostGems: int;
   CostGold: int;
   FightValue: int;
   AIValue: int;
   Growth: int;
   HordeGrowth: int;
   HitPoints: int;
   Speed: int;
   Attack: int;
   Defence: int;
   DamageLow: int;
   DamageHigh: int;
   Shots: int;
   Spells: int;
   AdvLow: int;  // ?
   AdvHigh: int; // ?


В файле h3wog.exe таблица стандартных монстров находится по адресу $2703B8, а новые монстры - $31C188.

Таблица артефактов (проверял только в редакторе)
Код
   ArTraits: array[0..6] of int;
   CantAdd: int;

ArTraits я не описывал, но он полностью соответствует столбцам файла ArTraits.txt
CantAdd - если не 0, то в Редакторе карт артефакт не показывается в списке тех, которые можно дать герою, поставить наградой за задание провидца и т.п.


А почему всё-таки никто кроме ZVS не умеет добавлять новых монстров, если структура EXE известна многим? Ведь есть же на форуме много толковых людей хорошо владеющих прграммированием на C++.


--------------------
Все на земле боится времени, но время боится Героев Меча и Магии
Go to the top of the pageAdd Nick
 
+Quote Post
Гость_Berserker_*
сообщение 30 Sep 2007, 20:25 (Сообщение отредактировал Berserker - 30 Sep 2007, 21:38)
Сообщение #8







Дело вовсе не в языке программирования. Подойдёт любой язык программирования, который разрешает прямую записаь и чтение из памяти. Чтобы встроить монстра, надо во многих местах ввести дополнительный код, чтобы игра корректно обрабатывала его. Остальное - к ZVS
Go to the top of the pageAdd Nick
 
+Quote Post
easy-to-kill
сообщение 01 Oct 2007, 13:28
Сообщение #9

Чёкнутый Призрак
Сообщений: 69
Спасибо сказали: 0 раз




У меня вопрос насчет пресловутого лимита существ. Кто-нибудь пытался найти ячейку памяти где храниться их кол-во?

Чертас-Два каким дизассемблером пользуешься? Можешь ссылку кинуть?


--------------------
Больше всего на свете я ненавижу две вещи - манию величия, и жалких клопов называющих себя людьми :)
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 01 Oct 2007, 21:14
Сообщение #10

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Лимит существ нигде не хранится. Просто когда номер существа записан в один байт, он никак не может быть больше 255.

Цитата(Berserker @ 01 Oct 2007, 00:25)
Чтобы встроить монстра, надо во многих местах ввести дополнительный код, чтобы игра корректно обрабатывала его.

Точнее, не дополнительный код, а просто менять существующий в куче мест - везде (!), где используется кол-во монстров и, возможно, везде, где используется ссылка на таблицу монстров.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
Чёртос-2 (Chorto...
сообщение 01 Oct 2007, 21:41 (Сообщение отредактировал Чёртос-2 (Chortos-2) - 01 Oct 2007, 21:42)
Сообщение #11

The Unicode Man
Сообщений: 993
Спасибо сказали: 6 раз




Цитата(easy-to-kill @ 01 Oct 2007, 13:28)
Чертас-Два каким дизассемблером пользуешься? Можешь ссылку кинуть?
Пользуюсь двумя сразу — одним, встроенным в PE Explorer от компании Heaventools (в свое время я о нём узнал от Bourn’а), который полноценно дизассемблирует весь код, пытаясь эмулировать выполнение кода процессором, и другим, встроенным в Hiew, который дизассемблирует на ходу то, что влезает в буфер, зато позволяет код не только смотреть, но сразу и менять (в том числе, можно писать не только машинный код, но и ассемблерный). [Оба продукта платные, что немного осложняет их использование.] Хочу попробовать IDA, в первую очередь, сравнить его с поделкой Heaventools.


--------------------
© 2005–2011 Чёртос-2
Go to the top of the pageAdd Nick
 
+Quote Post
Bisik
сообщение 02 Oct 2007, 03:12
Сообщение #12

Immortal
Сообщений: 1 235
Спасибо сказали: 63 раза




У меня вот такой вопрос: для нового мода людского замка я хотел бы поменять абилки некоторым юнитам, поэтому не мог бы кто нибудь мне рассказать где это меняется? Я уже получил много ответов типа "это невозможно", но ведь разработчики ВоГа сделали нейтральный замок и добились полностью перепотрошить элементалей, поэтому, если кто нибудь из вас что нибудь об этом знает, плиз не утаивайте smile.gif


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
easy-to-kill
сообщение 02 Oct 2007, 08:48
Сообщение #13

Чёкнутый Призрак
Сообщений: 69
Спасибо сказали: 0 раз




Цитата
Лимит существ нигде не хранится. Просто когда номер существа записан в один байт, он никак не может быть больше 255.

Так я и не спрашиваю где лимит монстров хранится. Я спрашиваю где хранится количество монстров.


--------------------
Больше всего на свете я ненавижу две вещи - манию величия, и жалких клопов называющих себя людьми :)
Go to the top of the pageAdd Nick
 
+Quote Post
Arseny
сообщение 02 Oct 2007, 14:56
Сообщение #14

Immortal
Сообщений: 1 710
Спасибо сказали: 79 раз




В этом байте и хранится их количество.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
easy-to-kill
сообщение 02 Oct 2007, 15:21
Сообщение #15

Чёкнутый Призрак
Сообщений: 69
Спасибо сказали: 0 раз




По какому адресу этот байт?


--------------------
Больше всего на свете я ненавижу две вещи - манию величия, и жалких клопов называющих себя людьми :)
Go to the top of the pageAdd Nick
 
+Quote Post
Irh
сообщение 02 Oct 2007, 21:09
Сообщение #16

Immortal
Сообщений: 1 137
Спасибо сказали: 269 раз




Где-то в коде программы - в нескольких местах и в различных видах - кроме того, оно влияет на расположение данных. Поэтому поменять его непросто. Точно сказать не могу.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Чёртос-2 (Chorto...
сообщение 02 Oct 2007, 23:13
Сообщение #17

The Unicode Man
Сообщений: 993
Спасибо сказали: 6 раз




По просьбам трудящихся открываю отдельную тему для обсуждения инженерного анализа.


--------------------
© 2005–2011 Чёртос-2
Go to the top of the pageAdd Nick
 
+Quote Post
Docent Picolan
сообщение 02 Oct 2007, 23:17
Сообщение #18

   
Сообщений: 29 680
Спасибо сказали: 18132 раза




может сам анализ прилепить? тема-то важная
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 03 Oct 2007, 20:13
Сообщение #19

В миру GrayFace
Сообщений: 2 528
Спасибо сказали: 816 раз




Цитата(easy-to-kill @ 02 Oct 2007, 12:48)
Так я и не спрашиваю где лимит монстров хранится. Я спрашиваю где хранится количество монстров.

А про это написано ниже в том же посте smile.gif Это маленькая константа, поэтому всюду, где она используется, она подставлена своим значением. + для введения новых монстров, вероятно, потребуется менять адрес таблицы монстров, а это еще такая же куча адресов на таблицу.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
Demiurg
сообщение 12 Oct 2007, 23:06
Сообщение #20

Immortal
Сообщений: 670
Спасибо сказали: 14 раз




Адрес (или указатель на) таблицы с героями подскажите плз.
Тоже относится к битве. Интересуют адреса копий героев. (Доступ к которым осуществляется через !!HE-10, !!HE-20)


--------------------
Самый страшный, кого можно встретить на экзамене, – факер Нео

Go to the top of the pageAdd Nick
 
+Quote Post

23 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19 March 2024 - 06:39
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика