Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скрипты Morrowind.doc
Скачиваний:
91
Добавлен:
29.10.2018
Размер:
2.81 Mб
Скачать

Кинематическая последовательность

Здесь описывается интересный способ сделать кинематическую последовательность, предложенный gianluca (форум Morrowind Summit). Скрипт отключает управление игрока, помещает его на невидимый объект "CollisionWall", а затем двигает его (а вместе с ним и камеру) вокруг. Нельзя сделать киноэпизод с прямым участием игрока, но и так выглядит здорово.

If menumode==1 return endif if doOnce==0 "Collision wall2"->disable "Collision wall3"->disable "Collision wall4"->disable set doOnce to 1 endif if doOnce==1 "Collision wall1"->moveworld X 800 messagebox "moving" if ( "Player"->getPos Z < 570 ) set doOnce to 2 set playxx to "Player"->getPos X set playyy to "Player"->getPos Y set playzz to "Player"->getPos Z "Collision wall2"->enable "Player"->position –114679 –4119 590 90 endif endif if doOnce==2 "Collision wall2"->moveworld X 800 messagebox "moving" if ( "Player"->getPos Z < 570 ) set playxx to "Player"->getPos X set playyy to "Player"->getPos Y set playzz to "Player"->getPos Z "Collision wall3"->enable °Player°->position –112634 –4119 590 90 set doOnce to 3 endif endif if doOnce==3 "Collision wall3"->moveworld X 200 "Collision wall3"->moveworld Y –800 if ( "Player"->getPos Z < 570 ) set doOnce to 4 set playxx to "Player"->getPos X set playyy to "Player"->getPos Y set playzz to "Player"->getPos Z "Collision Wall4"->enable °Player"->position –112126 –6150 590 90 endif endif if doOnce==4 "Collision wall4"->moveworld X 600 "Collision wall4"->moveworld Y –450 if ( "Player"->getPos Z < 570 ) set doOnce to 5 set playxx to "Player"->getPos X set playyy to "Player"->getPos Y set playzz to "Player"->getPos Z endif endif if doOnce==5 stopscript ELDQ_visualforbattle endif end ELDQ_visualforbattle

Решение проблем Основные советы

  • Хороший способ отладки — это вставка команды MessageBox в ключевые точки скрипта.

  • Если выходят сообщения об ошибке, а вы не можете найти причину, попытайтесь удалить подозрительные строки кода одну за другой (используя “;” чтобы пометить их как комментарии), чтобы выяснить строку с ошибкой

  • Обратите внимание на коды ошибок, которые выдают редактор и игра, обычно они указывают на источник проблемы и то, как ее устранить.

Консоль Использование консоли для проверки переменных:

В игре можно использовать консоль для проверки переменных. Вызовите окно консоли (по умолчанию клавиша ~ или любая клавиша слева от клавиши "1", если вы используете не-US клавиатурную раскладку) и наберите "sv" – это выведет список всех глобальных переменных с их значениями. Теперь найдите объект с присоединенным скриптом. Снова вызовите консоль, щелкните левой кнопкой мыши на объекте — изменится заголовок консольного окна. Снова наберите "sv" – теперь будут перечислены локальные переменные для скрипта на выделенном объекте. Чтобы проверять глобальные переменные, не показанные «sv» - наберите "show имя_переменной"

Использование консоли для быстрой проверки скриптов:

Консоль может помочь вам протестировать ваши скрипты. Например, нет нужды помещать объекты в редакторе, а затем в игре идти в это место. Просто запишите ID вашего объекта, загрузите любую сохраненную игру, а затем наберите в консоли:

PlaceatPC "My_Object" 1,1,1

Это поместит предмет прямо у ваших ног.

Player -> AddItem "My_Object", 1

Это поместит предмет в ваш инвентарь

Чтобы перейти в определенную локацию используйте

coc "cell_name"

для интерьеров или

coe –1,-7

для экстерьеров (координаты посмотрите в редакторе). coc работает и для экстерьеров, но так как у большинства из них не уникальные имена, то нет гарантии, что вы попадете в то место, куда вам необходимо. Однако это все равно полезно, например набрав coc balmora вы попадете куда-то в Балмору.

tcl

Переключает обсчет столкновений – проходите сквозь стены, посетите труднодоступные места.

Tgm

Переключает режим Бога – тестируйте без заботы о том, что какой-нибудь монстр убьет Вас.

Вот еще бесценная консольная команда, запускающая игру в режиме «отладки» и позволяющая увидеть информацию об эффектах заклинаний, шансах на попадание, и т.д. (спасибо Wakim). Вот она:

1) нажмите клавишу "~", чтобы вызвать консоль.

2) наберите "tcs" в консоли и нажмите Enter.

3) щелкните (правой или левой кнопкой мыши, не могу вспомнить) в любом месте картинки вне окна консоли, продолжив игру с вызванным и активным окном консоли.

Вот так. Есть и иные варианты команды "tcs", такие как (но не ограничивающиеся ими) "tks" и "tms", которые подходят под общий формат "toggle xxxxxx statistics" где xxxxx: c = бой (combat), m = магия (magic), k = убийство (kill), или что вам нужно.