Current time: 18.12.2017, 15:38 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Вопросы по моддингу
» (обсуждаем моддинг здесь)
Author Message
Berserker Offline
Administrators

Posts: 10382
Post: #31

Arseniy, FF - байт, FFFF - word, FFFFFFFF - dword.


Скачать Герои 3 Эра и всё, что с ней связано
15.03.2014 04:25
Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #32

Quote:FF - байт, FFFF - word, FFFFFFFF - dword.
Да, мне это очевидно.
Вопрос был, сколько байт писать по адресам:
4C948F
4C9497
4C950F
и почему.
Quote: ; стартовый адрес этой функции : 4C948F
; char __thiscall GenerateTavernHero(_MainStruct_ *this, int heroNum, int a3, char NoArmy)
GenerateTavernHero proc near

ArtNum= byte ptr -8
var_4= dword ptr -4
heroNum= dword ptr 8
a3= dword ptr 0Ch
NoArmy= dword ptr 10h

push ebp
mov ebp, esp
sub esp, 8 ; Integer Subtraction
mov edx, [ebp+heroNum] ; High
push ebx
mov eax, edx
push esi
shl eax, 6 ; Shift Logical Left
add eax, edx ; Add
lea esi, [edx+edx*2] ; Load Effective Address
shl esi, 3 ; Shift Logical Left
lea eax, [eax+eax*8] ; Load Effective Address
sub esi, edx ; Integer Subtraction
cmp CampaignGame, 0 ; Compare Two Operands
push edi
lea ebx, [ecx+eax*2] ; Load Effective Address
mov eax, HeroInfoTablePo
lea edi, [ebx+216B1h] ; Load Effective Address
lea esi, [eax+esi*4] ; Load Effective Address
jz short loc_004C9446 ; Jump if Zero (ZF=1)
Вот код функции, в которую это пишется. Но я совсем не силен в ассемблере.


- Как я сегодня балагурю?
- Вы прекрасны, сир! (с)
(This post was last modified: 15.03.2014 10:55 by Arseniy.)
15.03.2014 06:51
Find all posts by this user Quote this message in a reply
Ivor Offline
Moderators

Posts: 878
Post: #33

(14.03.2014 13:10)Arseniy Wrote:  Можно ли менять тип юнитов?
Да, можно. Для себя сделал так
67C7AC 67;Алкин 1-2-5
67C6EC 62;Вистан 1-2-2
67C698 68;Дракон 1-1-3
67C638 64;Брон 1-2-4
67C63C 6B;Брон 1-2-4
67C190 5D;Шива 1-2-5
67C1EC 58;Гретчин 1-1-3
67C248 5B;Креллион 1-2-4
67C2F8 54;Тираксор 1-2-2
67BF0C 4D;Geon 1-2-4
67BD40 4A;Shakti 1-1-3
67BB74 4F;Dace 1-2-5
67BAB4 46;Loreley 1-2-2
67B780 3C;Galtran 1-1-3
67B5B4 41;Moandor 1-2-5
67B558 3F;Vokial 1-2-4
67B4F4 38;Straker 1-2-2
67B1C0 33;Nimus 1-2-5
67B100 2A;Calh 1-2-2
67B050 2E;Ignaty 1-1-3
67AFF4 30;Marius 1-2-4
67ADCC 23;Teodor Golem > Mage
67AAEC 20;Torosar > Golem
67AAE8 1C;Torosar Gargoile > Gremlin
67A9D8 25;Thane Golem > Genie
67A974 1C;Пикедрам Gargoyle -> Gremlins
67A920 15;Aeris Elf > Pegasi
67A4D0 17;Ryland Elf > Dendr
67A410 0E;Ufretin Dwarf > Centaur
67A528 0E;Torgrim Dwarf > Centaur
67A24C 09;Inkham Griffon > Monk
679FC8 07;Sorsha: Griffon > Swordsman
679F68 00;Lord Haart: Archers->Pikemen
679E50 00;Valeska: 1-2-2

Quote:где задаются стартовые скиллы героев, специализации, стартовые заклинания?
Где-то рядом с этими значениями. Здесь, на DF2 или НС feanor или MOP выкладывали информацию об всех адресах стартовых героев


Моды (Иные герои, иные заклинания), скины
15.03.2014 12:46
Visit this user's website Find all posts by this user Quote this message in a reply
Ivor Offline
Moderators

Posts: 878
Post: #34

As Master of Puppets said:
   "679DD0h (279DD0h in exe, similar for SoD and all WoGs, but may not for HotA) - hero initial parameters. Array of dwords:
   1. Sex
   2. ?
   3. Class
   4. 1st skill
   5. 1st skill level
   6. 2nd skill
   7. 2nd skill level
   8. Spell book flag
   9. Spell number
   10. Creature type in first slot
   11. Creature type in second slot
   12. Creature type in third slot
   13. Pointer to small portrait name
   14. Pointer to large portrait name
   15. ?
   16-23. Always null.


