Current time: 24.03.2024, 03:43 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 16449
Post: #61

Не за что. Поместите в папку EraPlugins у обоих игроков. Скриптов не нужно.


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

Posts: 5422
Post: #62

Скажите,как можно получать в игре (окно героя,в частности) спец.текст по существу (т.е. его описание,что можно менять через UN:G1/#/2/$)??? Sorry

требуется для DL-шаблона
14.11.2010 02:48
Visit this user's website Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #63

Bes, не пробовали работать через UN:C?
1. Найти в ArtMoney описания копейщика, алебардщика, арбалетчика.
2. Найти указатель на описание каждого.
3. Адрес будет таков: [адрес описания копейщика]+4*[номер существа].
4. Далее скрипт а-ля !!UN:C[полученный адрес]/4/?v1;

В v1 запишется адрес текста с описанием. Далее потребуется перенести содержимое этого адреса в z-переменную, но здесь я Вам не помощник: обращайтесь к отцам, потому как я в работе с памятью не силен.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
(This post was last modified: 14.11.2010 03:43 by GhostManSD.)
14.11.2010 03:43
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16449
Post: #64

$7D0CAC + НомерМонстра * 116
Там указатель на строку с описанием. Нужно лишь её (строку) скопировать.
kernel32.dll "lstrcpyA" (АдресПриёмника, АдресИсточника) STDCALL;

По Эре стандартно:
  • Загрузить dll kernel32.dll
  • Получить адрес функции lstrcpyA
  • Выполнить её с двумя параметрами, где второй параметр - адрес нужной z-переменной = $9273E8 + 512 * (Индекс - 1)


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

Posts: 5422
Post: #65

я с ERA-командами ниразу не пользовался Sorry

Quote:
  • Загрузить dll kernel32.dll
  • Получить адрес функции lstrcpyA
  • Выполнить её с двумя параметрами, где второй параметр - адрес нужной z-переменной = $9273E8 + 512 * (Индекс - 1)
  • !!VRz1:S^kernel32.dll^; записать имя dll
    !!SN:Lz1/?v2; теперь v2 хранит номер dll
  • !!VRz2:S^lstrcpyA^; записать имя функции
    !!SN:Av2/z2/?v3; записать адрес функции в v3

А вот с третьим пунктом неразобрался.. какие значения мне написать в первом и втором параметре !!SN:Ev3/1/#1/#2; ???

например,если взть z3,то
$9273E8 + 512 * (3 - 1) = $9273E8 +1024 = $92840C [или 9602060]
(This post was last modified: 14.11.2010 23:06 by Bes.)
14.11.2010 23:05
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16449
Post: #66

(14.11.2010 23:05)Bes Wrote:  какие значения мне написать в первом и втором параметре !!SN:Ev3/1/#1/#2; ???

Code:
(CDECL_OR_STDCALL) = 1;
...
!!VR$Адрес z-переменной$:S(Индекс z-переменной)-1*512+9597928;
!!VR$адрес поля текста описания$:S(Номер монстра)*116+8195244;
!!UN:C$адрес поля текста описания$/4/?$адрес текста описания$;
!!SN:Ev3/(CDECL_OR_STDCALL)/$Адрес z-переменной$/$адрес текста описания$;


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

Posts: 5422
Post: #67

Berserker,спасибо огромное!!! Sm
всё получилось..
16.11.2010 14:31
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16449
Post: #68

Bes, да не за что Rolleyes


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

Posts: 173
Post: #69

(16.08.2010 14:41)MOP Wrote:  ; Врата Замка Инферно:
где были мои глаза?
однако этот ценный скрипт и патч под WT не работают...MOP дружище, посмотри почему глюкает. для активации Эры в WT нужно поставить патч http://www.heroes-iii.com/files/2.zip
09.12.2010 14:42
Find all posts by this user Quote this message in a reply
MOP Offline
Moderators

Posts: 1467
Post: #70

(09.12.2010 14:42)SAG Wrote:  
(16.08.2010 14:41)MOP Wrote:  ; Врата Замка Инферно:
где были мои глаза?
однако этот ценный скрипт и патч под WT не работают...MOP дружище, посмотри почему глюкает. для активации Эры в WT нужно поставить патч http://www.heroes-iii.com/files/2.zip
Извиняюсь, только заметил пост.
1. Это исходник к bin-файлу, то есть, его надо пропустить через BinGen.exe.
2. Патчился экзешник или память? Патч для exe. Для памяти нужно увеличить адреса на 400000h.
3. В чём глюк и по какому адресу, если имел место вылет?
4. Не думаю, что в обработку диалога Портала Инферно мог вкрасться другой код - если в WT, конечно, не делали/пробовали сделать то же самое.

Разбираться с WT и патчем к нему мне обойдётся дорого по деньгам.


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
(This post was last modified: 11.12.2010 20:51 by MOP.)
11.12.2010 20:45
Find all posts by this user Quote this message in a reply
SAG Offline

Posts: 173
Post: #71

(11.12.2010 20:45)MOP Wrote:  Извиняюсь, только заметил пост.
2. Патчился экзешник или память? Патч для exe. Для памяти нужно увеличить адреса на 400000h.
3. В чём глюк и по какому адресу, если имел место вылет?
только счас заметил ответ. патчил память (просто скомпилировал и положил в EraPlugins).
глюк - кажется просто вылет в момент подгрузки Era на старте карты.
26.12.2010 18:02
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16449
Post: #72

Quote:просто скомпилировал и положил в EraPlugins
Тогда патч трактуется как для памяти.
Quote:Для памяти нужно увеличить адреса на 400000h


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

Posts: 5422
Post: #73

Делаю bin, где смещаю кнопки битвы, помещаю в папку ERAPlugins, запускаю ФМ (ERA,TE не важно), выбираю "новая" или "загрузить" и игра закрывается (тихо,без окошек вылета).
В чём трабла?

Если этот же патч непосредственно в exe встроить, то всё нормально Sorry
20.01.2011 17:23
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16449
Post: #74

EraPlugins трактует патчи как для памяти. А ты смещения в файле используешь. В лучшем случае нужно увеличивать адреса на 400000h.


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

Posts: 622
Post: #75

sergroj Wrote:1. На самом деле, Славин файл - это exe.
Для WoG 3.58f:
400000 + А, если А < 29C000,
465000 + А, если А >= 29C000.
20.01.2011 18:16
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-2024 MyBB Group