Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты для начинающих
Показать сообщение отдельно
#191
Старый 05.06.2018, 22:19
  #191
^
Jack_of_shadows
 
Аватар для Jack_of_shadows
📖
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
Регистрация: 08.09.2013
Сообщения: 510
Выставка наград
По умолчанию
Re: Скрипты для начинающих

zahar0z делаете проверку скажем в триггере нового дня. Проверять надо все возможные двеллинги, подсчитывать сколько построено, и когда условие выполнено запрещать те которые не построены. Вот описание подходящих функций из руководства Новика (я их лично не проверял):
nLevel GetTownBuildingLevel( sTownName, nBuildingID )
nLevel GetTownBuildingLimitLevel( sTownName, nBuildingID )
nLevel GetTownBuildingMaxLevel( sTownName, nBuildingID )

Функции позволяют узнать уровень/лимит на развитие/максимальный уровень здания nBuildingID в городе с именем sTownName. Соотв. константы TOWN_BUILDING_* для nBuildingID см. в /scripts/advmap-startup.lua. Сюда писать не буду ввиду большого объема.
Уровень 0 означает, что соответствующее здание отсутствует.

void SetTownBuildingLimitLevel( sTownName, nBuildingID, nLevel )

Функция позволяет выставить лимит на уровень развития здания nBuildingID в городе с именем sTownName. При попытке выставить уровень больше максимально возможного вызов функции приводит к ошибке. Уровень 0 означает запрет на строительство здания.
__________________
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
РПГ-сценарий для HoMM5: Путь героя

ЧаВо по созданию карт для HoMM5: ЧаВо
Jack_of_shadows вне форума
Ответить с цитированием