Моды (Иные герои, иные заклинания), скины
15.03.2014 12:55
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1264
Post: #35

В always null, на самом деле, - ссылка на имя и ещё какая-то хрень, не помню уже. Просто WoG перенаправляет указатели и копирует содовскую структуру в свою (7C44C0h), делая еë рабочей для игры ещё до того, как в содовскую что-то запишется.


Я на Лит-Эре
15.03.2014 13:35
Find all posts by this user Quote this message in a reply
Ivor Offline
Moderators

Posts: 878
Post: #36

(08.03.2014 12:01)Ivor Wrote:  Но теперь новый баг. По клику на артефакт - вылезает окно:
Image: h3wmaped.png
Экзешник - стандартный, из дистриба Эры 2.4
https://dl.dropboxusercontent.com/u/5852...wmaped.exe
Читаемый адрес меняется от клика к клику.
Разобрался. Это из-за того, что в \Data\MapEdPatch\options.ini не увеличил количество артефактов


Моды (Иные герои, иные заклинания), скины
16.03.2014 14:38
Visit this user's website Find all posts by this user Quote this message in a reply
gamehuntera Offline

Posts: 792
Post: #37

   Вопрос - можно ли задать туману войны свойство возвращаться через неделю после открытия? Всмысле, герой проходит через карту, и на том месте, где он был неделю назад, снова появляется туман войны.
20.03.2014 08:59
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7132
Post: #38

(20.03.2014 08:59)gamehuntera Wrote:     Вопрос - можно ли задать туману войны свойство возвращаться через неделю после открытия? Всмысле, герой проходит через карту, и на том месте, где он был неделю назад, снова появляется туман войны.
Скриптами это всё можно сделать.
Очень просто сделать возвращение тумана войны в начале каждой недели. Но именно для открытия тумана ровно на неделю потребуется функционал Эры, в частности выделение памяти.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
20.03.2014 12:32
Find all posts by this user Quote this message in a reply
Ivor Offline
Moderators

Posts: 878
Post: #39

Задумался: а можно ли как-нибудь выделять некоторых нейтральных монстров? Например, проигрывать на них анимацию заклинания и разместить под ними одноклеточный псевдо-объект, который будет исчезать при уничтожении этих монстров?


Моды (Иные герои, иные заклинания), скины
20.03.2014 17:02
Visit this user's website Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #40

Разобрался с форматом героев, работает.
Непонятен только формат специальности. На форуме heroesworld указано:
Quote:678420h (278420h in exe, similar for SoD and all WoGs, but may not for HotA) - heroes specialities. 28h byte for one hero.
Parameters are similar to HE:X."
В справке по erm написано про HE:X среди прочего
Quote:To make hero keeper of resources
    X2/$1/0/0/0/0/0 or X2/$1
    $1=resource type (see Format R )
Понятно, что если я хочу сделать героя специалистом по золоту, мне нужно прописать в память куда-то в эти 28 байт число 6.
Но какого оно должно быть формата (byte, word, dword), где именно лежать и что нужно помимо него прописывать, чтобы указать, что специальность по ресурсам, непонятно.
Кто-нибудь может с этим помочь?


- Как я сегодня балагурю?
- Вы прекрасны, сир! (с)
31.03.2014 13:26
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7132
Post: #41

Устанавливаешь специальности через ЕРМ, смотришь в память.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
31.03.2014 16:27
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 489
Post: #42

Все очевидно же. HE:X просит семь параметров, память просит 28 байт, то есть, семь dword.
31.03.2014 17:27
Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #43

Quote:Все очевидно же. HE:X просит семь параметров, память просит 28 байт, то есть, семь dword.
Спасибо, понял.

Оказалось, что там все же не 7, а 10 байт на героя.
Только иконки и описания не поменялись. Второе уже поправил. А вот где лежат иконки, не знаю.


- Как я сегодня балагурю?
- Вы прекрасны, сир! (с)
(This post was last modified: 31.03.2014 20:53 by Arseniy.)
31.03.2014 19:41
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 489
Post: #44

UN**.def
31.03.2014 22:01
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1264
Post: #45

Code:
struct Структура_специализации_героя
     Dword Тип_специальности
     Dword Подтип_специальности_1
     Dword Подтип_специальности_2
     Dword Подтип_специальности_3
     Dword Подтип_специальности_4
     Dword Подтип_специальности_5
     Dword Подтип_специальности_6
     Dword Название
     Dword Краткое_описание
     Dword Описание
ends


Я на Лит-Эре
01.04.2014 03:34
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2017 MyBB Group