| PerryR   
 Posts: 460
 
 | 
			| 
 
				 (13.05.2024 10:37)fatsawhorse Wrote:  Неужели нет возможности скриптом заставить командира сражаться, а не колдовать? Не сильно хочется мне обнулять его колдовскую силу через !?BG0, а потом через !?BG1 возвращать снова. Это геморно! Может всё-таки скриптом есть какой-нибудь другой способ? 
Setting the number of available casts to zero is a good way in my opinion to force the commander to fight with his hands.
			 |  | 
	| 14.05.2024 03:12 |  | 
	
		| Elzivir   
 Posts: 263
 
 | 
			| 
 
				Ребята, подскажите кому не сложно и будет время, что необходимо изменить/добавить в скрипте Медицина  (из мода Era Scripts Rus, автор - Algor ), чтобы он работал и при переигрывании битвы с помощью файла BattleReplay.dll (автор - igrik ):
 !?BA52;                       [Начало боя: установка флага]!!UN:P782/?y1;                [проверяем включена ли опция 782 в y1]
 !!UN&y1>0:P782/2;             [P782=2 в начале битвы]
 
 !?BR-1;                       [Начало боя: проверка стеков]
 !!UN:P782/?y1;                [проверяем включена ли опция 782 в y1]
 !!FU&y1<2:E;                  [выход если опция не включена или здоровье уже изменялось]
 !!BA:H0/?y1;                  [y1 - номер атакующего героя]
 !!BA:H1/?y2;                  [y2 - номер защищающегося героя, -2. если нет героя]
 !!HEy1:S27/?y11;              [y11 - уровень Медицины атакующего героя [0..3]]
 !!HEy1:X?y13/?y14/d/d/d/d/d;  [y13=0,y14=номер навыка для специалистов по вторичному навыку]
 !!VRy12:S0;                   [обнуление переменной]
 !!VRy12&y13=0/y14=27:S1;      [y12=1 для спец. Медицина атакующего героя]
 !!HEy1:A2/94/d/?y13;          [y13 - количество надетых Колец живучести у атакующего героя]
 !!VRy13&y13>0:S1;             [y13=1, если надето Кольца живучести]
 !!HEy1:A2/95/d/?y14;          [y14 - количество надетых Колец жизни у атакующего героя]
 !!VRy14&y14>0:S1;             [y14=1, если надето Кольца жизни]
 !!HEy1:A2/96/d/?y15;          [y15 - количество надетых Виалов жизненной силы у атакующего героя]
 !!VRy15&y15>0:S2;             [y15=2, если надет Виал жизненной силы]
 !!HEy1:A2/131/d/?y16;         [y16=1 , если надет Эликсир жизни у атакующего героя]
 !!VRy16&y16>0:S4;             [y16=4, если надет Эликсир жизни]
 !!VRy11:+y12 +y13 +y14 +y15;  [y11 - кол-во 5%-х бонусов от Навыка, Специализации и Артефактов атакующего героя]
 !!VRy13:+y14 +y15 +y16;       [y13 - бонус здоровья артефактов атакующего героя (для удаления)]
 !!VRy21:S0;                   [обнуление переменной]
 !!VRy23:S0;                   [обнуление переменной]
 !!VRy26:S0;                   [обнуление переменной]
 !!HEy2&y2>-1:S27/?y21;        [y21 - уровень Медицины защищающегося героя [0..3]]
 !!HEy2&y2>-1:X?y23/?y24/d/d/d/d/d;  [y23=0,y24=номер навыка для специалистов по вторичному навыку]
 !!VRy22&y2>-1:S0;
 !!VRy22&y2>-1/y23=0/y24=27:S1;[y22=1 для спец. Медицина защищающегося героя]
 !!HEy2&y2>-1:A2/94/d/?y23;    [y23 - количество надетых Колец живучести у защищающегося героя]
 !!VRy23&y2>-1/y23>0:S1;       [y23=1, если надето Кольца живучести]
 !!HEy2&y2>-1:A2/95/d/?y24;    [y24 - количество надетых Колец жизни у защищающегося героя]
 !!VRy24&y2>-1/y24>0:S1;       [y24=1, если надето Кольца жизни]
 !!HEy2&y2>-1:A2/96/d/?y25;    [y25 - количество надетых Виалов жизненной силы у защищающегося героя]
 !!VRy25&y2>-1/y25>0:S2;       [y25=2, если надет Виал жизненной силы]
 !!HEy2&y2>-1:A2/131/d/?y26;   [y26=1 , если надет Эликсир жизни у защищающегося героя]
 !!VRy26&y26>0:S4;             [y26=4, если надет Эликсир жизни]
 !!VRy21&y2>-1:+y22 +y23 +y24 +y25;  [y21 - кол-во 5%-х бонусов от Навыка, Специализации и Артефактов защищающегося героя]
 !!VRy23&y2>-1:+y24 +y25 +y26; [y23 - бонус здоровья артефактов защищающегося героя (для удаления)]
 !!DO7916/0/41/1:Py11/y13/y21/y23/y16/y26;    [перебор стеков на поле боя и увеличение здоровья живых непризванных стеков]
 !!UN:P782/1;                  [флаг окончания увеличения здоровья стеков]
 
 !?FU7916;                     [x16-номер стека, x1,x3-кол-во 5%-х бонусов атакующего/защищающегося, x2,x4-бонус здоровья артефактов атакующего/защищающегося, x5,x6=4 надет Эликсир жизни у атакующего/защищающегося]
 !!BMx16:O?y1;                 [y1 - номер слота в армии [0..6], -1 если слот призван]
 !!BMx16:F?y2;                 [y2 - флаг существ стека]
 !!VRy2:&16;                   [y2=16 если существа живые, y2=0 если нет]
 !!VRy5:S0;                    [обнуление переменной]
 !!BMx16:H?y3;                 [y3 - max HP существа]
 !!BMx16:I?y4;                 [y4=0 для атакующего и 1 для защищающегося]
 !!VRy3&y4=0:-x2;              [y3 - здоровье существ без бонусов артефактов]
 !!VRy3&y4=1:-x4;              [y3 - здоровье существ без бонусов артефактов]
 !!VRy5&y4=0/y2=16/y1>-1:Sy3;        [---------------------------------------------------------]
 !!VRy5&y4=0/y2=16/y1>-1/x5=4::5 *4; [y5 - бонус здоровье живых непризванных существ атакующего]
 !!VRy5&y4=0/y2=16/y1>-1:*x1 :20;    [---------------------------------------------------------]
 !!VRy5&y4=1/y2=16/y1>-1:Sy3;        [------------------------------------------------------------]
 !!VRy5&y4=1/y2=16/y1>-1/x6=4::5 *4; [y5 - бонус здоровья живых непризванных существ защищающегося]
 !!VRy5&y4=1/y2=16/y1>-1:*x3 :20;    [------------------------------------------------------------]
 !!VRy3:+y5;                   [y3 - измененные HP стека существ]
 !!BMx16:Hy3;                  [y3 - устанавливаем измененные HP стека существа]
