| baratorch   
 Posts: 197
 
 | 
			| 
 
				всем привет.Сейчас занимаюсь перемещением стеков существ в окне обмена м-ду героями.
 добавляю 17 кнопок: кнопку обмена армиями, 2 кнопки передачи армиий от одного героя другому, и под каждым слотом кнопка передачи отряда другому герою.
 
 В связи с этим вопросы: Как узнать уровень существа (не вог-опыта, а существа) зная его тип. Как узнать, грейд/не грейд? Как передать из стека в стек вог-опыт? И по какому принципу вычислять вог-опыт при разделении отрядов и их слиянии?
 |  | 
	| 26.07.2010 02:13 |  | 
	
		| Дьякон   
 Posts: 395
 
 | 
			| 
 
				По адресу 6747B0 находится указатель на  структуру монстров. Структура описана в первом посте инженерного анализа на дф2. Оттуда узнаешь грейд/не грейд и уровень существа. А передачу монстров лучше наверное делать через функцию героев, она автоматом все сама посчитает. ИМХО
			 
 Страус труп (с) Бьерн
 
				
(This post was last modified: 26.07.2010 09:09 by Дьякон.)
 |  | 
	| 26.07.2010 09:09 |  | 
	
		| baratorch   
 Posts: 197
 
 | 
			| 
 
				спасибо большое! Quote:
Code:
 Town: int;Level: int;
 SoundName: PChar; // 4 буквы, с которых начинаются звуки монстра
 DefName: PChar;
 Flags: int;
 Name: PChar;
 PluralName: PChar;
 Features: PChar; // (описание способностей)
 CostWood: int;
 CostMercury: int;
 CostOre: int;
 CostSulfor: int;
 CostCrystal: int;
 CostGems: int;
 CostGold: int;
 FightValue: int;
 AIValue: int;
 Growth: int;
 HordeGrowth: int;
 HitPoints: int;
 Speed: int;
 Attack: int;
 Defence: int;
 DamageLow: int;
 DamageHigh: int;
 Shots: int;
 Spells: int;
 AdvLow: int;  // ?
 AdvHigh: int; // ?
 
так и не понял как узнать грейд или не грейд монстра...
 Quote:А передачу монстров лучше наверное делать через функцию героев, она автоматом все сама посчитает.ИМХО 
я реализую умную передачу - то есть монстры передаются по убыванию уровня, если у принимающего уже есть стек с таким типом монстра, то передаваемые добавляются в этот стек, если нет - кидаются в пустой стек. Поэтому мне удобнее непосредственно со стеками работать, а не через функции.
			 |  | 
	| 26.07.2010 13:12 |  | 
	
		| SAG   
   Posts: 173
 
 | 
			| 
 
				 (26.07.2010 13:12)baratorch Wrote:  так и не понял как узнать грейд или не грейд монстра... 
предполагаю что нет понятия грейд/не грейд. Ручками определяется по номеру монстра.
  (26.07.2010 13:12)baratorch Wrote:  я реализую умную передачу 
ты посмотрел как эти функции работают в ТЕ/WT? там идеально
			 |  | 
	| 26.07.2010 13:35 |  | 
	
		| etoprostoya   
 Posts: 1809
 
 | 
			| 
 
				Должна быть таблица, где описано кто чей грейд.
			 |  | 
	| 26.07.2010 14:14 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 |  | 
	| 26.07.2010 16:59 |  | 
	
		| baratorch   
 Posts: 197
 
 | 
			| 
 
				Berserker, cпасибо большое! 
...
 
никто не скажет чтоли как(где) опыт существ передается и распределяется при разделении/слиянии. 
А то я уже всё реализовал, но в вог/эре существа у меня перемещаются, а опыт остается привязанным к слоту. 
Так же некорректно с опытом работает реализованное мной перемещение последнего стека героя.
  (26.07.2010 13:35)SAG Wrote:   (26.07.2010 13:12)baratorch Wrote:  я реализую умную передачуты посмотрел как эти функции работают в ТЕ/WT? там идеально 
