| feanor   
 Posts: 624
 
 | 
			| 
 
				По приросту в ордах. 
Массив структур TownHordeBuildings, 6887F0, восемнадцать (по две на город) 16-битных структур
 
Code:
 dword id_unit; //номер дегрейдаword amount; //количество прироста
 word level; //уровень
 dword upg_id_unit; //номер апгрейда
 word upg_amount; //количество прироста
 word upg_level; //уровень+7
 
На старте заполнены только поля id_unit и amount, все остальное автоматически заполняется в sub_005BE360 на старте 
у неактивных вторых орд там -1 и 0, если подставить до старта id_unit и amount - оно заполнится автоматически
 
Кажется, по ордам все.
			
				
(This post was last modified: 01.01.2016 23:52 by feanor.)
 |  | 
	| 01.01.2016 23:22 |  | 
	
		| igrik   
   Posts: 2821
 
 |  | 
	| 03.01.2016 19:31 |  | 
	
		| igrik   
   Posts: 2821
 
 | 
			| 
 
				feanor, возникло пара вопросов: 
1. Прирост Орды дают правильный, а вот тип нанимаемого существа -нет. 
2. При постройке орды 24 (25) здание 4 уровня существ пропадает (33, 40), но постоенное здание орды в экране города не отображается (те что 24, 25). Как я понял за это отвечает цикл по адресу 0х004EBA28. Я пытаюсь въехать, но это еще не мой уровень. Я понимаю, что нужно поставить хук по 0х004EBBCE и расширить кусок функции. В общем нужен окрыляющий пинок))
upd :  Quote:Табличка-битмап замещающих строений (орды и братство меча) строится в 004EB810, ближе к концу, по структуре сомнительнейшего вида.(такая же как и для дерева строений)
 
млин, ты же это и описал...
			 
 game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
 
				
(This post was last modified: 07.01.2016 02:39 by igrik.)
 |  | 
	| 07.01.2016 00:11 |  | 
	
		| feanor   
 Posts: 624
 
 | 
			| 
 
				Quote:но постоенное здание орды в экране города не отображается (те что 24, 25). 
а ты его спрайт-то добавил в таблицу приоритетов? ну и там имя-координаты-деф-маска-обводка
			 
				
(This post was last modified: 07.01.2016 03:10 by feanor.)
 |  | 
	| 07.01.2016 02:55 |  | 
	
		| igrik   
   Posts: 2821
 
 | 
			| 
 
				Нет не добавил. Мля..... 
Странно, хотя дефы есть в лоде, но все равно вылет с сообщением о том, что нет дефа. TBELHrd3(4).def
 Quote:имя 
Имя куда-то в exe нужно прописывать?
			
 game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
 
				
(This post was last modified: 07.01.2016 03:13 by igrik.)
 |  | 
	| 07.01.2016 03:01 |  | 
	
		| igrik   
   Posts: 2821
 
 | 
			| 
 
				ага, увидел куда нужно имя дефа записать.
 Получается, что нужно по адресам 0х00643654 и 0х00643658 положить указатели на "TbElHrd3" и "TbElHrd4".
 Ух блин. А как это сделать?
 Для масок и обводок разберусь по аналогии
 
 game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
 
				
(This post was last modified: 07.01.2016 03:33 by igrik.)
 |  | 
	| 07.01.2016 03:16 |  | 
	
		| feanor   
 Posts: 624
 
 | 
			| 
 
				чоб и готовыми не воспользоваться. 
 но можно и
 *(int*)0x643654 = (int)"TbELHrd3";
 *(int*)0x643658 = (int)"TbELHrd3";
 
 *(int*)0x68A9BC = (int)"ToELhrd3";
 *(int*)0x68A9C0 = (int)"ToELhrd3";
 
 (у меня орда требует апгрейд, поэтому я воткнул один спрайт для обоих вариантов, на всякий случай)
 
				
(This post was last modified: 07.01.2016 03:35 by feanor.)
 |  | 
	| 07.01.2016 03:34 |  | 
	
		| igrik   
   Posts: 2821
 
 |  | 
	| 07.01.2016 03:47 |  | 
	
		| feanor   
 Posts: 624
 
 | 
			| 
 
				Quote:Осталось указать тип нанимаемых существ. А то и там и там 1 уровень нанимается 
лол, ток щас заметил, что у меня тоже какая-то фигня 
впрочем, ожидаемо, хуки на определение грейда я еще не ставил
 
думаю, ручное прописывание в вышеупомянутую таблицу спасет
			 |  | 
	| 07.01.2016 03:50 |  | 
	
		| igrik   
   Posts: 2821
 
 |  | 
	| 07.01.2016 13:40 |  | 
	
		| igrik   
   Posts: 2821
 
 | 
			| 
 
				Так, с ордами закончено. 
Еще один вопос: маску строительства ГМ5 я запретил. Теперь нужно, чтобы после строительства ГМ4 она оформлялась желтей подсветкой, а не серой как сейчас. Где копать?
  
 game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
 |  | 
	| 07.01.2016 13:53 |  | 
	
		| feanor   
 Posts: 624
 
 |  | 
	| 07.01.2016 16:17 |  | 
	
		| igrik   
   Posts: 2821
 
 | 
			| 
 
				вуаля 
Code:
 int __stdcall Hota_GM5off(LoHook* h, HookContext* c){
 char Ytown = *(char*)(c->esi+4);
 if (Ytown == 8)
 {
 c->return_address = 0x460FB1;
 return NO_EXEC_DEFAULT;
 }
 return EXEC_DEFAULT;
 }
 ...
 // не строить ГМ5
 HotaOnEra->WriteLoHook(0x460FE0, (void*)Hota_GM5off);
 game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
 |  | 
	| 07.01.2016 17:44 |  | 
	
		| igrik   
   Posts: 2821
 
 | 
			| 
 
				gamecreator, подскажи как найти адрес в сорцах  WoG'a по вот этому (строка 4882 в Monsters.cpp)
 
Code:
 if(tp==158){ // фениксSetMonMagic(mon,0x1D,1000,1,0); // огненный щит
 SetMonMagic(mon,55,1000,3,0);   // палач
 }
 
Хочу избавиться от них
 
И я так понимаю, что "char Ytown = *(char*)(c->esi+4);  if (Ytown == 8) " можно было описать как-то проще
			 
 game bug fixes extended.dll  ||  My Plugins  ||  My GitHub
 
				
(This post was last modified: 07.01.2016 21:59 by igrik.)
 |  | 
	| 07.01.2016 21:57 |  |