Difference between revisions of "Bethesda Tutorial Papyrus Hello World/ru"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Peganoff
imported>Peganoff
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{RussianPage|e}}
[[Category:Tutorials]]
[[Category:Tutorials]]
[[Category:Solutions]]
[[Category:Solutions]]
{{Tutorial Index
{{Tutorial Index/ru
|series=Scripting
|series=Скрипты
|chapter=1
|chapter=1
|Prev=Bethesda_Tutorial_Papyrus_Hello_World
|Prev=Bethesda_Tutorial_Papyrus_Hello_World
Line 11: Line 12:
Этот урок познакомит с основами Papyrus, скриптового языка Creation Kit.
Этот урок познакомит с основами Papyrus, скриптового языка Creation Kit.


Вы узнаете:
<br/><br/>Вы узнаете:
* Как создать новый скрипт и приделать его к объекту.
* Как создать новый скрипт и приделать его к объекту.
* Как заставить ваш скрипт реагировать на события.
* Как заставить ваш скрипт реагировать на события.


=Creating a Script=
=Создание скрипта=
The first thing we're going to do is to create a new script and attach it to an object in the world. Run the Creation Kit and load up a test cell of your choice. I'll be using MolagBalVoiceCell simply because it's a nice empty cell without any clutter to distract us.
Первое, что мы сделаем, это создадим новый скрипт и приделаем его к объекту в мире. Запустите Creation Kit и загрузите любую тестовую ячейку на ваш выбор. Я буду использовать  MolagBalVoiceCell просто потому, что это хорошая пустая ячейка без каких-либо отвлекающих нас помех.


Let's put an object in the cell - use '''WETempActivator''' from the Activator list. It's a simple glowing pillar that we used as a temporary object during development.
Давайте поставим объект в ячейку. Используйте '''WETempActivator''' из списка Activator. Это просто светящийся столб, который мы использовали в качестве временного объекта в процессе разработки.


[[Image:Papyrus Tutorial1 Activator.jpg|300px]]
[[Image:Papyrus Tutorial1 Activator.jpg|300px]]


Double-click on the object to open the Reference window. Switch to the Scripts tab. This is where you can add scripts to any object in the game.
Дважды щелкните на объекте, чтобы открыть окно Reference. Перейдите на вкладку Scripts. Здесь вы можете добавить скрипты на любой объект в игре.


[[Image:Papyrus Tutorial1 Ref.jpg]]
[[Image:Papyrus Tutorial1 Ref.jpg]]




Click the Add button to bring up the "Add script" window.
Нажмите кнопку Add, чтобы открыть окно "Add Script".


[[Image:Papyrus Tutorial1 AddScript.jpg]]
[[Image:Papyrus Tutorial1 AddScript.jpg]]


Double-click "[New Script]" at the top of the list to create your new script. Change the Name field to "HelloWorldScript" (this will be the script's name), and hit "OK".
Дважды щелкните "[New Script]" в верхней части списка, чтобы создать новый скрипт. Измените поле Name на "HelloWorldScript" (это будет имя скрипта), и нажмите "OK".


[[Image:Papyrus Tutorial1 NewScript.jpg]]
[[Image:Papyrus Tutorial1 NewScript.jpg]]


You'll now see that your new script has been added to the pillar's script list:
Теперь вы видите что ваш сценарий добавлен с список:


[[Image:Papyrus Tutorial1 Ref WithScript.jpg]]
[[Image:Papyrus Tutorial1 Ref WithScript.jpg]]


Hit "OK" to save the changes to the pillar reference. Congratulations! You've just created your first script and attached it to something in the world.
Нажмите "OK" для сохранения изменений. Поздравляем! Вы только что создали свой первый скрипт и прикрепили его к чему-то в мире


=Adding an Event=
=Добавление события=
Of course, your script doesn't do anything yet - it's just an empty shell waiting to be given something to do.
Конечно, ваш скрипт пока ничего не делает - это всего лишь пустая оболочка, ожидающая данных, чтобы что-то сделать.


Because this object is an Activator, it can respond to being clicked on ("activated") by the player. So let's tell our script to show us a message when the player clicks on the pillar.
Поскольку этот объект является Activator, он может реагировать на нажатие ("активацию") игроком. Поэтому давайте скажем нашему скрипту, чтобы он показал нам сообщение, когда игрок нажимает на столб.


Reopen the pillar's Reference window, and right-click on the HelloWorldScript on the Script tab. Select "Edit Source", which will bring up the script editing window.
Снова откройте окно Reference , и щелкните правой кнопкой мыши на HelloWorldScript в вкладе Script. Выберите "Edit Source",, которая вызовет окно редактирования скрипта.


Now we need to tell the script to respond to being activated, which means we need to add the [[OnActivate_-_ObjectReference|OnActivate event]] to our script. Add the following lines to your script:
Теперь мы должны сказать скрипту реагировать на активацию, это означает, что мы должны добавить [[OnActivate_-_ObjectReference|OnActivate event]] в наш скрипт. Добавьте следующие строки в скрипт:


<source lang="papyrus">
<source lang="papyrus">
Line 56: Line 57:
</source>
</source>


For now, don't worry about how we knew what syntax to use here when we defined the OnActivate event - we'll go into more detail on that in a later tutorial. For now, let's just see if we can get our script to do something in the game.
Пока не беспокойтесь о том, что это за событие: OnActivate. Мы рассмотрим его более подробно в следующем учебнике. А сейчас, давайте посмотрим, как с помощью скрипта можно что-нибудь сделать в игре.


At this point, our script is ready to respond to the OnActivate event, so let's tell it to show a simple message box:
На данный момент, наш скрипт готов ответить на событие OnActivate, так давайте скажем, чтобы он показал простое окно с сообщением:


<source lang="papyrus">
<source lang="papyrus">
Line 66: Line 67:
</source>
</source>


To explain this last step a bit more, the syntax of the line breaks down as follows:
Разберем этот последний шаг немного больше, строка синтаксиса распределяется следующим образом:
:'''Debug.'''MessageBox("Hello, World!"): This is telling the script that we're calling a function on a different script (in this case the special default [[Debug_Script|Debug script object]]).
:'''Debug.'''MessageBox("Hello, World!"): Это говорит скрипту, что мы вызываем функцию по другому скрипту (в этом случае специальный по умолчанию [[Debug_Script|Debug script object]]).
:Debug.'''MessageBox'''("Hello, World!"): [[MessageBox_-_Debug|MessageBox]] is a function that pops up a message box.
:Debug.'''MessageBox'''("Hello, World!"): [[MessageBox_-_Debug/ru|MessageBox]] это функция, которая показывает окно сообщения.
:Debug.MessageBox'''("Hello, World!")''': The parentheses show that we're calling a function; whatever's inside the parentheses is the data that we're passing to the function (in this case, the text that we want to be displayed in the message box).
:Debug.MessageBox'''("Hello, World!")''': Скобки показывают что мы вызываем функцию, и все, что внутри скобок данных, мы передаем в функцию (в данном случае текст, который мы хотим отобрасить в окне сообщений.


Save and compile your script by selecting "Save" from the File menu on the script editing window (or CTRL-S). If you typed everything correctly, you should see this:
Сохранить и скомпилировать скрипт, выбрав «Save» из меню file в окне редактирования скрипта (или CTRL-S). Если вы ввели все правильно, вы должны увидеть это:


[[Image:Papyrus Tutorial1 CompiledScript.jpg]]
[[Image:Papyrus Tutorial1 CompiledScript.jpg]]

Latest revision as of 14:27, 30 August 2012

RoundRussianFlag.pngНа русском языке
Требуется помощь редактора
Bethesda Tutorial Papyrus Hello World/ru
Серия: Скрипты, глава 1
К другим учебникам
LeftArrow.png Предыдущая статья Следующая статьяRightArrow.png


Краткий обзор[edit | edit source]

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



Вы узнаете:

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

Создание скрипта[edit | edit source]

Первое, что мы сделаем, это создадим новый скрипт и приделаем его к объекту в мире. Запустите 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" для сохранения изменений. Поздравляем! Вы только что создали свой первый скрипт и прикрепили его к чему-то в мире

Добавление события[edit | edit source]

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

Поскольку этот объект является 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). Если вы ввели все правильно, вы должны увидеть это:

Papyrus Tutorial1 CompiledScript.jpg

"Hello, World"[edit | edit source]

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

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

coc MolagBalVoiceCell

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

Papyrus Tutorial1 HelloWorld.jpg

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


LeftArrow.png Previous Tutorial Return to Tutorial Hub Next Tutorial RightArrow.png


Language: [[::Bethesda Tutorial Papyrus Hello World/ru|English]]