какие функции? я опять что-то упускаю? В те/вт можно передать армию от одного героя другому (не обменять, а в одностороннем порядке передать)? как?
			 |  | 
	| 27.07.2010 00:59 |  | 
	
		| Berserker   
   
   Posts: 16785
 
 |  | 
	| 27.07.2010 01:06 |  | 
	
		| SAG   
   Posts: 173
 
 | 
			| 
 
				 (27.07.2010 00:59)baratorch Wrote:  какие функции? я опять что-то упускаю? В те/вт можно передать армию от одного героя другому (не обменять, а в одностороннем порядке передать)? как? 
для удобства, в ТЕ/WT часть операций с армиями не делали кнопками а повесили на клавиши (левые) CTRL, SHIFT , ALT  
например: 
- для передачи стека целиком от одного героя другому - CTRL+ALT+клик на стек. 
CTRL+ALT+SHIFT+клик на стек - разделяет этот стек пропорционально по пустым стекам текущего героя 
CTRL+SHIFT+клик на стек - отделяет от стека 1 существо в один пустой стек (единички постоянно требуются в боях для снятия ответного удара) 
CTRL+клик на стек - отделяет от стека 1 существо во все пустые стеки 
ALT+клик на стек - собирает в кликнутый стек все армии этого типа со всех стеков текущего героя
			 |  | 
	| 28.07.2010 11:31 |  | 
	
		| MOP   
   
   Posts: 1468
 
 | 
			| 
 
				Да так и есть.  (28.07.2010 11:31)SAG Wrote:  для удобства, 
Никогда не понимал, что такого удобного в использовании двух рук вместо одной + требовании держать в голове или бумажке такие извращенские комбинации.
			
 Circle of destruction, hammer comes crushing
 Powerhouse of energy
 Whipping up a fury, dominating flurry
 We create the battery
 
				
(This post was last modified: 28.07.2010 13:35 by MOP.)
 |  | 
	| 28.07.2010 13:33 |  | 
	
		| baratorch   
 Posts: 197
 
 | 
			| 
 
				Quote:для удобства, в ТЕ/WT часть операций с армиями не делали кнопками а повесили на клавиши (левые) CTRL, SHIFT , ALT 
а вот и не для удобства, а потому что это было самым простым решением.
 Quote:(единички постоянно требуются в боях для снятия ответного удара) 
Я, между прочим, 9 лет играл в героев, прежде чем начать их модить. 
 Quote:CTRL+клик на стек - отделяет от стека 1 существо во все пустые стекиALT+клик на стек - собирает в кликнутый стек все армии этого типа со всех стеков текущего героя
 
 про эти сочетания я знал, и оценил. Собирался сделать то же самое для сод.
 
Почему я вообще взялся за управление стеками? Просто я только что, после большого перерыва, поиграл в героев (в СоД есс-но, в другое я не играю) и непосредствеенно почувствовал чего мне не хватает.
 
Сколько пушей/кликов нужно в те, чтобы передать недельный прирост города от второстепенного героя главному? У меня - 1 клик на кнопку.
			 |  | 
	| 29.07.2010 09:34 |  | 
	
		| etoprostoya   
 Posts: 1809
 
 | 
			| 
 
				Есть техническая возможность избавиться от неудобных LOD'ов, заменив их другими архивами, ZIP'ом, например, или свободным gzip? 
Было бы просто замечательно!    |  | 
	| 29.07.2010 09:54 |  | 
	
		| vizit0r   
 Posts: 17
 
 | 
			| 
 
				 (29.07.2010 09:54)etoprostoya Wrote:  Есть техническая возможность избавиться от неудобных LOD'ов, заменив их другими архивами, ZIP'ом, например, или свободным gzip?Было бы просто замечательно!
  
напиши на форуме VCMI.  
впрочем, думаю что-то в этом духе у них уже в проекте есть, должно быть по логике...
			 
				
(This post was last modified: 29.07.2010 12:37 by vizit0r.)
 |  | 
	| 29.07.2010 12:36 |  |