IPB

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

9 страниц V  « < 7 8 9  
Reply to this topicStart new topic
> Тонкости ЕРМ, использование UN:C, ERM для профессионалов :)
feanor
сообщение 03 Jul 2016, 01:02
Сообщение #161

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




Стоимость найма героев
!!UN:C6783308/4/2500;


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 04 Jul 2016, 01:30 (Сообщение отредактировал igrik - 26 Sep 2016, 17:29)
Сообщение #162

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




Код
; где 3 - макс кол-во героев на карте
!!UN:C6129162/1/3;   для найма в таверне
!!UN:C4864993/1/3;   при посещении тюрьмы
!!UN:C6116975/1/3;   при выводе из города
!!UN:C4395921/1/3;   для AI (возможно покупка в городе)


Код
!!UN:C6919200/4/?y1;
!!VRy2:Sx1 *1352 +21708 +y1; // x1 = номер стека
!!SN:E4479536/2/y2/y3/1;     // заставить переместиться стек (на клетку y3) (если позиция занята или не хватает длины хода, то не стек не двинется)
!!SN:E4482112/2/y2/1;        // поворот стека в противоположную сторону


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 04 Jul 2016, 01:46
Сообщение #163

пират с чёрной меткой
Сообщений: 23 599
Спасибо сказали: 12880 раз




igrik
всё это очень здорово! Жаль, что работает лишь в WoG/Era.


--------------------
Давший быка на убой не выпросил и печень на жаркое.
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 13 Aug 2016, 23:46 (Сообщение отредактировал igrik - 13 Aug 2016, 23:49)
Сообщение #164

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




Кстати да. Решение проблемы WoG'овских недоописаний монстров.

Код
!!UN:C6243434/4/6687924;
!!UN:C6244485/4/6687924;
!!UN:C6241855/4/6687924;


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 18 Sep 2016, 14:33 (Сообщение отредактировал feanor - 18 Sep 2016, 14:34)
Сообщение #165

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




Проиграть анимацию стека.

Код
!!UN:C6919200/4/?y10;
!!VRy20:Sx1 *1352 +21708 +y1; // x1 = номер стека
!!SN:E4482656/2/y20/13/-1/0; //13 - атака вниз
!!SN:E4482656/2/y20/2/1/0; //восстанавливаем исходное положение (стойка)


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 19 Sep 2016, 00:11
Сообщение #166

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




Одновременно проиграть анимацию нескольких стеков.

Код
!!UN:C6919200/4/?y10;  combatmanager

!!VRy2:S0 *1352 +21708 +y10; // стек 1
!!UN:Cy2/1/1;   1 = играть ли анимацию на стеке (0 = не играть)
!!VRy2:+2;
!!UN:Cy2/1/5;   5 = номер анимации стека

!!VRy2:S1 *1352 +21708 +y10; // стек 2
!!UN:Cy2/1/1;
!!VRy2:+2;
!!UN:Cy2/1/3;   3 = номер анимации стека

!!VRy2:S21 *1352 +21708 +y10; // стек 21
!!UN:Cy2/1/1;
!!VRy2:+2;
!!UN:Cy2/1/12;  12 = номер анимации стека

!!SN:E4621680/2/y10/-1/-1;  00468570_DoHitAnimation


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 14 Dec 2016, 20:58 (Сообщение отредактировал igrik - 14 Dec 2016, 21:22)
Сообщение #167

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




Отключение бесплатной дипломатии (бесплатно -> за золото)
Код
!!UN:C4289079/4/3;    [при ПКМ на монстре   (оригинал = 2) ]
!!UN:C4879709/1/-21;  [при атаке на монстра (оригинал =127)] © MoP


И выложу, наверное парочку давно наваяных мелочей.
Запрет на появление улучшенного стека при нападении на нейтралов
Код
!!UN:C4899920/1/8;    [оригинал =1]


; получить разрешение игры (для HD мода)
Код
!!UN:C4199496/2/?y1; ширина
!!UN:C4199503/2/?y2; высота


; проверить включен ли вообще HD
Код
!!SN:L^HD_WOG.dll^/?y1;     (=0, значит не включен)


; автосохранение перед битвой (теряются MP и возможна проходимость)
Код
!?BA52&1000;
!!VRz1:S^BATTLE!^;
!!SN:L^Angel.dll^/?y1 Ay1/^SaveGame^/?y2 Ey2/0/z1/1/0/0/1;


