Добавлено: Ср Сен 16, 2009 2:14
Заголовок сообщения: Re: Добавление способностей юнитам и зданиям
Здравствуйте, уважаемые.
Попытался я давеча поковыряться в *.var файлах и что-то несколько подзавис. В частности, так и не понял принципа действия параметра "Abilityes" в файле unit.var. При добавлении или изменении абилок игра утверждает "error reading unit.var..." Возможно ли добавление юниту новой абилки? Вдруг мне захочется ополченца сделать имунным к магии?
Ровно та же ситуация со зданиями. То ли я не там правлю. То ли правли что-то не то. Подскажите, пожалуйста, где править надо.
И раз уж начал спрашивать - я так понял, что параметры бонусов и абилок не напрямую задаются (например у палладина Heal: 94, а лечит он в среднем по 7), а есть ли где посмотреть соответствие обычных цифр и номеров параметров?
В
unit.var схема распределения свойств юнитов достаточно проста. Выглядит она следующим образом.
/2
Name: Пращник; ///имя
Level: 1 ///уровень
Life: 10 ///здоровье
Attack: 3 ///рукопашная атака
CounterAttack: 3 ///контратака
Defence: 0 ///защита от рукопашек
RangedDefence: 0 ///защита от выстрела
Resist: 1 ///сопротивление
Speed: 2 ///скорость ака количество тайлов за ход
RangedAttack: 4 ///дист атака
ShootingRange: 4 ///радиус выстрела
Ammo: 8 ///запас выстрелов
Stamina: 10 ///выносливость
Morale: 10 ///боевой дух
Exp: 25 ///опыт, даваемый за убийство этого юнита
ExpMod: 90 ///коэффициент опыта для повышения уровня
GoldPrice: 15 ///цена найма в золоте
GemPrice: 0 ///цена найма в кристаллах
GoldPayment: 3 ///содержание в золоте
GemPayment: 0 ///содержание в кристаллах
Race: 1 ///раса - подробнее в файле race.var
UnitKind: 1 ///карма юнита
UnitClass: 2 ///класс юнита - подробнее в файле unit_class.var
Karma: 0 ///фактор кармы при найме в отряд героя
SoundHit: 3 ///звук удара - индекс из dat-файла со звуками
SoundShoot: 52 ///звук выстрела
SoundShootHit: 35 ///звук попадания
SoundDeath: 20 ///звук смерти юнита
Missile: 1 ///тип отрисовываемого снаряда
Resource: (0) ///необходимые для найма/содержания ресурсы
здесь всё понятно, и вопросов не вызывает =) а вот дальше начинается самое интересное.
Abilityes: ///подзаголовок абилок
Gather_ammo: 53 ///собственно, сама абилка. Прописанная здесь, она будет в использовании юнита с первых же уровней. Номер абилки и её дескру можно посмотреть в файле unit_upg.var и в этом же файле unit.var. Добавление осуществляется здесь же.
Если ты захочешь добавить пращнику, скажем, иммунитет к магии, то тебе надо дописать строчкой ниже
обязательно проставив в конце блока точку с запятой. Внутри блока, т.е., между самими абилками никаких точек, запятых и иже с ними не надо!
Lvl 01 upgrades: (1, 6; 30, 6; 27, 4; 50, 1; 7, 1)
Lvl 02 upgrades: (33, 4; 51, 4)
Lvl 03 upgrades: (1, 4; 20, 2)
Lvl 04 upgrades: (16, 1; 7, 4; 10, 2)
Lvl 05 upgrades: (1, 4; 30, 4; 4, 3)
Lvl 06 upgrades: (33, 4; 13, 3)
Lvl 07 upgrades: (1, 4; 20, 3)
Lvl 08 upgrades: (51, 4; 27, 1)
Lvl 09 upgrades: (1, 4; 30, 4)
Lvl 10 upgrades: (33, 4; 7, 4)
Lvl 11 upgrades: (16, 1; 20, 3; 51, 4)
Lvl 12 upgrades: (2, 4; 4, 3; 23, 1)
Lvl 13 upgrades: (30, 4; 27, 1)
Lvl 14 upgrades: (33, 4; 10, 3)
Lvl 15 upgrades: (2, 4; 13, 3)
Lvl 16 upgrades: (16, 1; 7, 4)
Lvl 17 upgrades: (31, 4; 20, 4)
Lvl 18 upgrades: (2, 4; 34, 4)
Lvl 19 upgrades: (36, 4)
Lvl 20 upgrades: (47, 10)
Тут схема ещё более проста, и не требует даже дескров для абилок.
Выглядит всё достаточно несложно:
[b]1-й указатель |уровень| 2-й указатель: |(блок; блок; блок; блок)[/b]
где
1-й указатель - слово
Lvl
Уровень - номер уровня
2-й указатель - слово
upgrades
блок - собственно, присваемая абилка: номер абилки из файла
unit_upg.var и какое-то таинственное число после запятой...=)
К примеру, если нам хочется, чтобы у пращника на 10 лвл было (на выбор) - иммунитет к магии, бронебойный выстрел, кровопийца или умение "тяжёлые снаряды", то на 10лвл пишем следующее:
Lvl 10 upgrades: (60, 4; 47, 4; 112, 4; 114, 4)
Количество абилок на уровень ограничено не то 4, не то 5 штуками. Если пытаться добавлять больше - игра не запустится. Со зданиями та же история.
В твоём случае, если ты не сильно наглел, то косяки могут быть в синтаксисе. Проверь ещё раз внимательно - все ли точки с запятыми на местах. А если наглел сильно =) - тогда убавь количество абилок.
По качеству абилок - добро пожаловать в файл abilites_num.var
К примеру, если тебе хочется, чтобы паладин отхиливал побольше за раз, смотришь номер его абилки в
unit.var - это абилка номер 94.
Далее идём в файл
unit_upg.var где ищем в абилке нумер 94 строчки:
Интересующая нас цифра 24 - это номер абилки из файла abilites_num.var - определяет тип, в данном случаем, лечение.
В строчке же
Quantity как раз и указывается единовременно отхиливаемое за раз количество хп. Выставишь цифру побольше - будет больше.
Последний блок loot нас не интересует, это дроп с юнита, который править - ну уж совсем откровенное читерство =)
Надеюсь, что смог помочь =)
_________________
Nothing to say, thy flesh consumed.
Don't be sad, just die!