| Berserker   
   
   Posts: 16785
 
 |  | 
	| 04.11.2010 20:12 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				Скажите,как можно получать  в игре (окно героя,в частности) спец.текст по существу (т.е. его описание,что можно менять через UN:G1/#/2/$)???    
требуется для DL-шаблона
			 |  | 
	| 14.11.2010 02:48 |  | 
	
		| GhostManSD   
   Posts: 1054
 
 | 
			| 
 
				Bes, не пробовали работать через UN:C?1. Найти в ArtMoney описания копейщика, алебардщика, арбалетчика.
 2. Найти указатель на описание каждого.
 3. Адрес будет таков: [адрес описания копейщика]+4*[номер существа].
 4. Далее скрипт а-ля !!UN:C[полученный адрес]/4/?v1;
 
 В v1 запишется адрес текста с описанием. Далее потребуется перенести содержимое этого адреса в z-переменную, но здесь я Вам не помощник: обращайтесь к отцам, потому как я в работе с памятью не силен.
 
 Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
 
				
(This post was last modified: 14.11.2010 03:43 by GhostManSD.)
 |  | 
	| 14.11.2010 03:43 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 | 
			| 
 
				$7D0CAC + НомерМонстра * 116 
Там указатель на строку с описанием. Нужно лишь её (строку) скопировать. 
kernel32.dll "lstrcpyA" (АдресПриёмника, АдресИсточника) STDCALL;
 
По Эре стандартно: 
Загрузить dll kernel32.dllПолучить адрес функции lstrcpyAВыполнить её с двумя параметрами, где второй параметр - адрес нужной z-переменной = $9273E8 + 512 * (Индекс - 1)
 Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
 Поддержать проект
 
 |  | 
	| 14.11.2010 14:47 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				я с ERA-командами ниразу не пользовался    Quote:
Загрузить dll kernel32.dllПолучить адрес функции lstrcpyAВыполнить её с двумя параметрами, где второй параметр - адрес нужной z-переменной = $9273E8 + 512 * (Индекс - 1) 
!!VRz1:S^kernel32.dll^; записать имя dll!!SN:Lz1/?v2; теперь v2 хранит номер dll
!!VRz2:S^lstrcpyA^; записать имя функции!!SN:Av2/z2/?v3; записать адрес функции в v3
 
А вот с третьим пунктом неразобрался.. какие значения мне написать в первом и втором параметре !!SN:Ev3/1/#1 /#2 ; ???
 
например,если взть z3,то 
$9273E8 + 512 * (3  - 1) = $9273E8 +1024 = $92840C [или 9602060]
			
				
(This post was last modified: 14.11.2010 23:06 by Bes.)
 |  | 
	| 14.11.2010 23:05 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 | 
			| 
 
				 (14.11.2010 23:05)Bes Wrote:  какие значения мне написать в первом и втором параметре !!SN:Ev3/1/#1/#2; ??? 
Code:
 (CDECL_OR_STDCALL) = 1;...
 !!VR$Адрес z-переменной$:S(Индекс z-переменной)-1*512+9597928;
 !!VR$адрес поля текста описания$:S(Номер монстра)*116+8195244;
 !!UN:C$адрес поля текста описания$/4/?$адрес текста описания$;
 !!SN:Ev3/(CDECL_OR_STDCALL)/$Адрес z-переменной$/$адрес текста описания$;
 
 Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
 Поддержать проект
 
 |  | 
	| 14.11.2010 23:35 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				Berserker,спасибо огромное!!!   
всё получилось..
			 |  | 
	| 16.11.2010 14:31 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 |  | 
	| 16.11.2010 15:16 |  | 
	
		| SAG   
   Posts: 173
 
 | 
			| 
 
				 (16.08.2010 14:41)MOP Wrote:  ; Врата Замка Инферно: 
где были мои глаза? 
однако этот ценный скрипт и патч под WT не работают...MOP дружище, посмотри почему глюкает. для активации Эры в WT нужно поставить патч http://www.heroes-iii.com/files/2.zip |  | 
	| 09.12.2010 14:42 |  | 
	
		| MOP   
   
   Posts: 1468
 
 | 
			| 
 
				 (09.12.2010 14:42)SAG Wrote:   (16.08.2010 14:41)MOP Wrote:  ; Врата Замка Инферно:где были мои глаза? однако этот ценный скрипт и патч под WT не работают...MOP дружище, посмотри почему глюкает. для активации Эры в WT нужно поставить патч http://www.heroes-iii.com/files/2.zip
 
Извиняюсь, только заметил пост. 
1. Это исходник к bin-файлу, то есть, его надо пропустить через BinGen.exe. 
2. Патчился экзешник или память? Патч для exe. Для памяти нужно увеличить адреса на 400000h. 
3. В чём глюк и по какому адресу, если имел место вылет? 
4. Не думаю, что в обработку диалога Портала Инферно мог вкрасться другой код - если в WT, конечно, не делали/пробовали сделать то же самое.
 
Разбираться с WT и патчем к нему мне обойдётся дорого по деньгам.
			 
 Circle of destruction, hammer comes crushing
 Powerhouse of energy
 Whipping up a fury, dominating flurry
 We create the battery
 
				
(This post was last modified: 11.12.2010 20:51 by MOP.)
 |  | 
	| 11.12.2010 20:45 |  | 
	
		| SAG   
   Posts: 173
 
 | 
			| 
 
				 (11.12.2010 20:45)MOP Wrote:  Извиняюсь, только заметил пост.2. Патчился экзешник или память? Патч для exe. Для памяти нужно увеличить адреса на 400000h.
 3. В чём глюк и по какому адресу, если имел место вылет?
 
только счас заметил ответ. патчил память (просто скомпилировал и положил в EraPlugins). 
глюк - кажется просто вылет в момент подгрузки Era на старте карты.
			 |  | 
	| 26.12.2010 18:02 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 |  | 
	| 26.12.2010 18:07 |  | 
	
		| Bes   
   Posts: 5451
 
 | 
			| 
 
				Делаю bin, где смещаю кнопки битвы, помещаю в папку ERAPlugins, запускаю ФМ (ERA,TE не важно), выбираю "новая" или "загрузить" и игра закрывается (тихо,без окошек вылета). 
В чём трабла?
 
Если этот же патч непосредственно в exe встроить, то всё нормально    |  | 
	| 20.01.2011 17:23 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 |  | 
	| 20.01.2011 18:09 |  | 
	
		| feanor   
 Posts: 624
 
 | 
			| 
 
				sergroj Wrote:1. На самом деле, Славин файл - это exe.Для WoG 3.58f:
 400000 + А, если А < 29C000,
 465000 + А, если А >= 29C000.
 |  | 
	| 20.01.2011 18:16 |  |