Number GetCreatureNumber( sUnitName )

 

Возвращает количество существ в стеке с именем sUnitName.

NX, nY GetUnitPosition(sUnitName)

 

Аналог функции pos.

Bool exist(sUnitName)

 

Возвращает, а жив ли еще юнит с именем sUnitName. Функция имеет алиас с именем IsCombatUnit.

NHostType GetHost(nSideID)

 

Возвращает, под чьим управлением находится сторона nSideID – человека или AI.

Возвращаемые константы прописаны в /scripts/common.lua и могут быть

HUMAN = 0

COMPUTER = 1

С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:

bool IsHuman(nSideID)

bool IsComputer(nSideID)

NSideID GetUnitSide(sUnitName)

 

Возвращает, к какой стороне относится юнит с именем sUnitName.

Возвращаемые константы прописаны в /scripts/combat-startup.lua и могут быть

ATTACKER = 0

DEFENDER = 1

С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:

bool IsAttacker(sUnitName)

bool IsDefender(sUnitName)

Number GetUnitType(sUnitName)

 

Возвращает тип юнита с именем sUnitName. Возвращаемые константы прописаны в /scripts/combat-startup.lua и могут быть

HERO = 0

CREATURE = 1

WAR_MACHINE = 2

BUILDING = 3

С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:

bool IsHero(sUnitName)

bool IsCreature(sUnitName)

bool IsWarMachine(sUnitName)

bool IsBuilding(sUnitName)



Number GetWarMachineType(sUnitName)

 

Возвращает тип машины с именем sUnitName. Возвращаемые константы прописаны в /scripts/common.lua и могут быть

       WAR_MACHINE_BALLISTA = 1

       WAR_MACHINE_CATAPULT = 2

       WAR_MACHINE_FIRST_AID_TENT = 3

       WAR_MACHINE_AMMO_CART = 4

С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:

sUnitName GetWarMachine(nSideID, nWarMachineTypeID)

sUnitName GetAttackerWarMachine(nWarMachineTypeID)

sUnitName GetDefenderWarMachine(nWarMachineTypeID)

Number GetBuildingType(sUnitName)

 

Возвращает тип здания с именем sUnitName. Возвращаемые константы прописаны в /scripts/combat-startup.lua и могут быть

       BUILDING_WALL = 1

       BUILDING_GATE = 2

       BUILDING_LEFT_TOWER = 3

       BUILDING_BIG_TOWER = 4

       BUILDING_MOAT = 5

       BUILDING_RIGHT_TOWER = 6

       BUILDING_MAGIC_WALL = 7

С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:

sUnitName GetBuilding(nSideID, nBuildingID)

sUnitName GetAttackerBuilding(nBuildingID)

sUnitName GetDefenderBuilding(nBuildingID)

SUnitName combatReadyPerson()

 

Возвращает имя юнита, который готов совершить ход (т.е. находится в самом начале ATB).

String unitNames()

 

Возвращает строку, содержащую через пробел имена всех юнитов на поле боя. Полагаю, функция нужна, в основном, для отладочных целей.

void postEvent(sEvent, n1 = -1, n2 = -1)

 

Функция позволяет эмулировать событие от клавиатуры/мыши. В качестве sEvent могут выступать названия биндов, см. файл input.cfg. Полный список биндов я предоставить в настоящий момент не готов. Смысл двух последних параметров мне так же неясен.



Режим города.

 

При старте режима города игра делает следующее:

1. Загружает файл /scripts/town-startup.lua и все прописанные в нем с помощью doFile скрипты

2. Приступает к интерпретации файла скрипта города. Упомянутый скрипт города может появиться в результате дизайна города.

3. В зависимости от ситуации вызывает один из двух хуков.

 

Хуки

Void CreatureHired(nCreatureID, nCount)

 

Вызывается при найме существ. Идентификатор типа существа и их количество передаются в качестве параметра.

 

Void HeroHired(sHeroName)

 

Вызывается при найме героя. Имя героя передается в качестве параметра.

 

Прочие функции

 

Собственно, никаких прочих функций я не нашел. Работать можно только с теми, которые перечислены в разделе 3.1.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: