Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Описание скриптовых функций.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
655 Кб
Скачать
☆

Void CreateMonster( sMonsterName, nCreatureId, nCount, nX, nY, nFloorId, nMonsterMoodId, nCreatureCourageId )

Создает стек существ из nCount существ типа nCreatureID в указанных координатах и присваивает ему имя sMonsterName. Созданный стек имеет mood и courage (ага, трудности у меня с внятным переводом – настроение и кураж? Как-то не звучит…) в соответствии с константами

MONSTER_MOOD_FRIENDLY = 0

MONSTER_MOOD_AGGRESSIVE = 1

MONSTER_MOOD_HOSTILE = 2

MONSTER_MOOD_WILD = 3

и

MONSTER_COURAGE_ALWAYS_JOIN = 0

MONSTER_COURAGE_ALWAYS_FIGHT = 1

MONSTER_COURAGE_CAN_FLEE_JOIN = 2

Данные константы нигде не определены. Стек принадлежит нейтральному игроку c ID = PLAYER_NONE.

Если тайл с указанными координатами занят, монстр будет создан на ближайшем свободном тайле. Начиная с версии игры 1.3 последние два параметра функции имеют умолчательные параметры MONSTER_MOOD_AGGRESSIVE и, соответственно, MONSTER_COURAGE_CAN_FLEE_JOIN. В официальном руководстве к скриптам у функции указан еще один опциональный параметр – rotation. Однако, даже если он и есть, то на результат никак не влияет.

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

void RemoveAllMonsters( nCreatureID )

Удаляет с карты все стеки с типом существ nCreatureID. Функция имеет алиас с именем KillMobs

void GenerateMonsters( nCreatureID, nCountGroupsMin, nCountGroupsMax, nCountInGroupMin, nCountInGroupMax )

Генерирует в рандомных местах карты от nCountGroupsMin до nCountGroupsMax стеков существ типа nCreatureID от nCountInGroupMin до nCountInGroupMax существ в каждом стеке. Созданные стеки принадлежат нейтральному игроку c ID = PLAYER_NONE.

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

3.2.8 Работа с интерфейсом.

void QuestionBox( spTXT, sCallback )

Выдает немодальный QuestionBox с текстом spTXT и кнопками «Да/Отмена», по завершении в случае положительного ответа вызывает функцию с именем sCallback и пустым списком параметров. Обращаю внимание – функция немодальная. Т.е. скрипт продолжит выполнение со следующей за вызовом функции строчки, не ожидая нажатия к/л кнопки игроком. Функция имеет алиас с именем QuestionBoxInt.

void StartDialogScene( spDialogSceneXDB, sCallback = nil, sSaveName = nil )

Стартует диалоговую сцену на движке согласно первому параметру. Если второй параметр не nil, то после диалога будет вызвана функция с именем sCallback и пустым списком параметров. Если sSaveName не nil, то перед диалогом будет произведено сохранение в соотв. слот. Что мешает просто вызывать перед StartDialogScene функцию Save пока не понимаю. Возможно, дело в состоянии экрана на момент сохранения (и, соответственно, в картинке, которая ляжет в сейв).

void StartCutScene( sAnimSceneXDB, sCallback = nil, saveName = nil )

Стартует анимированную сцену на движке согласно первому параметру. Если второй параметр не nil, то после ролика будет вызвана функция с именем sCallback и пустым списком параметров. Если sSaveName не nil, то перед диалогом будет произведено сохранение в соотв. слот.

void MessageBox( spTXT, sCallback = nil, sSaveName = nil )

Выдает модальный MessageBox с текстом spTXT, по завершении вызывает функцию с именем sCallback и пустым списком параметров. Если sSaveName не nil, то перед диалогом будет произведено сохранение в соотв. слот.