Berserker 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 16788 
	
		
	 | 
	
		
			
			 
			
				 (30.03.2015 23:17)igrik Wrote:  
Обновляет весь диалог и при любом разрешении экрана (с HD и без него). В том числе и арты 
PS: не без помощи Berserker'a 
Игрик, я верно твою функцию преобразовал?
 
Code: 
 MOV ECX, [$6A3D90] 
PUSH 0 
MOV EAX, $5AF4E0 
CALL EAX 
 
MOV ECX, [$6A3D90] 
PUSH 1 
MOV EAX, $5AF4E0 
CALL EAX 
 
MOV ECX, [$6A3D90] 
MOV EAX, $5B1200 
CALL EAX 
 
MOV ECX, [$6A3D90] 
MOV ECX, [ECX + 56] 
MOV EAX, [ECX] 
MOV EAX, [EAX + 20] 
PUSH $0000FFFF 
PUSH $FFFF0001 
PUSH 0 
CALL EAX 
 
MOV ECX, [$6992D0] 
PUSH DWORD [$40144F] // 600 
PUSH DWORD [$401448] // 800 
PUSH 0 
PUSH 0 
MOV EAX, $603190 
CALL EAX
  
			 
			
			
  
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов 
Поддержать проект 
			
		 |  
	 
 | 
	| 25.04.2015 01:01 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
			
			 
			
				ток увидел сообщение   
Я не знаю, Берс. Я в этом не шарю
 
; 0 - Голова 
; 1 - Плечи 
; 2 - Шея 
; 3 - Правая рука 
; 4 - Левая рука 
; 5 - Торс 
; 6 - Левое кольцо / Правое кольцо [замки = 0...2] 
; 7 - Ноги 
; 8 - Разное 5...1 [замки = 0...5] 
; 9 - Баллиста 
;10 - Тележка с боеприпасами 
;11 - Палатка первой помощи 
;12 - Катапульта (фигушки, я всегда с вами) 
;13 - Книга Заклинаий thx gamecreator
			  
			
			
  
game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
			
				
(This post was last modified: 27.05.2015 16:45 by igrik.)
 
			 
		 |  
	 
 | 
	| 27.05.2015 13:44 | 
	
		
	 | 
	
		
		gamecreator 
 
 
		
		
		
			
			
			
 
 
			
Posts: 7107 
	
		
	 | 
	
		
 | 
	| 15.08.2015 18:53 | 
	
		
	 | 
	
		
		gamecreator 
 
 
		
		
		
			
			
			
 
 
			
Posts: 7107 
	
		
	 | 
	
		
 | 
	| 25.08.2015 01:40 | 
	
		
	 | 
	
		
		feanor 
 
 
		
		
		
			
			
			 
			
Posts: 624 
	
		
	 | 
	
		
			
			 
			
				
