Форум HeroesWorld-а - Показать сообщение отдельно - NTBF - Новые постройки для городов TotE 3.1
Показать сообщение отдельно
#133
Старый 10.06.2017, 14:50
  #133
^
AstralLein
 
Аватар для AstralLein
📖
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 5724
Регистрация: 02.06.2017
Адрес: В Империи Незанхельм.
Сообщения: 5724
По умолчанию
Re: NTBF - Новые постройки для городов TotE 3.1

zahar0zесть идея как добавить в город строение с альтернативным существом

давно хотелось, и вероятней всего не мне одному, добавить дополнительное строение для найма новых существ в город,
вроде бы, полноценное дополнительное строение сделать никак нельзя но вот как создать альтернативное есть пара идеек




предупреждаю и заранее извиняюсь текста много
но короче, увы, всю схему изложить у меня не получилось




для начала немного опишу что я выяснил
1 существо в окне найма появляется по айдишнику здания к которому оно прикреплено (т.е. если в здании с айдишником dwelling_1 существо седьмого уровня то в окне найма оно появится всё равно на первой строчке)
2 задавать новые айдишники не получается т.е. нельзя просто вписать зданию dwelling_8 или special_8 у меня лично игра крашится
3 не улучшенные, апгрейты и альт апгрейты соответственно, появляются в первом втором и третьем квадрате в окне найма, это в свою очередь привязано уже к существу (т.е. если строению первого уровня задать сразу улучшенное существо без оригинального, то появится это существо всё равно во втором а не в первом квадрате)
4 за один уровень зданию можно задать не больше двух существ
5 все здания отстраиваемы теоретически до пятого уровня, план застройки и зависимость зданий друг от друга можно поменять как угодно но это я думаю итак всем известно
6 если в здании с существами отстроенном до второго уровня (оригинал и два апгрейда) задать третий и четвёртый уровень (с новым оригиналом и двумя апгрейтами) то в окне найма они заменят первичных существ, произойдёт это так (согласно написанным выше пунктам), сперва старый не улучшенный юнит заменится на новый, при этом оставляя апгрейты от старого существа, затем на новые заменятся апгреты


понятно что это не совсем альтернативное здание а скорее здание "поверх", да и третий уровень такого здания выглядит жутко коряво (новый не улучшенный юнит и чужие ему старые апгрейты)

но вот эту ситуацию как раз вероятно можно исправить скриптами
(в скриптах я не силён но насколько знаю то что я описываю реально сделать)
нужно будет скриптом снести здание, скриптом отстроить его и скриптом задать новый допустимый уровень, но обо всём по порядку

для начала создадим пять уровней здания так чтобы на разных этапах строительства были все возможные комбинации

1 прописываем родной юнит не улучшенный
2 прописываем новый юнит не улучшенный
3 прописываем новый апгрейт и альт апгрейт
4 прописываем родной юнит не улучшенный
5 прописываем родные апгрейт и альт апгрейт

получаем сами комбинации

1й уровень ---- в окне найма только родной юнит
5й уровень ---- в окне найма родной юнит с двумя апгрейтами

2й уровень ---- в окне найма только новый юнит
3й уровень ---- в окне найма новый юнит с двумя апгрейтами


теперь скриптами нужно задать town id build dwelling_1 level 2 или что то вроде
(как я уже говорил в скриптах не силён но уверен что подобные команды должны быть)


только разумеется этим скриптам нужен триггер
делать его через диалоговые окна выйдет неудобно и некрасиво
есть мысль сделать его через всё те же здания, для этого можно использовать здания с айдишниками special или даже плясать от таверн и кузниц, подойдёт любое здание у которого есть ресурс достройки до 5го уровня



приведу пример на городе эльфов постараюсь максимально не запутано

берём здания dwelling_1 (строение фей) special_4 (здание увеличивающее прирост фей) blacksmith (кузница) попробуем для примера добавить к ним альтернативное строение с рыцарями, получится такая схемка

dwelling_1
upg1
(прописаны феи)
upg2
(прописаны рыцари)
upg3
(прописаны апгрейты рыцарей)
upg4
(прописаны феи)
upg5
(прописаны апгрейты фей)

special_4
upg1
(ничего не прописано, здание пустышка, но иконка и описание оформленны как здание с апгрейтами фей)
upg2
(прописано влияние на прирост фей)

blacksmith
upg1
(прописана кузница)
upg2
(ничего не прописано, здание пустышка, но иконка и описание оформленны как здание с не улучшенным рыцарем)


дальше

есть два варианта
blacksmith upg2 (выглядящий как здание найма рыцарей)
и
dwelling upg1 (выглядящий и являющийся зданием найма фей)

предположим мы строим blacksmith upg2 тогда скриптом нужно задать если здание blacksmith upg2 построено то построить автоматически dwelling_1 upg2 и запретить ему строиться выше третьего уровня, также, запретить строить здание special_4 upg1, как понимаете никакие феи в таком варианте будут недоступны

в альтернативном варианте мы строим dwelling_1 upg1, задаём скрипт что если это здание построено, запретить dwelling_1 upg1 строиться дальше и запретить строить blacksmith upg2, появляется здание special_4 upg1, до этого оно было скрыто т.к. требовало для строительства dwelling_1 upg1, строим special_4 upg1, скриптом задаём что если special_4 upg1 построено то автоматически возводится dwelling_1 upg5, всё, теперь построены феи и недоступны рыцари


как понимаете грамотно раскидав иконки и подправив описание можно создать у игрока ощущение что речь идёт не о трёх разных зданиях а всего об одном с разными вариантами развития




главная загвозтка для меня в скрипте, практически на сто процентов уверен что такой возможен, но написать его сам увы не смогу

ну и ещё один нюанс тут есть, данная идея предполагает отвязывание всяких родных специальных свойств от определённых строений и привязывание их же к другим строениям, но как это делается и где эти свойства прописаны я тоже пока не выяснил






ну а в остальном идея должна работать, таким образом можно вдвое увеличить разнообразие существ нанимаемых в замке

если кто способен подсобить со скиптами могу изготовить пару таких модов на альтернативное строение

Замысловато. Суть понятна, но как ты собираешься менять игровые скрипты для реализации этой задумки?
AstralLein вне форума
Ответить с цитированием