Bethesda Tutorial Papyrus Hello World/ru

Revision as of 13:27, 30 August 2012 by imported>Peganoff (→‎Добавление события)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
RoundRussianFlag.pngНа русском языке
Требуется помощь редактора
Bethesda Tutorial Papyrus Hello World/ru
Серия: Скрипты, глава 1
К другим учебникам
LeftArrow.png Предыдущая статья Следующая статьяRightArrow.png


Краткий обзорEdit

Этот урок познакомит с основами Papyrus, скриптового языка Creation Kit.



Вы узнаете:

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

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

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

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

 

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

 


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

 

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

 

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

 

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

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

Конечно, ваш скрипт пока ничего не делает - это всего лишь пустая оболочка, ожидающая данных, чтобы что-то сделать.

Поскольку этот объект является Activator, он может реагировать на нажатие ("активацию") игроком. Поэтому давайте скажем нашему скрипту, чтобы он показал нам сообщение, когда игрок нажимает на столб.

Снова откройте окно Reference , и щелкните правой кнопкой мыши на HelloWorldScript в вкладе Script. Выберите "Edit Source",, которая вызовет окно редактирования скрипта.

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

 Event OnActivate(ObjectReference akActionRef)

 endEvent

Пока не беспокойтесь о том, что это за событие: OnActivate. Мы рассмотрим его более подробно в следующем учебнике. А сейчас, давайте посмотрим, как с помощью скрипта можно что-нибудь сделать в игре.

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

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

Разберем этот последний шаг немного больше, строка синтаксиса распределяется следующим образом:

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

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

 

"Hello, World"Edit

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

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

coc MolagBalVoiceCell

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

 

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


  Previous Tutorial Return to Tutorial Hub Next Tutorial  


Language: English