; Оковы Войны (в бою с нейтралами можно убежать с поля боя)
Код
!?BG0;                          [перед действием в битве]
!!BG:A?y1;                         [узнать тип действия]
!!BA:H1/?y2;                       [узнать героя защитника]
!!UN&y1=4/y2=-2:C4689325/1/2;      [подменить номер арта на грааль (а он в рюкзаке)]
!?BA53;                         [после битвы]
!!UNC4689325/1/125;                [вернуть номер арта]


; открытие окон героев в битве по ПКМ на дефе героев
Код
!?CM4;
!!CM:A?y1/?y2 F?y3;
!!UN:C4199496/2/?y11 C4199503/2/?y12;
!!VRy13:Sy11 -800 *-1 :2 +58;
!!VRy14:Sy11 -800 *-1 :2 +739;
!!VRy15:Sy12 -600 *-1 :2 +127;
!!FU&y3<>512|y2>y15:E;
!!BA:H0/?y4 H1/?y5;
!!SN&y1<y13:E5118576/1/y4/1;
!!SN&y1>y14/y5>-1:E5118576/1/y5/1;
!!CM&y1>y14/y5>-1|y1<y13:R0;


; Быстрая тактичеческая расстановка (а-ля HD)
Код
!?CM4;
!!SN:L^HD_WOG.dll^/?y1 L^HD_MCR.dll^/?y2;
!!BU:T?y3;
!!FU|y1<>0/y2<>0/y3<>1:E;
!!CM:F?y2 I?y3 D?y4;
!!FU|y3>10/y2<>0/y4<0/y4>186:E;
!!BU:Ey4/?y5;
!!FU&y5=-1:E;
!!BG:N?y6 Q?y7;
!!BMy5:I?y8 T?y9;
!!FU&y9>144/y9<150:E;
!!FU&y7<>y8|y6=y5:E;
!!VRy5&y7=1:-21;
!!CM:R0;
!!UN:C6919200/4/?y1;
!!SN:E4607760/2/y1/y8/y5;
** end


; открыть окно встречи героев в городе по ЛКМ + Alt
Код
!?CM1;                              [клик в городе]
!!CM:F?y6 S?y7 I?y5;;                   [получаем парамерты клика]
!!FU|y7<>12/y6<>32:E;                   [нажата ЛКМ + Alt]
!!if|y5=123/y5=125:;                    [место клика]
   !!CA-1:H0/?y1 H1/?y2;                [получить номера героев]
   !!if&y1>-1/y2>-1:;                   [только если есть оба героя]
     !!UN:C6918840/4/?y10;              [получить AdvManager]
     !!SN:E7411341/1/y1;  !!VRy11:Sv1;  [структура первого героя]
     !!SN:E7411341/1/y2;  !!VRy12:Sv1;  [структура второго героя]
     !!SN:E4859312/3/y11/y12;           [грамотность между героями]
     !!SN:E4893280/2/y10/y11/y12;       [открыть окно встречи]
   !!en:;
!!en:;


Acta est fabula!


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Richter
сообщение 29 Jan 2019, 15:17 (Сообщение отредактировал Richter - 29 Jan 2019, 15:18)
Сообщение #168

collector of time
Сообщений: 159
Спасибо сказали: 73 раза




Помогите получить значение опыта необходимое для достижения следующего уровня, для дальнейшей работы с числом.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 29 Jan 2019, 17:35
Сообщение #169

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




Проще всего выписать все числа в скрипт и сравнивать. Величины опыта для уровней с 13ого игрой нигде не хранятся, а каждый раз вычисляются на лету.
Go to the top of the pageAdd Nick
 
+Quote Post
igrik
сообщение 29 Jan 2019, 17:52
Сообщение #170

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




Зачем, ведь в воге это уже есть
Код
!!VRy2:S10; // искомый уровень
!!VRy3:Sy2*4 +8002732;
!!UN:Cy3/4/?y4;
!!IF:M^Следующий уровень: %Y4^;


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


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Richter
сообщение 29 Jan 2019, 19:39
Сообщение #171

collector of time
Сообщений: 159
Спасибо сказали: 73 раза




Цитата(igrik @ 29 Jan 2019, 19:52) *
Зачем, ведь в воге это уже есть

Не нашёл, это для специальной шкалы опыта. Спасибо Igrik, спасаете в очередной раз.

