Учебник Bethesda Papyrus Hello World

Навигация

Материал из Creation Kit Русский
Перейти к: навигация, поиск
Учебник Bethesda Papyrus Hello World
Серия Скриптинг, глава 1
Вернуться в Учебный центр
LeftArrow.png Предыдущий учебник Следующий учебник RightArrow.png


Обзор

Этот учебник представляет основы Papyrus, скриптового языка Creation Kit.

Вы узнаете:

  • Как создать новый скрипт и прицепить его к объекту.
  • Как выполнить ваш скрипт в ответ на событие.

Создание скрипта

Первую вещь, которую нам необходимо сделать, это создать новый скрипт и прицепить его к объекту в мире. Запускаем Creation Kit и загрузите тестовую ячейку на ваш выбор. Я буду использовать MolagBalVoiceCell потому, что это отличная ячейка, и при этом, пустая, без какого-либо беспорядка, чтобы это не отвлекало.

Поместим объект в ячейку - используйте WETempActivator из списка объектов типа Activator. Это такой светящийся столб, который мы использовали в качестве тестового объекта при разработке. Далее мы будем просто называть его "столб".

Papyrus Tutorial1 Activator.jpg

Двойной щелчок по объекту чтобы открыть Окно Reference. Переключитесь на вкладку Scripts. Здесь вы можете добавлять скрипты для любого объекта в мире.

Papyrus Tutorial1 Ref.jpg

Нажмите на кнопку Add, чтобы вызвать окно "Add script".

Papyrus Tutorial1 AddScript.jpg

Двойной щелчок по "[New Script]" вверху списка, чтобы создать новый скрипт. Измените значение поля Name на "HelloWorldScript" (это будет название скрипта), и нажмите "OK".

Papyrus Tutorial1 NewScript.jpg

Теперь вы видите что ваш скрипт добавился в список скриптов нашего светящегося столба:

Papyrus Tutorial1 Ref WithScript.jpg

Нажмите "OK" чтобы сохранить изменения в параметрах столба. Поздравляем! Вы создали ваш первый скрипт и прицепили его к объекту в мире.

Добавление События

Разумеется, пока что ваш скрипт ничего не делает - это пустой каркас, в который нужно добавить какие-то действия.

Так как тип этого объекта - Activator, он может реагировать на нажатие по нему ("активирован") игроком. Ну что же, сделаем так, чтобы скрипт показал нам сообщение, когда игрок щёлкнет по столбу.

Откройте ещё раз окно параметров столба, и щёлкните правой кнопкой мышки по HelloWorldScript во вкладке Scripts. Выберите пункт "Edit Source", который откроет окно редактирования самого скрипта.

Теперь мы должны вызвать действие в скрипте при активации столба, это означает, что нам нужно добавить событие OnActivate в наш скрипт. Добавьте строчки ниже в ваш скрипт:

Event OnActivate(ObjectReference akActionRef)
 
endEvent

Теперь, не беспокойтесь о том, как мы узнали какой синтаксис используется при объявлении события OnActivate - вдаваться в подробности об этом мы будем позже. А сейчас, давайте посмотрим, сможем ли мы заставить наш скрипт делать что-то в игре.

На данном этапе, наш скрипт готов к срабатыванию при событии OnActivate, теперь добавим вывод текстового сообщения:

 Event OnActivate(ObjectReference akActionRef)
    Debug.MessageBox("Hello, World!")
 endEvent

Чтобы изучить последний шаг немного подробнее, рассмотрим синтаксис этой строчки чуть ниже:

Debug.MessageBox("Hello, World!"): Это сообщает скрипту, что мы вызываем функцию из другого скрипта (в данном случае это специальная стандартная функция скриптового объекта Debug).
Debug.MessageBox("Hello, World!"): MessageBox это функция, выводящая текстовое сообщение.
Debug.MessageBox("Hello, World!"): Скобки указывают на то, что мы хотим, что-то сказать функции; всё, что в скобках - данные которые мы передаем функции (в данном случае, текст, который мы хотим отобразить в текстовом сообщении).

Сохраните и скомпилируйте ваш скрипт, нажав "Save" из меню File в окне редактирования скрипта (или нажмите CTRL-S). Если вы все написали правильно, вы должны увидеть это:

Papyrus Tutorial1 CompiledScript.jpg

"Hello, World"

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

Когда вы в игре, нажмите ~ чтобы вызвать консоль. Напишите:

coc MolagBalVoiceCell

чтобы телепортироваться в ячейку. Подойдите к столбу и активируйте его. Вы должны увидеть текстовое сообщение:
Papyrus Tutorial1 HelloWorld.jpg

Ну вот и все. Вы сделали объект, который будет отвечать на активацию игроком! Далее, вы научитесь, как использовать переменные и условные операторы чтобы сделать скрипт более сложного уровня.

LeftArrow.png Предыдущий учебник Вернуться в Учебный центр Следующий учебник RightArrow.png