Code: 
 NOALIGN struct _BattleStack_ : public _Struct_ // размер 0x548 
{ 
    _byte_ already_attack;    // +0 ? 
    _byte_ field_01;        // +1 ? 
    _byte_ field_02;        // +2 ? 
    _byte_ field_03;        // +3 ? 
    _byte_ field_04[4];        // +4 ? 
 
    _int32_ all_stacks_count; // +8  //полное число стеков у игрока 
 
    _byte_ field_0C[4];        // +12 0x0C  
    _dword_ field_10;        // +16 0x10  //=-1 после атаки и/или ответа(????) 
    _byte_ field_14[8];        // +20 0x14  ? 
 
    _int32_ aim_to_move_or_shoot; // 28 +0x1C  //позиция на поле боя (куда бежать/стрелять) 
    _byte_ fireshield;        // +32 0x20 // огненный щит 
 
    _byte_ field_21[7];        // +33 0x21  ? 
 
    _int32_ clone_index;    // +40 0x28 //номер стэка клона этого 
 
    _byte_ field_2C[4];        // +44 0x2C  ? 
    _dword_ field_30;        // +48 0x30  ? 
 
    _int32_ creature_id;                // +52 0x34 // тип монстра 
    _int32_ hex_ix;            // +56 0x38  //позиция на поле боя  
    _int32_ def_group_ix;    // +60 0x3C 
    _int32_ def_frame_ix;    // +64 0x40 
 
    _dword_ second_hex_is_right;        // +68 0x44 //(=1) сдвиг в сторону второй занятой клетки для монстра с двумя клетками 
    _dword_ field_48;        // +72 0x48 ? 
 
    _int32_ count_current;    // +76 0x4C // число монстров 
    _int32_ count_before_attack; // +80 +0x50 // число монстров до удара по ним в тек. атаку 
     
    _dword_ field_54;        // +84 0x54 ? 
     
    _int32_ lost_hp;        // +88 0x58 потери здоровья последнего монстра 
    _int32_ army_slot_ix;    // +92 0x5C номер слота of _Army_ (0...6), -1 - будет удален после битвы 
    _int32_ count_at_start;    // +96 0x60 число монстров в начале битвы 
     
    _dword_ field_64;        // +100 0x64 ? 
     
    _dword_ anim_value;        // +104 0x68 = cranim.f[15] при инициализации 
    _int32_ full_hp;        // +108 0x6C полное здоровье (исп. как база для лечения) 
     
    _bool32_ field_70;        // +112 0x70 ? 
 
////////////////////////////////////////////////////////////////////////////////// 
    _CreatureInfo_ creature; 
////////////////////////////////////////////////////////////////////////////////// 
    //_int_ town;        //+116 0x74 
    //_int_ level;        //+120 0x78 
    //_char_* sound_name;        //+124 0x7C 
    //_char_* def_name;        //+128 0x80 
    //_int_ flags;        //+132 0x84 
    //_char_* name_single;        //+136 0x88 
    //_char_* name_plural;        //+140 0x8C 
    //_char_* specification_description;        //+144 0x90 
    //_int_ cost_wood;        //+148 0x94 
    //_int_ cost_mercury;        //+152 0x98 
    //_int_ cost_ore;        //+156 0x9C 
    //_int_ cost_sulfur;        //+160 0xA0 
    //_int_ cost_crystal;        //+164 0xA4 
    //_int_ cost_jems;        //+168 0xA8 
    //_int_ cost_gold;        //+172 0xAC 
    //_int_ fight_value;        //+176 0xB0 
    //_int_ AI_value;        //+180 0xB4 
    //_int_ growth;        //+184 0xB8 
    //_int_ horde_growth;        //+188 0xBC 
    //_int_ hit_points;        //+192 0xC0 
    //_int_ speed;        //+196 0xC4             
    //_int_ attack;        //+200 0xC8 
    //_int_ defence;        //+204 0xCC 
    //_int_ damage_min;        //+208 0xD0 
    //_int_ damage_max;        //+212 0xD4 
    //_int_ shots;        //+216 0xD8 
    //_int_ spells_count;        //+220 0xDC 
    //_int_ advmap_low;        //+224 0xE0 
    //_int_ advmap_high;        //+228 0xE4 
/////////////////////////////////////////////////////////////////////////////// 
 
    _byte_ field_E8;        // +232 0xE8  ? 
 
    _bool8_ is_1_killed;    // +233 0xE9   =1, если умирал хоть один 
    _bool8_ is_killed;        // +234 0xEA   =1, если был убит весь стэк 
 
    _byte_ field_EB;        // +235 0xEB  ? 
 
    _int32_ current_creatures_spell_id; // +236 0xEC  номер заклинания существа в тек раунде 0x50 Acid breath 
     
    _int32_ field_F0;        // +240 0xF0  _byte_=1 перед атакой на него 441434 
     
    _int32_ side;            // +244 0xF4  0 - attacker, 1 - defender 
     
    _dword_ index_on_side;                // +248 F8 dd = номер стэка у стороны на поле боя 
    _dword_ field_FC;        // +252 FC dd = ? что-то с магией 
    _dword_ field_100;        // +256 100 dd 43DEA4 
    _dword_ field_104;        // +260 104 dd 43DEAD 
    _dword_ field_108;        // +264 108 dd 
    _dword_ field_10C;        // +268 10C dd 
     
    _CreatureAnim_ cr_anim;    // +272 0x110  
    _Def_* def;                // +356 0x164 def монстра, загрузка: 43DA8E 
    _Def_* def_shot;        // +360 0x168 def выстрела, загрузка: 43DA8E 
    _dword_ field_16C;        // +364 0x16С ? 
    _Wav_* wav_move;        // +368 0x170 звук перемещения (move), загрузка: 43DA8E 
    _Wav_* wav_attack;        // +372 0x174 звук атаки (attk/wnce/shot), загрузка: 43DA8E 
    _Wav_* wav_wnce;        // +376 0x178 звук 'колдует' (wnce), загрузка: 43DA8E 
    _Wav_* wav_shot;        // +380 0x17C звук выстрела (shot), загрузка: 43DA8E 
    _Wav_* wav_kill;        // +384 0x180 звук смерти (kill), загрузка: 43DA8E 
    _Wav_* wav_defend;        // +388 0x184 звук обороны (wnce/dfnd), загрузка: 43DA8E 
    _Wav_* wav_ext1;        // +392 0x188 звук дополнительный 1 (ext1), загрузка: 43DA8E 
    _Wav_* wav_ext2;        // +396 0x18С звук дополнительный 2 (ext2), загрузка: 43DA8E 
     
    _dword_ field_190;        // +400 0x190 ? 
     
    _int32_ active_spells_count; // +404 0x194 dd = количество уже наложенных заклинаний 
    _int32_ active_spell_duration[81]; // +408 0x198  есть заклинание (длительность) или нет 
    _int32_ active_spells_power[81]; // +732 0x2DC (сила действия заклинания) 
     
    _byte_ field_420[52];    // +1056 0x420 ? 
     
    _int32_ retaliations;    // +1108 0x454 // 441B17 (кол-во ответов на атаку 0= не отв. на атаку)// настройка для грифонов 46D6A0 
    _int32_ bless_value;    // +1112 0x458 Bless добавка к Max. Damage 
    _int32_ curse_value;    // +1116 0x45C Curse убавка к Min. Damage 
    _int32_ field_460;        // +1120 0x460 ? 
    _int32_ bloodlast_value;// +1124 0x464 Bloodlast добавка к Атаке с бонусами 
    _int32_ precision_value;// +1128 0x468 Precision добавка к Атаке с бонусами 
     
    _byte_ field_46C[32];    // +1132 0x46C ? 
     
    _int32_ king_type;        // +1164 0x48C dd KING_123 тип (1=KING_1,2=KING_2,3=KING_3) //   исп для расчета Slayer. Бонус 8 к Атаке: 0x4421D2      
    _int32_ field_490;        // +1168 0x490 dd номер атакера по порядку??? уже атаковал??? (сбрасывается после первого удара) 
    _int32_ counerstrike_retaliations; // +1172 0x494 dd кол. доп. ответов на атаку, добавленных Counerstrike заклом 
     
    _byte_ field_498[40];    // +1176 0x498 ? 
     
    _bool8_ blinded;            // +1216 0x4C0 db Blinded - снизить защиту (сбросить после?) при атаке на него (уст. перед ударом) 
    _bool8_ paralized;            // +1217 0x4C1 db Paralized - снизить защиту (сбросить после?) при атаке на него (уст. перед ударом) 
    _bool8_ forgetfulness;        // +1218 0x4C2 dd Forgetfulness - уровень (>2 - не может стрелять) 
     
    _byte_ field_4C3[25];        // +1219 0x4C3 ? 
     
    _int32_ defend_bonus;        // +1244 0x4DC dd = величина бонуса при выборе защиты 
    _int32_ faerie_dragon_spell;// +1248 0x4E0 dd заклинание для сказ дракона 
 
    _byte_ field_4E4[100]; 
 
                     // +4EC dd 44152A 
                     // +4F1 db 43DF88 
 
                     // +514 dd 
                     // +518 dd -> dd first \ adjusted stacks pointers 
                     // +51C dd -> dd last  / 
 
                     // +524 dd 
                     // +528 dd -> dd first \ adjusted to wich stacks pointers 
                     // +52C dd -> dd last  / 
 
};
  
			 
			
			
			
				
(This post was last modified: 26.08.2015 01:09 by feanor.)
 
			 
		 |  
	 
 | 
	| 26.08.2015 01:08 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
 | 
	| 10.09.2015 18:17 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
			
			 
			
				да, ты сам можешь динамически изменять координаты, НО перед вызовом диалога. Как обновлять/перерисовывать диалог на лету я так и не разобрался 
 (17.07.2015 16:11)gamecreator Wrote:  Ну и не забыть перерисовать диалог: 
hdlg->0x7299FD(-1 
!!SN:E7510525/1/-1; вызывает у меня вылет, тут видимо я не так что-то понял
 upd: Algor, если будут вопросы или нужна помощь по этой функции, обращайся. Например можно ее дописать, чтобы прилеплять диалог к правому/ левому/нижнему/верхнему бокам экрана
			  
			
			
  
game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
			
				
(This post was last modified: 11.09.2015 10:23 by igrik.)
 
			 
		 |  
	 
 | 
	| 10.09.2015 18:41 | 
	
		
	 | 
	
		
		Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				igrik, может тут есть что-то для обновления?
 
			 
			
			
			
		 |  
	 
 | 
	| 10.09.2015 19:30 | 
	
		
	 | 
	
		
		igrik 
 
 
		
		
		
			
			
			
 
 
			
Posts: 2821 
	
		
	 | 
	
		
 | 
	| 10.09.2015 19:40 | 
	
		
	 | 
	
		
		Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				igrik, а обновлять такой смещённый диалог через DL:S уже не помогает? 
ведь это и есть обновление, если грубо   
			 
			
			
			
		 |  
	 
 | 
	| 10.09.2015 19:47 | 
	
		
	 |