Папирус. Туториал 1. Привет, мир!

Содержание
1. Обзор.
2. Создание скрипта.
3. Добавление события (Event).
4. Привет, мир! («Hello, World»).

1. Обзор

Этот туториал познакомит вас с основами скриптового языка редактора Creation Kit, который называется Папирус (Papyrus).

Вы научитесь:
— создавать новый скрипт и прикреплять его к объекту.
— делать так, чтобы ваш скрипт реагировал на событие (event).

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

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

Давайте добавим объект в ячейку — используйте WETempActivator из списка Activator в Object Window (Окне Объектов). Это простой светящийся столб, который мы использовали в качестве временного объекта во время разработки игры:

Сделайте двойной клик левой клавишей мыши на объекте, чтобы вызвать окно настройки копии объекта (Reference window). Переключитесь на закладку Scripts (Скрипты). Здесь вы можете добавить скрипты к любому объекту в игре:

Нажмите на кнопку Add(Добавить) чтобы вызвать окно добавления скрипта — «Addscript«:

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

Теперь вы можете видеть, что ваш новый скрипт добавился в список скриптов столба:

Жмите «OK» чтобы сохранить изменения в настройках столба. Поздравляю! Вы только что создали свой первый скрипт и прикрепили его к чему-то в мире игры.

3. Добавление события (Event)

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

Так как наш объект является активатором (Activator), он может отвечать на клик по нему игрока в игре («активироваться»). Давайте сделаем так, чтобы наш скрипт показывал сообщение, когда игрок будет активировать столб в игре.

Вновь откройте окно настройки копии объекта (Reference window) и откройте контекстное меню, нажав правой клавишей по нашему скрипту HelloWorldScript на закладке Script. Выберите в появившемся меню пункт «Edit Source«, который вызовет окно редактирования скрипта.

Сейчас нам нужно сделать так, чтобы скрипт отвечал на активацию объекта в игре игроком. Это значит, что нам нужно добавить событие (event) OnActivate в скрипт. Добавьте следующие строки в ваш скрипт:

Event OnActivate(ObjectReference akActionRef)

endEvent

На данный момент не беспокойтесь о том, какой синтаксис используется, когда мы определяем событие (event) OnActivate – мы это рассмотрим более подробно в следующем туториале. Сейчас давайте просто посмотрим, как мы сможем заставить наш скрипт сделать что-то в игре.

На данный момент наш скрипт готов отвечать на событие (event) 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). Если вы напечатали все верно, то должны увидеть вот это:

4. Привет, Мир! («Hello, World»)

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

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

coc MolagBalVoiceCell

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

Вот и все. Вы создали объект, который может реагировать на действия игрока!

В следующем туториале вы научитесь использовать переменные (variables) и условия (conditional), чтобы сделать ваш скрипт несколько более сложным и утонченным.

Оригинал

©Перевод: IgorLutiy
Скачать оффлайн версию можно здесь.