![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#141
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз ![]() |
Изменение координат отображения WoG диалогов DL
thanks gamecreator, sergroj. Код !!DL[№]:N^Dialog.ini^; [файл с настройкаим диалога]
!!FU88000:P[№]/[X]/[Y]; [изменение координат диалога] !!DL[№]:S?v1; [вызов диалога] !?FU88000; ; x1 - номер WoG диалога ; x2 - координата по X (-1 или 0 по центру) ; x3 - координата по Y (-1 или 0 по центру) !!VRy1:Sv1; !!SN:E7510739/1/x1; !!VRy2:Sv1; !!if&y2<>0:; !!UN:Cy2/4/?y5; !!if&x2<1:; !!VRy6:Sy5 +32; !!UN:Cy6/4/?y7; !!UN:C4199496/2/?y8; !!VRy10:Sy8 :2; !!VRy11:Sy7 :2; !!VRx2:Sy10 -y11; !!en:; !!if&x3<1:; !!VRy6:Sy5 +36; !!UN:Cy6/4/?y7; !!UN:C4199503/2/?y8; !!VRy10:Sy8 :2; !!VRy11:Sy7 :2; !!VRx3:Sy10 -y11; !!en:; !!VRy3:Sy5 +24; !!UN:Cy3/4/x2; !!VRy4:Sy5 +28; !!UN:Cy4/4/x3; !!en:; !!VRv1:Sy1; -------------------- |
|
|
![]()
Сообщение
#142
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз ![]() |
Код !?FU880001; [получение описания вторичного навыка]
; x1 - номер втор.навыка (0...27) ; x2 - уровень втор. навыка (0...4) !!VRy1:Sx1 *16; !!VRy2:Sx2 *4 +6917512 +y1; !!UN:Cy2/4/?y1; !!SN:X?y3 Xy1 X?z4 Xy3; !!IF:M0/4/^%Z4^; -------------------- |
|
|
![]()
Сообщение
#143
|
|
![]() Member Сообщений: 78 Спасибо сказали: 63 раза ![]() |
Нужно сделать так, чтобы после каждой битвы не появлялось окно: победитель\проигравший.
Берсеркер однажды помог мне отключить сообщение об ограничении опыта: !#UN:C5125902/4/34281 C5125907/1/144; Думаю по такому принципу можно решить задачу. Поможет кто? Цитата Код: 4771EE EB6490909090 47729B EB Первое для окна победы, второе - для поражения. Это написал мне gamecreator. Но я то не знаю как это оформить в готовый скрипт. Есть непонятная подсказка: [ spoiler]Это формат бинарного патча для BinMagic. Но, я так понимаю, ты хочешь чтобы всё было в одном файле. Тогда формат патча такой: Код: [16-й адрес] [16-е данные] Разбиваешь данные на группы по 8, 4 и 2 символа (то есть 4, 2 и 1 байт), например: Код: 4771EE EB649090 9090 47729B EB Теперь вычисляешь для каждой группы адрес. Это адрес в строке плюс половина количества символов (то есть количество байт) данных перед группой. Например: Код: 4771EE+0 EB649090 4771EE+4 9090 47729B+0 EB Изменяешь порядок байт в числах-данных на обратный, чтобы потом легко перевести их в 10-ю систему, например: Код: 4771EE+0 909064EB 4771EE+4 9090 47729B+0 EB Переводишь на калькуляторе числа в 10-ю систему, например: Код: 4682222 2425382123 4682226 37008 4682395 235 Всё! Подставляешь их в UN:C: !!UN:C[адрес]/[кол-во байт]/[данные];[ /spoiler] P.S. Задача решена. -------------------- |
|
|
![]()
Сообщение
#144
|
|
![]() Member Сообщений: 78 Спасибо сказали: 63 раза ![]() |
Вопрос не по ERM. Как сделать, чтобы в меню кнопка "Сценарии" не работала. Деф можно сделать прозрачным, осталось отменить нажатие на неё.
Мне нужно чтобы работала только кнопка "Кампании". -------------------- |
|
|
![]()
Сообщение
#145
|
|
![]() допустим, мяў Сообщений: 24 113 Спасибо сказали: 13422 раза ![]() |
Изменить координаты кнопки "Сценарии". Убрать её глубоко вниз или вправо.
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#146
|
|
![]() Member Сообщений: 78 Спасибо сказали: 63 раза ![]() |
Изменить координаты кнопки "Сценарии". Убрать её глубоко вниз или вправо. Как это сделать? У меня наверное не получится, если это exe надо править. -------------------- |
|
|
![]()
Сообщение
#147
|
|
![]() допустим, мяў Сообщений: 24 113 Спасибо сказали: 13422 раза ![]() |
Можно бинарным патчем. Может, кто адрес подскажет, спроси.
-------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#148
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз ![]() |
отвечу и тут, мож кому еще пригодится
Код сместить кнопки далеко за пределы экрана: для бин файла
; кнопка "Синглплеер" 63E6B0 FFFD ; кнопка "Мультиплеер" 63E6B8 FFFD ; кнопка "Обучение" 63E6C8 FFFD ; кнопка "Во имя богов" 456C6C AAAA ; кнопка "Клинок Армагедона" 456CE6 AAAA ; кнопка "Возраждение Эратии" 63BBF0 AAAA ; кнопка "Выбрать" 63BBF8 AAAA -------------------- |
|
|
![]()
Сообщение
#149
|
|
![]() Member Сообщений: 78 Спасибо сказали: 63 раза ![]() |
Заменить деф у героя в бою. Код !!UN:C6919200/4/?y10; !!VRy51:S0 *4 +y10 +21508; (0 - левый, 1 - правый) !!UN:Cy51/4/?y52; !!SN:E5622208/2/^ch17.def^; (таки имя дефа) !!UN:Cy51/4/v1; !!UN:Cy52/4/?y53; !!VRy53:+4; !!UN:Cy53/4/?y54; !!SN:Ey54/2/y52; Таки да, можно делать героев с уникальными боевыми моделями. Почему не работает? Вставлял, проверял через !?BA0; Игра пишет ошибку в: !!SN:E5622208/2/^ch17.def^; (таки имя дефа) Команды E нет в справочнике и при чём тут имя дефа в звуковой команде... -------------------- |
|
|
![]()
Сообщение
#150
|
|
![]() допустим, мяў Сообщений: 24 113 Спасибо сказали: 13422 раза ![]() |
Потому что это код для Эры, а не ВОг. В Эре есть !!SN:E
![]() -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#151
|
|
![]() Member Сообщений: 78 Спасибо сказали: 63 раза ![]() |
1) Если для wog может кто написать похожий скрипт, напишите пожалуйста.
2) AVWATTAK.def - здесь монстры на карте встают в позу, когда их атакуешь. Некоторым существам я установил прозрачный фон, но не добился чего хотел - мне надо при атаке монстра на карте, чтобы битва начиналась мгновенно, чтобы не было этой 1-й или 2-х секунд ожидания. Может кто знает какой файл нужно удалить или править? -------------------- |
|
|
![]()
Сообщение
#152
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20603 раза ![]() |
Это не тема для вопросов.
|
|
|
![]()
Сообщение
#153
|
|
![]() Member Сообщений: 78 Спасибо сказали: 63 раза ![]() |
отвечу и тут, мож кому еще пригодится Код сместить кнопки далеко за пределы экрана: для бин файла ; кнопка "Синглплеер" 63E6B0 FFFD ; кнопка "Мультиплеер" 63E6B8 FFFD ; кнопка "Обучение" 63E6C8 FFFD ; кнопка "Во имя богов" 456C6C AAAA ; кнопка "Клинок Армагедона" 456CE6 AAAA ; кнопка "Возраждение Эратии" 63BBF0 AAAA ; кнопка "Выбрать" 63BBF8 AAAA Ещё мне нужно в окне выбора кампаний заблокировать некоторые окна кампаний. Как например сейчас в Hota, доступно 2 кампании. Я тоже хочу поместить в свой мод 2 кампании, остальные окна пока закрыть. Нужно так, чтобы было как в оригинале игры - проходишь например 2 кампании, открывается окно следующей. Может кто помочь? -------------------- |
|
|
![]()
Сообщение
#154
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз ![]() |
Окна найма существ/боевых машин героем
Код !!OW:A-1/?y1;
!!FU8980040:Py1/132/10/133/11/134/12/135/13/1; // нанять всех нейтральных драконов в кол-ве 10...13 шт. !!FU8980040:Py1/145/1/146/1/147/1/148/1/2; // нанять все боевые машины !?FU8980040; ; x1 - указать номер героя ; x2/x3 - номер 1 существа/кол-во (обязательно) ; x4/x5 - номер 2 существа/кол-во (либо -1/0) ; x6/x7 - номер 3 существа/кол-во (либо -1/0) ; x8/x9 - номер 4 существа/кол-во (либо -1/0) ; x10 - для существ (1), для боевых машин (2) !!OW:A-1/?y1; !!FU&y1<0:E; !!SN:E6386834/1/188; !!VRy17:Sv1; !!SN:E7411341/1/x1; !!VRy1:Sv1; !!VRy1&x10=1:+145; !!VRy10:S10*4 +8943204; // адрес переменной v10...v13 !!VRy20:Sy10; !!VRy21:Sy10 +4; !!VRy22:Sy10 +8; !!VRy23:Sy10 +12; !!VRv10:Sx3; !!VRv11:Sx5; !!VRv12:Sx7; !!VRv13:Sx9; !!UN:C6918832/4/?y8; !!SN:E5298096/2/y8/0; !!SN&x10=1:E5576528/2/y17/y1/0/x2/y20/x4/y21/x6/y22/x8/y23; !!SN&x10=2:E5576800/2/y17/y1/x2/y20/x4/y21/x6/y22/x8/y23; !!VRy11:Sv1; !!UN:C6919504/4/?y1; !!SN:E4917104/2/y1/y11; -------------------- |
|
|
![]()
Сообщение
#155
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз ![]() |
Теперь можно легко и без шаманства сделать артефакт кастер /только в начале боя/ (наподобие Альянса Ангелов).
Вызывается функция FU79001 по одному разу для каждой стороны feanor, огромное спасибо за пример создания dll с хуком. Код !?FU79001; // триггер каста артефактов !!FU79002:P163/27 P163/28; // артефакт №163 кастует щит (27) и воздушный щит (28) в начале боя !?FU79002; ; x1 - номер арта ; x2 - номер закла !!BG:Q?y1; // получить активную сторону !!BA:Hy1/?y2; // получить номер героя активной стороны !!UN:C6919200/4/?y3; // получить combat manager !!SN:E5915616/2/y3/x2/3/y1/1/2; // проверка на возможность каста активной стороной (например нет ли у противника "плаща отречения") !!FU&v1<>1:E; // выход, если нельзя кастовать !!SN&y2>-1:E7411341/1/y2; // получить структуру героя !!SN&y2>-1:E5084256/2/v1/x1; // проверить арт у героя !!SN&v1=1:E5898560/2/y3/x2/-1/2/-1/3/50; // артефакт (2) кастует закл(x2) на эксп(3) на 50 раундов массово(-1) Обязательно нужен ArtCast.era в папке "EraPlugins" Код #include <windows.h> #include <stdio.h> #include "..\..\include\era.h" #include "..\..\include\patcher_x86_commented.hpp" Patcher * globalPatcher; PatcherInstance *patcher; int __stdcall hook_464FBA(LoHook* h, HookContext* c) { FireErmEvent(79001); return EXEC_DEFAULT; } BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { if (ul_reason_for_call == DLL_PROCESS_ATTACH) { globalPatcher = GetPatcher(); patcher = globalPatcher->CreateInstance("ArtCast"); ConnectEra(); patcher->WriteLoHook(0x464FBA, (void*)hook_464FBA); } return TRUE; } -------------------- |
|
|
![]()
Сообщение
#156
|
|
![]() Member Сообщений: 78 Спасибо сказали: 63 раза ![]() |
код feanora
Команды очень полезные, но заметил маленький недостаток со звуком, его можно обойти? 1) Озвучка: в 1-м раунде код не срабатывает. 2) У меня так: !?BG0; !!BG:N?v2200; что был за стек? !!BMv2200:T?v2201; кто из монстров? !!FU3059&v2201=152:P; !?FU3059; !!BMv2200:G-8/?y1/d; !!SN:E5622064/2/^my.wav^; 3 !!BMv2200:G-8/v1/d; !!UN:Cy1/4/?y3; !!VRy3:+4; !!UN:Cy3/4/?y4; !!SN:Ey4/2/y1; -8 когда монстр получает урон. Ситуация может быть такой, когда стрелок с любой стороны стреляет в 1-м раунде, звук атакуемого монстра не меняется, только во 2-м и последующих раундах. -------------------- |
|
|
![]()
Сообщение
#157
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз ![]() |
Телекинезерам посвещается
посещение героем объекта удалённо Код !?FU8680055; ; х1 - номер героя ; x2..x4 - координаты объекта на карте !!UN:C6918840/4/?y10; // int pAdvManager !!SN:E7411341/1/x1; !!VRy2:Sv1; // получить структуру героя !!UN:C10784129/1/0 C10784128/1/x2; // записать все данные побайтно в адрес y1 !!UN:C10784130/1/x3 C10784131/1/x4; // записать все данные побайтно в адрес y1 !!SN:E7410371/1/y1; // получить адрес структуры клетки !!VRy3:Sv1; // записать адрес структуры в y3 !!SN:E4882784/2/y10/y2/y3/y1; // посещение героем объекта А эта без указания номера героя. Код !?FU8680050; ; x2..x4 - координаты объекта на карте !!UN:C6918840/4/?y10; // int pAdvManager !!UN:C10784129/1/0 C10784128/1/x2; // записать все данные побайтно в адрес y1 !!UN:C10784130/1/x3 C10784131/1/x4; // записать все данные побайтно в адрес y1 !!SN:E7410371/1/y1; // получить адрес структуры клетки !!VRy3:Sv1; // записать адрес структуры в y3 !!SN:E4892432/2/y10/y3/y1; // посещение объекта Код !?CM5; !!CM:F?y2; !!FU&y2<>4:E; !!CM:R0; !!OW:A-1/?x1; !!FU&x1<0:E; !!CM:P?v2/?v3/?v4; ; © gamecreator ; определение желтой клетки у объекта ; v2/v3/v4 - coords !!UN:C6919480/4/?y1; 0x699538 !!VRy1:+130112; 0x1FC40 !!UN:Cy1/4/?y2; y2 = map tiles !!VRy1:+4; !!UN:Cy1/4/?y3; y3 = map size !!VRy5:Sv4 *y3 +v3 *y3 +v2 *38 +y2; this object, 0x26 is tile size !!VRv2:C0/0/0; reuse vars !!SN:E4239120/2/?v2/y5/0/0; thiscall 0x40AF10 (map tile, screenX?, screenY?) for struct{0,0,0} ; v1 = yellow tile !!VRv1:-y2 :38; object index !!VRv2:Sv1 %y3; x !!VRv3:Sv1 :y3 %y3; y !!VRv4:Sv1 :y3 :y3; l !!VRx2:Sv2; !!VRx3:Sv3; !!VRx4:Sv4; ; © igrik ; удаленный вход в объект ; х1 - номер героя ; x2..x4 - координаты объекта на карте !!UN:C6918840/4/?y10; // int pAdvManager !!SN:E7411341/1/x1; !!VRy2:Sv1; // получить структуру героя !!UN:C10784129/1/0 C10784128/1/x2; // записать все данные побайтно в адрес y1 !!UN:C10784130/1/x3 C10784131/1/x4; // записать все данные побайтно в адрес y1 !!SN:E7410371/1/y1; // получить адрес структуры клетки !!SN:E4882784/2/y10/y2/v1/y1; // Enter2ObjectMain ** end -------------------- |
|
|
![]()
Сообщение
#158
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз ![]() |
Копилка к запретам бонуса граалей.
Код ** Отмена Бонуса грааля Башни
; для верхнего уровеня карты !!UN:C5005757/4/6542180; MapSizeX (оригинал = 6783944) !!UN:C5005769/4/6542180; MapSizeY (оригинал = 6783948) ; для нижнего уровеня карты !!UN:C5005822/4/6542180; MapSizeX (оригинал = 6783944) !!UN:C5005834/4/6542180; MapSizeY (оригинал = 6783948) ; при постройке здания грааля !!UN:C6026460/1/99; номер города (оригинал = 2) !!UN:C6026512/1/99; номер здания грааля (оригинал 26) ; окрытие карты в первый игровой день !!UN:C5012022/1/99; номер города (оригинал = 2) ; бонус грааля Инферно !!UN:C5015000/1/3; указать номер города (Инферно) !!UN:C5015059/4/42; прирост кого /тип монстра от грааля (Бесы)/ !!UN:C5015066/4/43; прирост кого /тип монстра от грааля (Черти) ; бонус грааля Темницы !!UN:C4602282/1/12; + к колдовской силе ; бонус грааля Цитадели !!UN:C4602328/1/20; + к защите ; бонус грааля Крепости !!UN:C4602467/1/10; + к атаке и защите ; бонус грааля Сопряжение © feanor !!UN:C6022390/1/9; указать номер города !!UN:C6088735/1/9; !!UN:C6088214/1/9; !!UN:C6124606/1/9; -------------------- |
|
|
![]()
Сообщение
#159
|
|
![]() замолкаю. Сообщений: 2 340 Спасибо сказали: 1010 раз ![]() |
а как убрать тогда бонус от Сопряжения?
выставить "0" ? -------------------- |
|
|
![]()
Сообщение
#160
|
|
![]() Immortal Сообщений: 589 Спасибо сказали: 891 раз ![]() |
Нет, номер 0 установит все заклинания в Замке. Ставь любое больше 9
-------------------- |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 22 October 2025 - 11:14 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|