Перейти к содержанию

Скрипты для начинающих

Аватар пользователя
#191
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: ЧаВо