Харгард
Epic
offline
Опыт:
7,829Активность: |
Динамическая смена типа брони
ВступлениеДумаю все знают улучшение "Фортификация" у Орков, меняющее тип брони башен и логовов с тяжелой на укрепленную. Каждый желавший воспользоваться им сталкивался с несколькими "граблями", а именно: 1. Улучшение работает некорректно.(Например: начальный тип брони Орочьих башен - тяжелый, в Фортификации указан средний, а в итоге получается укреплёный) 2. Изучается только один уровень 3. Его нельзя "откатить" назад. После этого создатель или менял тип защиты через превращение\ "Темного" или вообще забивал на смену брони. А теперь, расставлю последние точки в этом вопросе по порядку 1. Некорректная работа улучшенияИменно отталкиваясь от первого пункта, я и выяснил принцип работы этого улучшения. У нас есть боевая единица, и её тип брони defenseType (по ходу тот же integer), который равен: Код:
Непосредственно к этому числу прибавляется другое, указанное в поле "Данные - Эффект - Новый тип защиты". Изначально там строка типа "Средняя" или "Тяжелая", но включив показ названий переменных, это решаемо. Именно здесь решение неразберихи со стандартным улучшением орков: Тяжелая(2) + Средняя (1) = Укрепленая(3) 2. Нельзя прокачивать больше одного уровня.На этом этапе я потратил уйму времени, но проблема оказалась надуманной. Смысл ее в том, что многоуровневую фортификацию можно делать на основе далеко не каждого усовершенствования. В подробности не вникал, в двух словах, отлично подойдут улучшения вроде Железных Мечей и Лунный щит (+ к урону или защите). Если стандартное базовое улучшение только 1-го уровня, то фортификация и будет работать только 1-го уроня. Короче говоря, используйте "Железные мечи"... 3. Не откатывается.Итак, зная что улучшение прибавляет к текущему типу брони число из колонки "Данные - Новый тип брони" нам остается только подсунуть ему отрицательное число. Открываетм MPQ-редактором архив war3patch.mpq (или другом), в нём файл "UI\UnitEditorData.txt" 1. Находим следующие строки: Код:
2. Меняем любое из чисел справа от "=" на отрицательное без скобок и пробелов после минуса. 3. Сохраняем в папке с игрой по тому же пути, и пере запускаем редактор. После этого включив "Имена переменных" мы видим, что в нужной нам колонке выбирается "-N", В игре при изучении улучшения, значение типа брони уменьшается, но, только на первом уровне улучшения! При последующих уровнях тип брони снова прибавляется. Это и есть единственные "грабли", но, уже не такие страшные как вначале, и обойти их можно, создав кроме одного многоуровневого "наращивателя" со значением "1", еще нескольких одноуровневых улучшений со значением "-7" или меньше, "сбрасывающих" тип брони до легкой (0) Да, и еще, файл UnitEditorData.txt нужен только на машине создателя для того чтобы "вбить" отрицательное число в нужное поле улучшения. Внутри карты и пользователям он не нужен, так как минусовое значение уже записано в свойствах улучшений, используемых в нашей карте. Карта пример, приложена. Без единого триггера. Отредактировано dk, 24.12.2008 в 10:58. |
23.12.2008, 20:06 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
PlayerDark
Coraline
offline
Опыт:
10,569Активность: |
Эээ... тоесть я понял что твое изобретение позволяет сколько угодно раз менять тип брони у юнитов ? |
23.12.2008, 20:19 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Харгард
Epic
offline
Опыт:
7,829Активность: |
Цитата:
Угу, при чем без создания копий юнитов в редакторе и заменой их в игре. |
|
23.12.2008, 22:16 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Scorched
offline
Опыт:
7,912Активность: |
Цитата:
опять то же самое. ну выучишь ты 500 улучшений с плюсом и 500 с минусом, и они у тебя закончатся все равно. и 100500 закончатся |
|
24.12.2008, 00:51 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Харгард
Epic
offline
Опыт:
7,829Активность: |
Цитата:
А ты чуток подумай, как сделать так, чтобы 500 улучшений хватало ;) |
|
24.12.2008, 00:57 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Scorched
offline
Опыт:
7,912Активность: |
никак не сделать. померяешь 50 доспехов по 10 раз каждый и все =) |
24.12.2008, 01:05 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Gres
Кораэлестраз
offline
Опыт:
18,575Активность: |
"Открытие" интересное! Но на мой взгляд безполезное! Действительно кроме ка для того чтобы доспехи добавляли броньку невижу смысла! А там нужно много раз добавлять и уменьшать!
Автор а ты не знаешь как можно узнать текущее кол-во брони у юнита(без нанесения урона и дальнейшего расчета?) Ответь в ПМ. |
24.12.2008, 09:24 | #7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|