Учебник Bethesda Papyrus Hello World
| Учебник Bethesda Papyrus Hello World | |
|---|---|
| Серия Скриптинг, глава 1 | |
| Вернуться в Учебный центр | |
| Следующий учебник | |
Обзор
Этот учебник представляет основы Papyrus, скриптового языка Creation Kit.
Вы узнаете:
- Как создать новый скрипт и прицепить его к объекту.
- Как выполнить ваш скрипт в ответ на событие.
Создание скрипта
Первую вещь, которую нам необходимо сделать, это создать новый скрипт и прицепить его к объекту в мире. Запускаем Creation Kit и загрузите тестовую ячейку на ваш выбор. Я буду использовать MolagBalVoiceCell потому, что это отличная ячейка, и при этом, пустая, без какого-либо беспорядка, чтобы это не отвлекало.
Поместим объект в ячейку - используйте WETempActivator из списка объектов типа Activator. Это такой светящийся столб, который мы использовали в качестве тестового объекта при разработке. Далее мы будем просто называть его "столб".
Двойной щелчок по объекту чтобы открыть Окно Reference. Переключитесь на вкладку Scripts. Здесь вы можете добавлять скрипты для любого объекта в мире.
Нажмите на кнопку Add, чтобы вызвать окно "Add script".
Двойной щелчок по "[New Script]" вверху списка, чтобы создать новый скрипт. Измените значение поля Name на "HelloWorldScript" (это будет название скрипта), и нажмите "OK".
Теперь вы видите что ваш скрипт добавился в список скриптов нашего светящегося столба:
Нажмите "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). Если вы все написали правильно, вы должны увидеть это:
"Hello, World"
Теперь пришло время проверить все это в игре. (Вначале убедитесь, что вы сохранили плагин, и отметили плагин для его загрузки.)
Когда вы в игре, нажмите ~ чтобы вызвать консоль. Напишите:
coc MolagBalVoiceCell
чтобы телепортироваться в ячейку. Подойдите к столбу и активируйте его. Вы должны увидеть текстовое сообщение:
![]()
Ну вот и все. Вы сделали объект, который будет отвечать на активацию игроком! Далее, вы научитесь, как использовать переменные и условные операторы чтобы сделать скрипт более сложного уровня.
| |
Вернуться в Учебный центр | Следующий учебник | |




