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: 16657
|
|
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: 16657
|
|
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 |
|