Current time: 25.10.2020, 09:41 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 1068
Post: #196

100% шанс появления 2ого и 3го стеков
4C948F 9090909090
4C9497 90909090909090909090
4C950F 9090909090909090909090909090909090909090

Для 0-го, наверное, надо нулями забить.


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

Posts: 4406
Post: #197

Ivor, если я правильно помню, забить "нулями" в вопросе работы с памятью - это не "00", а другое значение...



Image: 237506073ac7.gif
13.03.2014 19:57
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2313
Post: #198

скорее всего эфками FF
13.03.2014 20:18
Visit this user's website Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3799
Post: #199

(13.03.2014 18:37)Arseniy Wrote:  потому что если зануляется число существ в этих стеках, то герои так и появляются с "0" существ.

Как вариант:


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
13.03.2014 21:32
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13368
Post: #200

Тип нужен -1, верно сказали (FF).


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
14.03.2014 05:28
Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #201

Спасибо.
Мне нужны адреса в памяти, скриптами я пользоваться не смогу.
Quote:100% шанс появления 2ого и 3го стеков
4C948F 9090909090
4C9497 90909090909090909090
4C950F 9090909090909090909090909090909090909090
Quote:Тип нужен -1, верно сказали (FF).
Не очень понятно. В каком типе лежат значения (char, short, int) ? Судя по тому, что FF, то short. Но сколько значений менять? Почему для каждого последующего стека нужно больше чисел задавать?
Можно ли менять тип юнитов? Проблема в том, что если занулить шансы второго и третьего стека, то палатки с баллистами тоже не будет раздаваться. Но у кого во втором стеке не баллиста, а существа, их тип не устраивает.
Еще появился вопрос, где задаются стартовые скиллы героев, специализации, стартовые заклинания? Короче, гора вопросов. Rolleyes


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

Posts: 2313
Post: #202

Quote:Еще появился вопрос, где задаются стартовые скиллы героев, специализации, стартовые заклинания? Короче, гора вопросов
Arseniy, если без ERM'a то ставьте IDA, качайте эту базу исходников и исследуйте
14.03.2014 14:14
Visit this user's website Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7146
Post: #203

Не надо даже IDA. По тому, что там забито 90, понятно, что затёрты какие-то команды. Надо просто открыть дизасм и посмотреть что эти команды делали. А потом и исправить их на нужные.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
14.03.2014 15:45
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13368
Post: #204

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


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
15.03.2014 04:25
Find all posts by this user Quote this message in a reply
Arseniy Offline

Posts: 123
Post: #205

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: 1068
Post: #206

(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: 1068
Post: #207

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: 1369
Post: #208

В 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: 1068
Post: #209

(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 Online

Posts: 802
Post: #210

   Вопрос - можно ли задать туману войны свойство возвращаться через неделю после открытия? Всмысле, герой проходит через карту, и на том месте, где он был неделю назад, снова появляется туман войны.
20.03.2014 08:59
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-2020 MyBB Group