Цитата(feanor @ 29 Jan 2019, 19:35) *
Проще всего выписать все числа в скрипт и сравнивать. Величины опыта для уровней с 13ого игрой нигде не хранятся, а каждый раз вычисляются на лету.

Так и хотел, но был уверен что можно проще. А то уже 7634 строки только скрипты.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
AlexSpl
сообщение 01 Feb 2019, 22:47
Сообщение #172

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




2igrik:

Цитата
; открыть окно встречи героев в городе по ЛКМ + Alt


Сделал плагин для HD мода, который открывает окно встречи по нажатию на клавишу "E", но после закрытия диалога появляется забагованная карта приключений.

Код плагина

Ваш код после закрытия диалога возвращает в город?
Go to the top of the pageAdd Nick
 
+Quote Post
Raistlin
сообщение 05 Jan 2021, 23:42 (Сообщение отредактировал Raistlin - 10 Jan 2021, 23:50)
Сообщение #173

Advanced Member
Сообщений: 106
Спасибо сказали: 317 раз




Спец.строения в городах:

Код
; При изменении следующих значений не забудьте поменять их и в BldgSpec.txt

; Установка значения атаки в Храме Валгаллы ©Я
!#UN:C6021441/1/4; Подмена инкремента сложением
!#UN:C6021442/1/1; Бонус атаки от Храма Валгаллы

; Установка значения защиты в Клетке Богов Войны ©Я
!#UN:C6021666/1/4; Подмена инкремента сложением
!#UN:C6021667/1/1; Бонус защиты от Клетки Богов Войны


; Город, в котором работает Храм Валгаллы ©Я
!#UN:C6021227/1/6;

; Город, в котором работает Клетка Богов Войны. Адрес найден Феанором по моей просьбе, так как раньше я не мог сделать это самостоятельно
!#UN:C6021452/1/7;    

; Город, в котором работает Орден Огня ©Я
!#UN:C6020842/1/3;

; Город, в котором работает Стена Знаний ©Я
!#UN:C6020661/1/2;

; Навыки, даваемые спец. строениями ©Я
; 118 - атака
; 119 - защита
; 120 - сила
; 121 - знание

!#UN:C6021437/1/118; Храм Валгаллы
!#UN:C6021445/1/118;
!#UN:C6021662/1/119; Клетка Богов Войны
!#UN:C6021670/1/119;
!#UN:C6020951/1/120; Орден Огня
!#UN:C6020943/1/120;
!#UN:C6020770/1/121; Стена Знаний
!#UN:C6020762/1/121;

; Бонус Силы от Серных Туч ©Я
!#UN:C4602236/1/2;
; Бонус Силы от Грааля Темницы ©Я
!#UN:C4602282/1/12;
; Бонус очков маны от Грааля Башни ©Я
!#UN:C4602189/2/150;

; Отключить торговцев артефактами ©Я
!#UN:C6111473/2/37008; Башня
!#UN:C6111478/2/37008; Темница
!#UN:C6111483/2/37008; Сопряжение

; Вот с поисков этих адресов было реально много мучений, но я все-таки их нашел )
; Это у нас Университет Магии в Сопряжении
!#UN:C6110754/1/2; Номер города, в котором он работает равен 6 + значение (в оригинале 2, так что 8)
!#UN:C6110754/1/1; Если поставить 1, Университет переедет в Крепость и будет работать по нажатию на Знаки Страха
!#UN:C6110754/1/-1;Если поставить -1, Университет переедет в Темницу и будет работать по нажатию на Вихрь маны
!#UN:C6110754/1/5; Чтобы отключить Университет, можно поставить несуществующий индекс города (6+5=11). Подсказка при этом останется
; Кстати, навыки, которые там даются, тоже можно редактировать. Соответствующие адреса нашел feanor: https://forum.df2.ru/index.php?s=&showtopic=6803&view=findpost&p=429783

; Альтернативный способ отключить Университет Магии. В первом случае убирается проверка на Сопряжение, сейчас - последующее действие
!#UN:C6110755/2/37008;
!#UN:C6110757/4/2425393296;

; Отключить Университет Магии для ИИ. Сердечное спасибо Феанору за указание на необходимость данного действия, а также за адрес функции
!#UN:C5398076/1/144;
!#UN:C5398077/4/2425393296;

; Отключить Преобразователь Скелетов
!#UN:C6111184/1/144;
!#UN:C6111185/4/2425393296;