P/S: скрипт наделяет навык Первой Помощи свойством добавлять 5/10/15% к HP существ. Так-то он действует исправно (даже при стандартных перезагрузках), но при переигрывании битвы именно с помощью BattleReplay.dll почему-то не работает...   
				
(This post was last modified: 17.05.2024 15:38 by Elzivir.)
 |  | 
	| 17.05.2024 08:29 |  | 
	
		| Elzivir   
 Posts: 263
 
 | 
			| 
 
				Удалось самому разобраться с проблемой. Все разрешилось благодаря установке хука на событие. Очередной костыль, конечно, зато все работает.    |  | 
	| 17.05.2024 17:31 |  | 
	
		| fatsawhorse   
 Posts: 1021
 
 | 
			| 
 
				Hello, Perry R 
Most likely, I will do so when receiving the commander's move, since I think this is the only way, since there is no other simpler one.    |  | 
	| 21.05.2024 02:15 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 | 
			| 
 
				Previous discussion
Hi Berserker , I am currently implementing a new artifact that ignores negative morale (similar to Spirit of Oppression but oppositely)
 
Ideally, I want to insert my hook at 0044BCBD, before the Spirit of Oppression logic. 
 
What I need to do here is the same with Spirit of Oppression: 
- Clear the forming text 
- Insert my text 
Roughly I need to repeat the code from 0044BCE4 to 0044BD19 but with my own arguments.
 
Is it possible to do that in erm?
			 
 Latest ERA mods and scripts in development -  My GitHub
 
				
(This post was last modified: 23.05.2024 10:00 by Archer30.)
 |  | 
	| 23.05.2024 10:00 |  | 
	
		| fatsawhorse   
 Posts: 1021
 
 | 
			| 
 
				Здравствуйте.. Если кто может, то посмотрите лог! Я его сохранил и выложил на этот сайт https://ru.files.me/f/ddhawuvfhs  ..
 
Эта ошибка меня иногда беспокоит. Она возникает обычно когда я нападаю на замок и веду бой в нём. Хотелось бы знать в чём эта проблема? Я не умею логи расшифровывать, но очень бы хотел научиться?
 
Заранее благодарю..
			
				
(This post was last modified: 24.05.2024 10:15 by fatsawhorse.)
 |  | 
	| 24.05.2024 10:14 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 |  | 
	| 27.05.2024 14:29 |  | 
	
		| fatsawhorse   
 Posts: 1021
 
 | 
			| 
 
				Здравствуйте XEPOMAHT 
