Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Void commandDoSpell( sUnitName, nSpellID, nX, nY )

2018-01-29 205
Void commandDoSpell( sUnitName, nSpellID, nX, nY ) 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

 

Аналог UnitCastAreaSpell.

void commandShot(sUnitName, sVictimName, bDontShowScene = false)

 

Функция заставляет юнит с именем sUnitName выполнить выстрел по юниту sVictimName. Если последний параметр true, то соответствующая кинематографическая сценка «юнит натужно замахивается и что-то кидает» показана не будет. По своим стрелять нельзя. При отсутствии снарядов стрелять нельзя. Оба случая приводят к ошибке скрипта.

void commandMove(sUnitName, nX, nY, bCheckPath = false)

 

Функция заставляет юнит с именем sUnitName переместиться на клетку с указанными координатами. Если последний параметр true, то будет учитываться длина хода юнита. При нехватке хода юнит с места не сдвинется, а вызов функции приведет к ошибке. Если клетка недостижима (т.е. занята другим юнитом или на пути к ней есть непреодолимые препятсятвия), то в любом случае никто никуда не пойдет, а вызов функции приведет к ошибке. Функция имеет алиас с именем MoveCombatUnit.

void commandMoveAttack(sAttacker, sVictim, nX = -1, nY = -1, bCheckPath = false)

 

Функция заставляет юнит с именем sUnitName атаковать юнит sVictim в melee режиме. Если указаны положительные координаты, то юнит сначала дойдет до требуемой клетки, а потом произведет атаку с нее (да-да, несмотря на то, что melee, и между юнитами пол-поля – ударит, да еще и сдачи получит). В противном случае юнит подбежит к атакуемому вплотную. Если последний параметр true, то будет учитываться длина хода юнита. При нехватке хода юнит с места не сдвинется, а вызов функции приведет к ошибке. Если клетка недостижима (т.е. занята другим юнитом или на пути к ней есть непреодолимые препятсятвия), то в любом случае никто никуда не пойдет, а вызов функции приведет к ошибке. Функция имеет алиас с именем AttackCombatUnit.

void commandDoSpecial(sUnitName, nAbilityID, nX = -1, nY = -1, bCheckPath = false)

 

Функция заставляет юнит с именем sUnitName использовать спецспособность по клетке с указанными координатами (если они заданы – некоторые спецспособности не требуют координат). Если последний параметр true, то будет учитываться длина хода юнита. При нехватке хода юнит с места не сдвинется, а вызов функции приведет к ошибке. Если клетка недостижима (т.е. занята другим юнитом или на пути к ней есть непреодолимые препятсятвия), то в любом случае никто никуда не пойдет, а вызов функции приведет к ошибке. Константы ABILITY_* nAbilityID прописаны в /scripts/combat-startup.lua, приводить полный список не буду. На этот раз не из-за большого объема. А из-за того, что они там некорректные. Нормальные значения констант SPELL_ABILITY_* нужно смотреть в файле /types.xml. Принципиальных ограничений на использование «неродных» абилок, в принципе, нет – так, например, суккуб вполне может изображать BATTLE_DIVE. Однако, все возможные сочетания я, конечно, не проверял.

Функция имеет алиас с именем UseCombatAbility.


Void displace(sUnitName, nX, nY)

 

Функция мгновенно телепортирует юнит на требуемую клетку. Никакими эффектами процесс не сопровождается. Если клетка уже занята кем-либо или чем-либо, то вызов функции приведет к ошибке.

Функция имеет алиас с именем SetCombatPosition.

void playAnimation(sUnitName, sAnimType, nActionTypeID = ONESHOT)

 

Функция заставляет юнит с именем sUnitName проигрывать анимацию sAnimType способом nActionTypeID. Возможные sAnimType следует смотреть в xdb файле определения анимации для существ. Например, для импов это файл _(AnimSet)\Creatures\Inferno\Imp-arena.(AnimSet).xdb. Как правило, анимация типа «death» существует для всех. Остальное зависит от типа существа. Константы для nActionTypeID прописаны в /scripts/combat-startup.lua и могут быть

IDLE = 1 -- проигрывается циклически

ONESHOT_STILL = 2 -- проигрывается один раз, и последний фрейм фиксируется

ONESHOT = 3 -- проигрывается один раз, потом юнит возвращается в прежнюю позу

NON_ESSENTIAL = 5 -- не знаю, что такое.

Void combatPlayEmotion(nSideID, n1)

 

Функция заставляет юниты стороны nSideID проигрывать эмоцию. Полагаю, второй параметр должен определять ее тип, но эксперименты ничего не дали – независимо от значения параметра все ведут себя одинаково – радуются и чего-то голосят.

Void RemoveAllUnits()

 

Функция удаляет все стеки с поля боя. У обоих сторон. Ввиду чего полезность ее под вопросом.


Поделиться с друзьями:

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...



© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.