; Отключить Гильдию наемников
!#UN:C6110986/1/144;
!#UN:C6110987/4/2425393296;

; Отключить Двор Баллист
!#UN:C6111157/1/144;
!#UN:C6111158/4/2425393296;

; Отключить Врата Замка
!#UN:C6111142/1/144;
!#UN:C6111143/4/2425393296;

; Отключить открытие Таверны при нажатии на Братство Меча
!#UN:C6111068/1/144;
!#UN:C6111069/4/2425393296;

; Если Университет - это у нас Король Боли, то Конюшни - безусловно Королева :)
; Найти адрес было легко, но додуматься "занопить" проверку - совсем наоборот... Там идет не обычная проверка, а "test al, al", и я пытался переделать это все так, чтобы работало с cmp...
; Даже с переходами игрался, но до самого очевидного решения додумался только спустя несколько перерывов :)
!#UN:C6020509/2/37008; Отключение Конюшен

; Отключить Маяк (подсмотрено в исходниках TSW)
!#UN:C5131612/1/235;


; Отключение функций спецпостроек Крепости ©feanor
Код
!?PI;
!!UN:C6021452/1/99;         Клетка Богов Войны (вместо седьмого города проверяем девяносто девятый)
!!UN:C4602370/1/0;          Обнуляем бонус атаки от Обелиска Крови
!!UN:C4602421/1/0;          Обнуляем бонус защиты от Знаков Страха


; Отключение функций спецпостроек Темницы ©feanor
Код
!?PI;
!!UN:C6130651/1/18;    Отключение Портала Вызова
!!UN:C6130708/1/52;
!!UN:C5016380/1/86;
!!UN:C5362353/1/120;
!!UN:C6055202/1/144;

!!UN:C6020334/1/255;   Отключение Водоворота Маны
!!UN:C6021023/1/255;   Отключение Академии Боевых Исскуств
!!UN:C6111477/1/6;     Отключение Торговцев Артефактами (этот вариант моему неаналогичен, с ним не получится отключить Сопряжение)

Код
if ( v53->type == 2 || v53->type == 5 || v53->type == 8 )


005D40EE 83E8 02 SUB EAX,2 ; Switch (cases 2..8, 2 exits)
005D40F1 74 6F JZ SHORT 005D4162
005D40F3 83E8 03 SUB EAX,3
005D40F6 74 6A JZ SHORT 005D4162
005D40F8 83E8 03 SUB EAX,3
005D40FB 74 65 JZ SHORT 005D4162

Вместо проверки на Темницу feanor сразу проверяет Сопряжение, вычитая не 3, а 6, ну а второй "SUB EAX,3" становится попросту не нужен. Последующий переход происходит только в том случае, если результат равен нулю (JZ), а он, как ни крути, будет меньше



P.S. ©Я - это конечно же шутка, и каждая буква этого сообщения является общественным достоянием wink.gif


--------------------
Создатель глобального мода WoG Ultra Edition. Тема мода на разных ресурсах:
df2: https://forum.df2.ru/index.php?showtopic=38057
Основной форум: http://wforum.heroes35.net/showthread.php?tid=5571
Группа ВКонтакте: https://vk.com/club194956360


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Raistlin
сообщение 10 Jan 2021, 23:53
Сообщение #174

Advanced Member
Сообщений: 106
Спасибо сказали: 317 раз




Золотишко:

Код
; Бонус от Грааля
!#UN:C6027966/4/5000;

Код
; Артефакты, дающие голду
!#UN:C5011192/1/115;  Неиссякаемый Мешок Золота
!#UN:C5011204/1/116;  Неиссякаемая Сума Золота
!#UN:C5011227/1/117;  Неиссякаемая Мошна Золота

Код
; Отключение бонусов и штрафов для ИИ
!#UN:C5011382/1/235; Отключить умножение дохода на 0.75 при игре на пешке (подмена условного перехода на безусловный)
!#UN:C5011409/1/3;   Уровень сложности, при котором происходит умножение на 1.25 (3=ферзь)
!#UN:C5011437/1/4;   Уровень сложности, при котором происходит умножение на 1.5  (4=король)

Код
  v20 = o_GameMgr->Player.PlayerHandicap[player_id];
  if ( v20 == 1 )
  {
    v21 = (golda * 0.85);
  }
  else if ( v20 == 2 )
  {
    v21 = (golda * 0.7);
  }
  else
  {
    LODWORD(v21) = golda;
  }