Спасибо Вам за помощь в расшифровке..
 
P.S. Я бы сам хотел научиться читать лог-файлы, но понятия не имею как это делать! 
А Вы можете сказать по какой строчке Вы это определили? 
Да уже, эра 3.0.5 это набор ошибок   
				
(This post was last modified: 28.05.2024 04:43 by fatsawhorse.)
 |  | 
	| 28.05.2024 04:39 |  | 
	
		| XEPOMAHT   
   
   Posts: 2481
 
 | 
			| 
 
				 (28.05.2024 04:39)fatsawhorse Wrote:  Я бы сам хотел научиться читать лог-файлы, но понятия не имею как это делать! 
Для этого нужно знать Ассемблер и иметь более-менее разобранную геройскую базу.
  (28.05.2024 04:39)fatsawhorse Wrote:  А Вы можете сказать по какой строчке Вы это определили? 
По адресу ощибки и содержимому регистров процессора.
  (28.05.2024 04:39)fatsawhorse Wrote:  Да уже, эра 3.0.5 это набор ошибок  
Лучше переходите на последнюю версию ERA.
			 |  | 
	| 28.05.2024 05:16 |  | 
	
		| fatsawhorse   
 Posts: 1021
 
 | 
			| 
 
				Здравствуйте XEPOMAHT Quote:По адресу ощибки и содержимому регистров процессора. 
 - а Вы можете эту строчку из лога сюда скопировать, если не недолго и не сложно! Может я методом тыка поучусь такие ужасы определять!
 Quote:Лучше переходите на последнюю версию ERA. 
 - я готов это сделать прямо сейчас даже, но там до сих пор сетевая игра сломана. Я 3.9.5 тестировал и рассинхрон. При этом не было моих кодов и все опции были также отключены в игре    Да ещё там была проблема с шрифтами на вторых компьютерах (там всё в иероглифах непонятных мне было). Судя по этим проблемам они есть, были и будут и думаю их вряд ли устранят (возможно по лоби эти рассинхроны не видны, но по сетевому проводу точно имеют место быть), так не видят скорее всего, но я вижу и они там точно есть! А вся моя игра построена на сетевых баталиях, где применяются коды в битвах!
			
				
(This post was last modified: 01.06.2024 08:40 by fatsawhorse.)
 |  | 
	| 01.06.2024 08:37 |  | 
	
		| XEPOMAHT   
   
   Posts: 2481
 
 | 
			| 
 
				 (01.06.2024 08:37)fatsawhorse Wrote:  Вы можете эту строчку из лога сюда скопировать, если не недолго и не сложно! Может я методом тыка поучусь такие ужасы определять! 
Exception 
{      Module: 	h3era HD.exe      Adress:      [ 0x0043F2FC ]      Code:        EXCEPTION_ACCESS_VIOLATION      Flags:       0x00000000      Information: read of address: 0x00000030 
}
 
Context { EAX: 0x00000070, ECX: 0x00000002, EDX: 0x00000000, EBX: 0x0F53CB94, ESP: 0x02D382E4, EBP: 0x02D38380, ESI: 0xFFFFFFDE, EDI: 0xFFFFFF95 }
  (01.06.2024 08:37)fatsawhorse Wrote:  но там до сих пор сетевая игра сломана. Я 3.9.5 тестировал и рассинхрон. При этом не было моих кодов и все опции были также отключены в игре  
Печально, что не исправили. Попробуйте версию ERA 3.9.12, может там всё же исправили мультиплейер (т.к. онлайн-лобби на ней люди как-то играют).
			 |  | 
	| 01.06.2024 09:23 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 01.06.2024 10:19 |  | 
	
		| fatsawhorse   
 Posts: 1021
 
 | 
			| 
 
				Здравствуйте Berserker Quote:fatsawhorse, В 3.9.11 уже нет проблем с рассинхроном без скриптов. 
 - пожалуйста, можно мне её протестировать! Очень хочу проверить. Правильно ли я понял, без всех скриптов? Неужели и свои нельзя вставлять? Или только без опций это! в 3.0.5 опции встроенные не все, но не которые и мои скрипты не давали рассинхрон, работая совместно!
 
А шрифт на втором компьютере исправлен или снова иероглифы греческие?
 
Хочу тестировать! сслыку дайте плиз..
XEPOMAHT  Вы правы, я даже смотря на этот адрес с ошибкой просто-напросто не могу даже понять что дело именно в том что Вы мне написали в прошлый раз!
 
Но спасибо за подсказку где искать проблему (хотя я её и не найду. Это видимо где-то внутри игры, а не мои скрипты)
			 |  | 
	| 01.06.2024 10:42 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 01.06.2024 13:43 |  |