Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
2018-01-29 | 195 |
5.00
из
|
Заказать работу |
|
|
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 означает запрет на строительство здания.
Void TransformTown(sTownName, nTownTypeID)
Трансформирует тип города с именем sTownName. Соотв. константы для nTownTypeID прописаны в /scripts/advmap-startup.lua и бывают такими:
TOWN_HEAVEN = 0
TOWN_PRESERVE = 1
TOWN_ACADEMY = 2
TOWN_DUNGEON = 3
TOWN_NECROMANCY = 4
TOWN_INFERNO = 5
Если в момент трансформации в городе находится герой, он погибнет.
Void RazeTown(sTownName)
Разрушает город с именем sTownName. Только в том случае, если при дизайне карты город помечен как «разрушаемый» (т.е. поле razed в его свойствах корректно заполнено). Иначе вызов данной функции приводит к ошибке. Фактически город удаляется с карты и заменяется на статический объект, который занимает столько же тайлов, сколько и оригинал.
Работа с объектами.
Под объектом понимается практически все, что угодно – это здания, города, монстры, герои и т.п. Правда, некоторые функции работают только с определенными видами объектов (например, про работу с героями рассказано выше). Если объект, имя которого передано в функцию, отсутствует, то вызов функции приводит к ошибке.
NX, nY, nFloorID GetObjectPosition(sObjectName)
|
Функция возвращает позицию объекта. Функция имеет алиас с именем GetObjectPos. На основе данной функции в файле /scripts/advmap-common.lua реализован примитив более высокого уровня – bool IsInDungeon(sObjectName).
В качестве объекта может выступать, например, герой.
void SetObjectPosition(sObjectName, nX, nY, nFloorID = -1)
Функция устанавливает позицию объекта. Объект должен быть перемещаемым, что определяется при дизайне этого самого объекта. Например, города перемещать нельзя.
В качестве объекта может выступать, например, герой. Если не указан этаж, то будет использован текущий, т.е. тот, на котором объект уже находится. Попытка переместить объект на уже занятый тайл приведет к ошибке.
Функция имеет алиас с именем SetObjectPos.
Void RemoveObject(sObjectName)
Удаляет объект с карты. Объект должен быть перемещаемым и присутствовать на карте. Т.е., например, город удалить нельзя.
В качестве объекта может выступать, например, герой.
Bool IsObjectExists(sObjectName)
Возвращает, существует ли на карте объект с данным именем. Функция имеет алиас с именем Exists. В качестве объекта может выступать, например, герой.
Bool IsObjectEnabled(sObjectName)
Возвращает, находится ли объект с именем sObjectName в состоянии enabled. Если да, то объект будет взаимодействовать с героем игрока обычным образом (т.е. для города – зарядится интерфейс города, для героя противника – стартует битва и т.п.) В противном случае «атоматом» ничего происходить не будет. Это удобно, когда на объект навешен триггер OBJECT_TOUCH_TRIGGER, который должен среагировать на «тырканье» нестандартным образом.
Void SetObjectEnabled(sObjectName, bEnable)
Выставляет или снимает с объекта sObjectName состояние enabled.
TsObjects GetObjectNamesByType(sObjectTypeSubstr)
Выдает массив имен объектов на карте в соответствии с подстройкой sObjectNameSubstr, которая встречается в наименовании его типа. Полностью список соответствующих строк BUILDING_*, TOWN_*, CREATURE_* и HERO_CLASS_* можно найти в файле /types.xml, ветка /Base/Tables. Обращаю внимание, что 1) параметр – именно строка и к константам в /scripts/common.lua имеет весьма опосредованное отношение 2) полного совпадения имени не требуется, достаточно совпадения куска. Например, вызовы
GetObjectNamesByType(“SAWMILL”) и GetObjectNamesByType(“BUILDING_SAWMILL”) вернут один и тот же массив.
|
|
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!