Цитата('Igor')
Код
; Доход от казны
!!UN:C6027876/4/4000;  золото капитолий 4000
!!UN:C6027849/4/2000;  золото муниципалитет 2000
!!UN:C6027822/4/1000;  золото перфектура 1000
!!UN:C6027803/4/500;   золото сельская управа 500
; Доход от шахты
!!UN:C5011015/4/1000;  1000 золота в день


Цитата('igrik')
Код
!?FU(OnGameEnter);
; ПОМЕСТЬЯ -------------------------------
!!VRy10:S6547992; куда глядеть то
; базовый     +250 золота
!!VRy1:Sy10 +4;
!!UN:Cy1/4/250;
; продвинутый +500 золота
!!VRy2:Sy10 +8;
!!UN:Cy2/4/500;
; эксперт     +750 золота
!!VRy3:Sy10 +12;
!!UN:Cy3/4/750;


P.S. У меня в прошлом сообщении был указан неверный адрес для города, в котором работает Храм Валгаллы. Если вдруг кто-то его брал, то знайте - он неправильный, и изменение значения будет вызывать вылет. Сейчас сообщение уже обновлено, так что копировать снова можно.


--------------------
Создатель глобального мода WoG Ultra Edition. Тема мода на разных ресурсах:
df2: https://forum.df2.ru/index.php?showtopic=38057
Основной форум: http://wforum.heroes35.net/showthread.php?tid=5571
Группа ВКонтакте: https://vk.com/club194956360


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Raistlin
сообщение 15 Feb 2021, 13:53 (Сообщение отредактировал Raistlin - 22 Feb 2021, 08:49)
Сообщение #175

Advanced Member
Сообщений: 106
Спасибо сказали: 317 раз




; Работает только с препятствиями
Код
!!UN:C6919200/4/?y50; Менеджер Битвы
!!SN:E4625904/2/y50/[индекс гекса]; Записываем в v1, можно ли встать на это место. 0 - можно, 1 - нельзя. Силовое поле учитывается.
; Если стена или ворота не пробиты, значение для атакующего будет 1, иначе - 0. Через BU:O это не узнать.


--------------------
Создатель глобального мода WoG Ultra Edition. Тема мода на разных ресурсах:
df2: https://forum.df2.ru/index.php?showtopic=38057
Основной форум: http://wforum.heroes35.net/showthread.php?tid=5571
Группа ВКонтакте: https://vk.com/club194956360


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Raistlin
сообщение 21 Feb 2021, 18:49 (Сообщение отредактировал Raistlin - 22 Feb 2021, 20:41)
Сообщение #176

Advanced Member
Сообщений: 106
Спасибо сказали: 317 раз




Получение случайного урона от стека (как при атаке):

Код
!!SN:E4468352/2/*Структура_Атакующего_Стека*/0;
!!SN:E4471904/2/*Структура_Атакующего_Стека*/*Структура_Защищающегося_Стека*/v1/*Стрелок - 1, рукопашник - 0*/0/*Шаги_Для_Кав._Бонуса*/*см. комментарий*;
; Урон запишется в v1, все бонусы вроде атаки и заклинаний учтутся
; Комментарий: последний параметр - это указатель на переменную, в которую в результате работы функции запишется урон от огненного щита (0 - не подсчитывать)


Получение минимального и максимального урона от стека:

Код
; Для использования во всяких сообщениях и подсказках
!!BM*Атакующий_Стек*:Z?y1;
!!BM*Защищающийся_Стек*:Z?y2;
!!BM*Атакующий_Стек*:U1/?y3;
!!BM*Атакующий_Стек*:U2/?y4;
!!BM*Атакующий_Стек*:N?y5;
!!VRy3:*y5;
!!VRy4:*y5;
!!SN:E4471904/2/y1/y2/y3/0/0/0/0;
!!VRy6:Sv1; Минимальный урон
!!SN:E4471904/2/y1/y2/y4/(Стрелок?)/0/0/0;
!!VRy7:Sv1; Максимальный урон


--------------------
Создатель глобального мода WoG Ultra Edition. Тема мода на разных ресурсах:
df2: https://forum.df2.ru/index.php?showtopic=38057
Основной форум: http://wforum.heroes35.net/showthread.php?tid=5571
Группа ВКонтакте: https://vk.com/club194956360


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post

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

 



Текстовая версия Сейчас: 28 March 2024 - 18:44
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика