Zur13 
 
 
		
		
		
			
			
			
 
 
			
Posts: 223 
	
		
	 | 
	
		
			
			 
			
				Как в ЕРМ скрипте обнаружить нажатия на кнопки Передачи всех артефактов/артефактов куклы героя или обмена всеми артефактами/обмена артефактами с кукол героев на экране встречи героев?
			 
			
			
			
		 |  
	 
 | 
	| 07.07.2020 00:43 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
 | 
	| 07.07.2020 00:45 | 
	
		
	 | 
	
		
		Zur13 
 
 
		
		
		
			
			
			
 
 
			
Posts: 223 
	
		
	 | 
	
		
			
			 
			
				 (07.07.2020 00:45)igrik Wrote:  Кнопки которые HD-шные? 
Да, они же вроде только HD модом добавляются, в оригинале их небыло.
			  
			
			
			
		 |  
	 
 | 
	| 07.07.2020 01:13 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
 | 
	| 07.07.2020 01:28 | 
	
		
	 | 
	
		
		Guru105 
 
 
		
		
		
			
			
			 
			
Posts: 835 
	
		
	 | 
	
		
			
			 
			
				Zur13,  daemon_n, проверил, !?CM3 действительно срабатывает для HD-шного окна встречи героев. 
Id кнопок можно проверить вот так (по правому клику):
 
Кнопки передачи артов 450-452.
			  
			
			
			
				
(This post was last modified: 07.07.2020 08:42 by Guru105.)
 
			 
		 |  
	 
 | 
	| 07.07.2020 08:42 | 
	
		
	 | 
	
		
		Zur13 
 
 
		
		
		
			
			
			
 
 
			
Posts: 223 
	
		
	 | 
	
		
			
			 
			
				 (07.07.2020 03:27)daemon_n Wrote:  А CM:I?y1; ? Если не ошибаюсь, Id этих кнопок статичный. Я пытался данный код улучшить для передачи военных машин. Есть даже эрм скрипт для этого в вог скриптс. Там много авторов, но сделано через позицию курсора на экране в момент клика. Вполне все отслеживалось. Могу, конечно, путаться, но проверить стоит. 
 
Как пример - без hd mod id кнопок героев на кп 39-43, с - 39-46. Справка содержит инфо лишь о первых 5. Так что данный момент работает. 
 (07.07.2020 08:42)wessonsm Wrote:  Zur13, daemon_n, проверил, !?CM3 действительно срабатывает для HD-шного окна встречи героев. 
Id кнопок можно проверить вот так (по правому клику): 
Кнопки передачи артов 450-452. 
Подумал что в первый раз когда сам проверял что-то накосячил, но нет, проверил только что еще раз, у меня для правой кнопки мыши срабатывает перехват, а для левой - нет.
			  
			
			
			
				
(This post was last modified: 07.07.2020 12:50 by Zur13.)
 
			 
		 |  
	 
 | 
	| 07.07.2020 12:48 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
			
			 
			
				 (07.07.2020 12:48)Zur13 Wrote:  Подумал что в первый раз когда сам проверял что-то накосячил, но нет, проверил только что еще раз, у меня для правой кнопки мыши срабатывает перехват, а для левой - нет. 
Поэтому я и написал, что для ERMа это практически неподъемная задача. Для ЛКМ.
 
Проблема вот в чём: 
- HD мод ставит перехват на функцию обработки событий в окне встречи героев и запускает свою функцию, скажем "Heroes_Meet_Proc", и выполняет сначала свои действия, а лишь потом запускает оригинальный обработчик (и то не всегда). Например, обработав действия своих кнопок, HD выходит из функции и НЕ запускает орининальный обработчик. Именно поэтому не ловится ЛКМ по нажатию на HD-шные кнопки
 
Выглядит это так:
 
Code: 
 0x5B0100_Hook Heroes_Meet_Proc ()  
{ 
  - сначала идет обработка действий HD по новым кнопкам. И если это кнопки HD, то выполняются действия с артами или монстрами, а потом идет возврат из этой функции минуя нижеследующую строку. 
  - а только потом запускается оригинальный обработчик действий, на котором висят хуки Вога, которые и дают возможность работать ERMу 
}
  
В итоге чтобы сделать обработку ERMа до действий HD, нужно выловить динамический адрес функции Heroes_Meet_Proc (что легко сделать), и найти в ней место для ERM хука (вот в этом самая большая сложность)
 
Но я попробую что то придумать. Хотя и не обещаю, что получится.
			  
			
			
  
game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
			
		 |  
	 
 | 
	| 07.07.2020 13:16 | 
	
		
	 | 
	
		
		Zur13 
 
 
		
		
		
			
			
			
 
 
			
Posts: 223 
	
		
	 | 
	
		
			
			 
			
				 (07.07.2020 13:16)igrik Wrote:   (07.07.2020 12:48)Zur13 Wrote:  Подумал что в первый раз когда сам проверял что-то накосячил, но нет, проверил только что еще раз, у меня для правой кнопки мыши срабатывает перехват, а для левой - нет. 
Поэтому я и написал, что для ERMа это практически неподъемная задача. Для ЛКМ. 
 
Проблема вот в чём: 
- HD мод ставит перехват на функцию обработки событий в окне встречи героев и запускает свою функцию, скажем "Heroes_Meet_Proc", и выполняет сначала свои действия, а лишь потом запускает оригинальный обработчик (и то не всегда). Например, обработав действия своих кнопок, HD выходит из функции и НЕ запускает орининальный обработчик. Именно поэтому не ловится ЛКМ по нажатию на HD-шные кнопки 
 
Выглядит это так: 
Code: 
 0x5B0100_Hook Heroes_Meet_Proc ()  
{ 
  - сначала идет обработка действий HD по новым кнопкам. И если это кнопки HD, то выполняются действия с артами или монстрами, а потом идет возврат из этой функции минуя нижеследующую строку. 
  - а только потом запускается оригинальный обработчик действий, на котором висят хуки Вога, которые и дают возможность работать ERMу 
}
  
 
В итоге чтобы сделать обработку ERMа до действий HD, нужно выловить динамический адрес функции Heroes_Meet_Proc (что легко сделать), и найти в ней место для ERM хука (вот в этом самая большая сложность) 
 
Но я попробую что то придумать. Хотя и не обещаю, что получится. 
Буду очень благодарен, я уже на финальной стадии, осталось чуть ИИ научить пользоваться модом и выложу раннюю версию.
			  
			
			
			
		 |  
	 
 | 
	| 07.07.2020 13:24 | 
	
		
	 | 
	
		
		planetavril 
 
 
		
		
		
			
			
			 
			
Posts: 87 
	
		
	 | 
	
		
			
			 
			
				someone could create a plugin to enable blocked buildings and be able to choose which ones to unlock?for example enable:mage guild 4 and 5 for all town,hrd2,hrd2upg for the castle,extra animation for tower and inferno,disable dock and boat for necropolis
			 
			
			
			
		 |  
	 
 | 
	| 07.07.2020 14:17 | 
	
		
	 | 
	
		
		Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
 | 
	| 07.07.2020 14:21 | 
	
		
	 | 
	
		
		XEPOMAHT 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 2481 
	
		
	 | 
	
		
			
			 
			
				 (07.07.2020 14:21)Berserker Wrote:  зависимости строения жёстко закодированы в коде? 
Нет, там простая таблица.
  (07.07.2020 14:21)Berserker Wrote:  Есть возможность их элегантно поменять плагином? 
Да хоть ERM-ом:
 ERM-HELP Wrote:СА:B#/$ 
Настройка зданий города:            # = 1 – построить здание $            # = 2 – разрушить здание $             # = 3 – проверить, построено ли здание $ (во флаг 1)            # = 4 – разрешить для постройки здание $            # = 5 – запретить для постройки здание $            # = 6 – построить здание в городе, используя внутреннюю функцию 
Шестая опция - улучшение первой, она позволяет строить многоуровневые здания (гильдия магов, к примеру) без ошибок. 
 
CD:B0/#1/#2/$ 
Глобальное разрешение/запрещение построек           #1 – тип города           #2 – номер здания           $ – 0=запретить, 1=разрешить 
 
CD:B1/#1/#2/$1/$2 
Установить зависимость построек для здания.           #1 – тип города           #2 – номер здания           $1 – первое значение (байты 0..3), см. номера зданий           $2 – второе значение (байты 4..5), см. номера зданий 
 
CD:B2/#1/#2/#3/#4/#5/#6/#7/#8/#9/#10/#11/#12/#13/#14/#15/#16 
Установить зависимость построек для здания           #1 – тип города           #2 – тип здания           #3…#16 – номера зданий, от которых зависит здание #2 
Можно использовать как инструкцию, опускать ненужные параметры. Нельзя проверить или получить. 
 
CD:B3/#1/#2/$1/$2 
Установить исключающие зависимости для здания.           #1 – тип города           #2 – номер здания           $1 – первое значение (байты 0..3), см. номера зданий           $2 – второе значение (байты 4..5), см. номера зданий 
   Но перевод строений из декораций в постройки (и наоборот) - уже кодом в функции, которая их проверяет и указывает зависимости строительства декораций (например в определённых городах при строительстве Ратуши/Префектуры/Муниципалитета автоматически строятся "дочерние" им декорации и т.д.), в ERA+ за счёт этого и были добавлены новые объекты строительства.
			  
			
			
			
				
(This post was last modified: 07.07.2020 14:56 by XEPOMAHT.)
 
			 
		 |  
	 
 | 
	| 07.07.2020 14:36 | 
	
		
	 | 
	
		
		planetavril 
 
 
		
		
		
			
			
			 
			
Posts: 87 
	
		
	 | 
	
		
			
			 
			
				It should be so? 
 
ZVSE 
 
!!IF:M^Now^; 
 
CA-1:B1/1; 
CA-1:B3/1; 
CA-1:B4/3; 
CD:B0/0/4/1; 
CD:B1/0/4/4/2; 
CD:B2/0/4/3/2/1;
			 
			
			
			
				
(This post was last modified: 07.07.2020 15:41 by planetavril.)
 
			 
		 |  
	 
 | 
	| 07.07.2020 15:19 | 
	
		
	 | 
	
		
		daemon_n 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 4366 
	
		
	 | 
	
		
 | 
	| 07.07.2020 15:35 | 
	
		
	 |