IPB

Здравствуйте, гость ( Вход | Регистрация )

9 страниц V  « < 6 7 8 9 >  
Reply to this topicStart new topic
> Тонкости ЕРМ, использование UN:C, ERM для профессионалов :)
igrik
сообщение 10 Sep 2015, 16:10 (Сообщение отредактировал igrik - 10 Sep 2015, 16:34)
Сообщение #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;


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 10 Sep 2015, 20:20
Сообщение #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^;


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Barin
сообщение 12 Sep 2015, 16:21 (Сообщение отредактировал Barin - 14 Sep 2015, 19:22)
Сообщение #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. Задача решена.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Barin
сообщение 12 Oct 2015, 20:43
Сообщение #144

Member
Сообщений: 78
Спасибо сказали: 63 раза




Вопрос не по ERM. Как сделать, чтобы в меню кнопка "Сценарии" не работала. Деф можно сделать прозрачным, осталось отменить нажатие на неё.

Мне нужно чтобы работала только кнопка "Кампании".


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 12 Oct 2015, 21:26
Сообщение #145

допустим, мяў
Сообщений: 24 113
Спасибо сказали: 13422 раза




Изменить координаты кнопки "Сценарии". Убрать её глубоко вниз или вправо.


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
Barin
сообщение 12 Oct 2015, 23:14
Сообщение #146

Member
Сообщений: 78
Спасибо сказали: 63 раза




Цитата(hippocamus @ 12 Oct 2015, 21:26) *
Изменить координаты кнопки "Сценарии". Убрать её глубоко вниз или вправо.

Как это сделать? У меня наверное не получится, если это exe надо править.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 12 Oct 2015, 23:55
Сообщение #147

допустим, мяў
Сообщений: 24 113
Спасибо сказали: 13422 раза




Можно бинарным патчем. Может, кто адрес подскажет, спроси.


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 13 Oct 2015, 00:17 (Сообщение отредактировал igrik - 13 Oct 2015, 12:32)
Сообщение #148

Immortal
Сообщений: 589
Спасибо сказали: 891 раз




отвечу и тут, мож кому еще пригодится
Код
сместить кнопки далеко за пределы экрана: для бин файла
; кнопка "Синглплеер"
63E6B0 FFFD
; кнопка "Мультиплеер"
63E6B8 FFFD
; кнопка "Обучение"
63E6C8 FFFD
; кнопка "Во имя богов"
456C6C AAAA
; кнопка "Клинок Армагедона"
456CE6 AAAA
; кнопка "Возраждение Эратии"
63BBF0 AAAA
; кнопка "Выбрать"
63BBF8 AAAA


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Barin
сообщение 28 Oct 2015, 12:57 (Сообщение отредактировал Barin - 28 Oct 2015, 13:06)
Сообщение #149

Member
Сообщений: 78
Спасибо сказали: 63 раза




Цитата(feanor @ 20 Mar 2014, 17:22) *
Заменить деф у героя в бою.

Код
!!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 нет в справочнике и при чём тут имя дефа в звуковой команде...


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 28 Oct 2015, 13:49
Сообщение #150

допустим, мяў
Сообщений: 24 113
Спасибо сказали: 13422 раза




Потому что это код для Эры, а не ВОг. В Эре есть !!SN:E
Прикрепленный файл  Era_manual.zip ( 772.75 килобайт ) Кол-во скачиваний: 8


--------------------
Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская)


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Barin
сообщение 28 Oct 2015, 15:52
Сообщение #151

Member
Сообщений: 78
Спасибо сказали: 63 раза




1) Если для wog может кто написать похожий скрипт, напишите пожалуйста.

2) AVWATTAK.def - здесь монстры на карте встают в позу, когда их атакуешь. Некоторым существам я установил прозрачный фон, но не добился чего хотел - мне надо при атаке монстра на карте, чтобы битва начиналась мгновенно, чтобы не было этой 1-й или 2-х секунд ожидания. Может кто знает какой файл нужно удалить или править?


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 28 Oct 2015, 16:12
Сообщение #152

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20603 раза




Это не тема для вопросов.
Go to the top of the pageAdd Nick
 
+Quote Post
Barin
сообщение 03 Nov 2015, 12:58
Сообщение #153

Member
Сообщений: 78
Спасибо сказали: 63 раза




Цитата(igrik @ 13 Oct 2015, 01:17) *
отвечу и тут, мож кому еще пригодится
Код
сместить кнопки далеко за пределы экрана: для бин файла
; кнопка "Синглплеер"
63E6B0 FFFD
; кнопка "Мультиплеер"
63E6B8 FFFD
; кнопка "Обучение"
63E6C8 FFFD
; кнопка "Во имя богов"
456C6C AAAA
; кнопка "Клинок Армагедона"
456CE6 AAAA
; кнопка "Возраждение Эратии"
63BBF0 AAAA
; кнопка "Выбрать"
63BBF8 AAAA


Ещё мне нужно в окне выбора кампаний заблокировать некоторые окна кампаний. Как например сейчас в Hota, доступно 2 кампании. Я тоже хочу поместить в свой мод 2 кампании, остальные окна пока закрыть. Нужно так, чтобы было как в оригинале игры - проходишь например 2 кампании, открывается окно следующей.

Может кто помочь?


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 09 Nov 2015, 16:38 (Сообщение отредактировал igrik - 16 Nov 2015, 11:23)
Сообщение #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;


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 20 Nov 2015, 00:00 (Сообщение отредактировал igrik - 30 Nov 2015, 15:17)
Сообщение #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;
}


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Barin
сообщение 23 Jan 2016, 13:05 (Сообщение отредактировал Barin - 23 Jan 2016, 14:03)
Сообщение #156

Member
Сообщений: 78
Спасибо сказали: 63 раза




код feanora

Команды очень полезные, но заметил маленький недостаток со звуком, его можно обойти?

1) Озвучка: в 1-м раунде код не срабатывает.

2) Сначала написал, потом решил проблему со снарядом. Для смены снаряда обязательно надо !?BG0; !!!

У меня так:
!?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-м и последующих раундах.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 17 Feb 2016, 02:39 (Сообщение отредактировал igrik - 14 Dec 2016, 17:43)
Сообщение #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


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 27 Apr 2016, 22:57 (Сообщение отредактировал igrik - 01 Aug 2016, 17:05)
Сообщение #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;


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Bes
сообщение 28 Apr 2016, 11:12
Сообщение #159

замолкаю.
Сообщений: 2 340
Спасибо сказали: 1010 раз




а как убрать тогда бонус от Сопряжения?
выставить "0" ?


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 28 Apr 2016, 13:16
Сообщение #160

Immortal
Сообщений: 589
Спасибо сказали: 891 раз




Нет, номер 0 установит все заклинания в Замке. Ставь любое больше 9


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post

9 страниц V  « < 6 7 8 9 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 22 October 2025 - 11:14
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика