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

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

Posts: 13368
Post: #16

Vorek, Через правку ехе, и только. Там координаты обычно.


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

Posts: 13368
Post: #17
Вопрос 
SAG Wrote:Друзья, прошу помочь кто чем может...
Задача 1:
вклиниться в функцию, которая пересчитывает выпадение морали - мне нужно в начале раунда получить точный прогноз по всем юнитам и отобразить его игрокам.
Задача 2:
получить событие "приход сообщения от другого игрока"
Задача 3:
получить управление длительностью отображения сообщения чата. по умолчанию 20 секунд, но я хотел бы динамически это менять

кто может реализовать?
Какие деф и wav у морали? Её можно будет выключить через бинарный патч, а уж как ты захочешь её эмулировать - другой вопрос. В Эре есть событие: Кто_Сейчас_Ходит, в ЕРМ есть проигрывание анимации и звука.


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

Posts: 174
Post: #18

(04.12.2009 19:43)Berserker Wrote:  в ЕРМ есть проигрывание анимации и звука.
про звук знаю..но анимация? можно проиграть произвольный деф в битве?
04.12.2009 20:09
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13368
Post: #19

Нет, но мораль там есть, насколько я помню.


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

Posts: 174
Post: #20

где там? ты хочешь предложить эмулировать мораль на ERM без анимации?
05.12.2009 13:29
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13368
Post: #21

BM:V


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

Posts: 174
Post: #22

(05.12.2009 14:25)Berserker Wrote:  BM:V
спасибо, не знал!
а есть команда упраления юнитом? т.е. если он уже отходил то как принудительно его активировать (эмуляция морали)?
05.12.2009 18:49
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 13368
Post: #23

Quote:В Эре есть событие: Кто_Сейчас_Ходит
Читаем сквозь строки? Sm

Code:
77006 - Бой: кто ходит?
Определить, какой стек ходит сейчас.
Параметры (2): Сторона (0 - левая, 1 - правая) / Номер стека (0..41)

Пример:
!?FU77006;
!!SN:X0/0; только 1-ый отряд левого игрока будет ходить в бою.


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

Posts: 174
Post: #24

спасибо. я раньше подумал что событие: Кто_Сейчас_Ходит это триггер, а мне нужен ресивер. потестирую.
P.S. проапдейтил первый пост новыми вопросами
05.12.2009 20:01
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7146
Post: #25

а если поставить
!!SN:X1/0;
то правый игрок будет играть за первый стек или ошибка?


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

Posts: 13368
Post: #26

Не пробовал так извращаться. Может быть ИИ будет биться сам с собой...


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

Posts: 1236
Post: #27

Круто. Но, получается, ходящая сторона в двух экземплярах? В самих Героях, ведь, номер стека в форме (0..41) никогда не используется, только в ЕРМ.

(04.12.2009 20:09)SAG Wrote:  про звук знаю..но анимация? можно проиграть произвольный деф в битве?
Да, http://forum.df2.ru/index.php?showtopic=6813 - пост #11. Правда, там надо чуть-чуть подправить, чтобы все было чисто.
06.12.2009 13:59
Find all posts by this user Quote this message in a reply
SAG Offline

Posts: 174
Post: #28

Сергей, спасибо, реально полезно. Попутно придумал как реализовать еще одну задумку которую отложил ранее
07.12.2009 13:30
Find all posts by this user Quote this message in a reply
SAG Offline

Posts: 174
Post: #29

просьба к знающим людям сделать код, который рестартует случайную карту (т.е. когда случайная карта уже загружена но например игрокам не нравится, то чтобы по нажатию кнопки "Следующий герой" (или сделать новую кнопку) - карта генерилась заново с теми же настройками, а не рестартовалась уже сгенеренная карта. Надеюсь объяснил понятно Sm
22.06.2010 12:08
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1369
Post: #30

Понимаю, что, возможно, я уже поздновато, но кому не лень - помогите с задачкой.
Имеем следующий код самопальной функции (сильно не пинать):
Code:
6399FD 55;               PUSH EBP
6399FE 8BEC;             MOV EBP,ESP
639A00 83F930;           CMP ECX,30
639A03 7328;             JNB SHORT mop.00639A2D
639A05 8B1DFCCC6900;     MOV EBX,DWORD PTR DS:[69CCFC]
639A0B A1F4CC6900;       MOV EAX,DWORD PTR DS:[69CCF4]
639A10 69C068010000;     IMUL EAX,EAX,168
639A16 2BD8;             SUB EBX,EAX
639A18 81C3440B0000;     ADD EBX,0B44
639A1E 8B03;             MOV EAX,DWORD PTR DS:[EBX]
639A20 69C968010000;     IMUL ECX,ECX,168
639A26 83C13C;           ADD ECX,3C
639A29 03C8;             ADD ECX,EAX
639A2B EB0E;             JMP SHORT mop.00639A3B
639A2D 8B0D4C956900;     MOV ECX,DWORD PTR DS:[69954C]
639A33 83C138;           ADD ECX,38
639A36 8B09;             MOV ECX,DWORD PTR DS:[ECX]
639A38 83C13C;           ADD ECX,3C
639A3B 85D2;             TEST EDX,EDX
639A3D 7410;             JE SHORT mop.00639A4F
639A3F 8B4508;           MOV EAX,DWORD PTR SS:[EBP+8]
639A42 8901;             MOV DWORD PTR DS:[ECX],EAX
639A44 8B450C;           MOV EAX,DWORD PTR SS:[EBP+C]
639A47 66894104;         MOV WORD PTR DS:[ECX+4],AX
639A4B 8BE5;             MOV ESP,EBP
639A4D 5D;               POP EBP
639A4E C3;               RETN
639A4F 8B01;             MOV EAX,DWORD PTR DS:[ECX]
639A51 894508;           MOV DWORD PTR SS:[EBP+8],EAX
639A54 0FBF4104;         MOVSX EAX,WORD PTR DS:[ECX+4]
639A58 89450C;           MOV DWORD PTR SS:[EBP+C],EAX
639A5B 8BE5;             MOV ESP,EBP
639A5D 5D;               POP EBP
639A5E C3;               RETN
Функция предсталяет собой не что иное, как контроль Портала Вызова, некогда написанный Михаником в ERM-е.
Конвертирование - fastcall. Вызов: !!SN:E6527485/3/x1/x2/x3/x4;
Где:
x1 - номер города. Если больше или равно 48, то текущий
x2 - 0 - прочитать, 1 - записать
x3 и x4 - числа/переменные для записи/чтения типа и кол-ва существа.
Так вот: запись работает, а чтение - нет. Ибо я не пойму, как и куда ЭРА возвращает результаты. В v1, ясное дело, результат возвращается (кол-во существ), но судя по справке, можно возвращать и несколько результатов.
Можно, конечно, записывать результат напрямую в адрес переменной, но это лишает универсальности, да и охота разобраться...


Я на Лит-Нете
(This post was last modified: 03.08.2010 19:47 by MOP.)
03.08.2010 19:40
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