Форум «Лабортории Mod-Tec»

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум «Лабортории Mod-Tec» » Туториалы и статьи » [обновлено 1] Статья "Создание терминала"


[обновлено 1] Статья "Создание терминала"

Сообщений 1 страница 20 из 20

1

ВНИМАНИЕ! ОБНОВЛЕНО!
Доброго времени суток, уважаемые форумчане!
В данной статье мы рассмотрим процесс создания, настройки и практического применения терминалов в мире игр Fallout.
Главные действия я буду выносить отдельными строками и соответственно нумеровать .
Итак, начнём!

Статья

Для начала нам нужно создать .esp файл (я не буду рассказывать как, допустив, что вы уже знаете), а затем основу для нашего терминала. Дабы не заморачиваться с распаковкой игровых ресурсов (а именно моделей), делать мы это будем путём редактирования уже существующего терминала. Т.к. их существует 2 вида –

Висящий на стене
http://i058.radikal.ru/1105/b3/560563534cdft.jpg

И просто лежащий где-то
http://s54.radikal.ru/i146/1105/f8/724d656f529et.jpg

мы должны сначала определиться с тем, какой именно нам нужен, и соответственно выбрать для редактирования подходящий терминал.

          1. В окне Object Window раскрываем список World Objects, нажимаем на Terminal.
Теперь приступим к просмотру терминалов.

          2. По любому из терминалов щёлкаем правой кнопкой мыши, выбираем Preview.

http://s59.radikal.ru/i165/1105/9d/40abb12e4f9dt.jpg

Если нам нужен другой терминал, то используя кнопки «стрелка вверх» и «стрелка вниз» на клавиатуре, ищем подходящую модель.

Модель найдена, теперь нужно сделать «тело» для нашего терминала.

          3. Щелкаем по нужному терминалу правой кнопкой мыши, выбираем Edit. В появившемся окне изменяем поле ID например на «aaaTestTerminal», в поле Name запишем имя терминала. Удалим все записи из «Menu Items», «Item Conditions», «Welcome»; установим «Password» и «Sub Menu» на None, а «Base Hack Difficulty» на Unlocked.

http://i065.radikal.ru/1105/67/17c7e189b245t.jpg

Нужно заполнить поле «Welcome Text» - это самая верхняя запись, она отображается поверх всего.

http://s002.radikal.ru/i197/1105/fd/95a7959660a3t.jpg

Вот и готово «тело» для нашего терминала.

В терминалах можно делать несколько видов записей – это простые «кнопки», при нажатии на которые возникает какая-то надпись *(например «кнопка» «Удалить», при нажатии на которую возникает надпись «Удаление прошло успешно»)*, это записи, которые открываются отдельно, они могут быть больших объёмов *(например «кнопка» «День десятый», при нажатии на которую откроется текст с содержанием, допустим, записи из дневника)*, а также подменю *(к примеру  «кнопка» «Записи из дневника», при нажатии по которой откроется список с записями)*. Давайте разберём, как всё это делается.

          4. Щелкнем правой кнопкой мыши по полю «Menu Items», нажмём на «New». Заполним поля «Item Text» и «Result Text». Первое – это название самой «кнопки», а второе – текст, который будет появляться при нажатии на неё.

http://i072.radikal.ru/1105/b0/1032052d18b6t.jpg

          5. Далее создадим ещё одну «кнопку», назовём её «Запись №1».

http://s015.radikal.ru/i333/1105/61/1922746783aat.jpg

Нажмём ОК. Т.к. Мы ещё не сохраняли изменения, GECK спросит нас, хотите ли вы создать новую «форму»?  Нужно ответить "ДА". 

http://s013.radikal.ru/i322/1105/ee/e679b4cd478dt.jpg

          6. Теперь перейдём в окно Object Window, далее в Items, затем Note.

http://i014.radikal.ru/1105/ec/11818021780at.jpg

Создадим новую записку – щелкаем правой кнопкой мыши, нажимаем New.

http://s52.radikal.ru/i137/1105/07/ea1148b5867dt.jpg

Теперь заполним поле ID. В поле Note Type выберем Text. Заполним определённым текстом поле Note Data.

http://s59.radikal.ru/i166/1105/e9/f37aa9b9fc6ft.jpg

Нажмём ОК. И на вопрос GECK'а ответим "Да".

http://s013.radikal.ru/i322/1105/ee/e679b4cd478dt.jpg

Теперь перейдём в окно редактирования нашего терминала.

          7. Щелкнем по нашей «кнопке» Запись №1, затем выставим в поле Display Note нашу записку aaaTestTerminalNote01.

http://s46.radikal.ru/i113/1105/6b/54913e3e17e1t.jpg

          8. Создадим ещё одну «кнопку». Назовём её «Список записей». Сохраним изменения, нажав кнопку ОК.

http://s40.radikal.ru/i087/1105/58/5c314767c0adt.jpg

Далее нам нужно создать ещё один терминал, с тем самым списком записей.

          9. В окне Object Window перейдём в World Objects, затем в Terminal. Создадим новый терминал (правая кнопка мыши - New).

http://s15.radikal.ru/i189/1105/2e/fc38d29122act.jpg

Дадим ему ID aaaTestTerminalSub01. Создадим 2 кнопки с именами Запись №2 и Запись № 3. Сохраним изменения, щёлкнув по ОК.

http://i066.radikal.ru/1105/3a/9abb2a8a96c3t.jpg

          10. Перейдём в окно редактирования главного терминала (aaaTestTerminal) . Выберем кнопку Список записей и Sub Menu установим на aaaTestTerminalSub01. Снова сохраним изменения, нажав ОК.

http://i052.radikal.ru/1105/d0/a151f9a51668t.jpg

Давайте заполним информацией Запись №2.

          11. Перейдём в окно Object Window, далее в Items, затем Note. Создадим нашу запись на основе уже созданной нами. *правой кнопкой мыши по ней - Edit*.

http://i020.radikal.ru/1105/3f/cba23a79c6b0t.jpg

Изменим у параметра ID цифру в конце на 02. И соответственно изменим содержание.

http://s008.radikal.ru/i303/1105/bd/cb222a68475dt.jpg

Подтвердим создание новой записи. 

http://s55.radikal.ru/i148/1105/50/2c6099daefdbt.jpg

          12. Перейдём в окно редактирования  терминала-подменю. (правой кнопкой мыши по aaaTestTerminalSub01 - Edit).

http://s53.radikal.ru/i140/1105/c3/74bd6885fd51t.jpg

Выберем «кнопку» Запись №2, установим Display Note на aaaTestTerminalNote02.

http://s46.radikal.ru/i112/1105/0e/5b18bd66237ct.jpg

          13. Теперь, сохраним изменения во всех терминалах, щёлкнув в них по кнопке ОК.

Чтобы проверить работоспособность всего созданного нами, давайте установим где-нибудь в игре наш терминал. После этого запустим игру и «прогуляемся» по нашему детищу.

Как мы видим, всё работает замечательно.

Давайте сделаем терминал, у которого будет практическое применение, а именно, он будет выдавать нам n-ое количество крышек при нажатии на «кнопку» =)

          1. Создаём тело для терминала. Дадим ему ID aaaTerminalCapser и имя Терминал – банк. Напишем что-нибудь в Welcome Text. Сохраняем изменения и соглашаемся создать терминал.

          2. В Menu Items создаём «кнопку» с названием Выдать крышки.

http://s003.radikal.ru/i201/1105/86/5a4692b0355ft.jpg

          3. Создаём новый терминал с ID aaaTerminalCapserSub01, создаём 2 кнопки – 100 крышек, 500 крышек. В поле Result Text для обоих кнопок запишем Происходит выдача… Изменим поле Welcome Text.

http://s58.radikal.ru/i161/1105/df/b39e0ee8ddfat.jpg

Сохраняем изменения и соглашаемся создать терминал.

          4. Заходим в меню редактирования терминала aaaTerminalCapser, щёлкаем по «кнопке» Выдать крышки, Sub Menu устанавливаем на aaaTerminalCapserSub01.

http://s003.radikal.ru/i202/1105/f3/e9ad5d2d1277t.jpg

          5. Теперь заходим в меню редактирования терминала aaaTerminalCapserSub01, щёлкаем по «кнопке» 100 крышек и в поле Item Result Script вписываем…

Код:
Player.additem F 100

И нажимаем Compile Result.

http://i082.radikal.ru/1105/e8/1ba689e362aat.jpg

Разберём этот мини-скрипт на части:
Player – это естественно сам игрок. В этой части указывается, на кого направленно действие
«.» - знак разделения
Additem – это функция, которая добавляет определённую вещь в инвентарь
«F» - это сокращённое ID крышки, полное – 0000000F, но нули, стоящие в начале, игрой не учитываются, поэтому я их «опустил»
100 - это количество предмета, который добавляется в инвентарь

          6. Щёлкаем по «кнопке» 500 крышек и в поле Item Result Script вписываем…

Код:
Player.additem F 500

http://s53.radikal.ru/i141/1105/04/334e5ef11de4t.jpg

В данном случае будет выдаваться 500 крышек.

Проверим всё...

На этом я закончу данную статью.
Если она окажется полезной для посетителей нашего форума, возможно, я напишу статью на тему «Создание продвинутых терминалов».

Rus-IP специально для forum.mod-tec.ru

Дополнение №1
Обзор часто используемых полей в окнах редактирования терминала и заметки.

дополнение создано по просьбе пользователя Wulf

Свернутый текст

Рассмотрим различные части окна редактирования терминала.

http://s60.radikal.ru/i167/1106/8b/4d84622b0461t.jpg

          1. Я думаю, вы все знаете, что такое ID. Хотя нет, всё-таки напишу, что это - универсальный идентификатор определённой вещи в игре. Два разных предмета не могут иметь одинаковый ID.

          2. Это, естественно, имя терминала.

          3. Указав в Script определённый скрипт, мы его привяжем к терминалу.

          4. Создаём запись (или заметку) в Items – Note, выбираем её в этом поле и теперь игрок получит доступ к терминалу только если у него в инвентаре будет такая Запись. Хотя что я рассказываю… Смотрите видео.

          5. Как мы видим из названия, в этом поле мы указываем сложность взлома терминала.

          6. Это поле представляет из себя список тех самых «кнопок». Оно неразрывно связано со следующими четырьмя. И ещё полем под номером 15.

          7. В это поле мы вводим имя для кнопки.

          8. А сюда мы вводим фразу, которая появляется при нажатии по кнопке вот здесь… (смотрим скриншоты)

http://s008.radikal.ru/i304/1106/84/b919cb8a63bdt.jpg

http://s002.radikal.ru/i200/1106/13/078ceb8f57d1t.jpg

          9. Создав Запись (или Заметку) в Items – Note и выбрав её здесь, игрок, при нажатии на кнопку, будет переходить к чтению той самой записки.

          10. Здесь указываются терминалы – подменю. Нужно создать ещё 1 терминал, заполнить его данными, в главном терминале создать кнопку, и к ней прицепить вот этот терминал-подменю. При нажатии на кнопку будет открываться содержимое второго терминала. Так сказать, терминал в терминале =)

          11. В этом поле для каждой из кнопок указываются условия. Если хотя бы одно из них не выполняется – кнопка не появится. Условием может быть что угодно. Начиная от времени суток, заканчивая репутацией игрока у определённой фракции.

          12. Поставив здесь галочку, мы сделаем наш терминал квестовым предметом.

          13. В этом поле указывается путь до модели для терминала.

          14. Welcome Text – это тот тест, который отображается поверх всех остальных записей. На то он так и называется.

          15. Здесь мы можем прописать для кнопки определённый скрипт.

А теперь рассмотрим меню редактирования записей (ну или заметок).

http://i046.radikal.ru/1106/79/f16225ba9c53t.jpg

          1. Собственно, имя.

          2. Собственно, ID.

          3. Опять же, здесь указывается путь для модели этой самой записки. Это необходимо, если она будет активно (а не пассивно) использоваться в игре (находится на определённой локации как отдельный предмет).

          4. Иконка, тоже на случай активного использования.

          5. Тип записи (заметки). Т.к. мы использовали только тип «Text», другие я рассматривать не буду.   

          6. Здесь мы выбираем квест, к которому принадлежит эта заметка.

          7. Седьмой и восьмой пункт тоже применяются только при активном использовании заметки. 7-ой – это звук, который проигрывается, когда игрок забирает к себе в инвентарь эту самую заметку, а 8-ой – когда он её выкидывает.

          9.    Ну а здесь, собственно, сам текст нашей заметки.

снова Rus-IP, снова специально для forum.mod-tec.ru =)
Скачать это дополнение можно по ссылке - Создание терминала, дополнение №1.rar

И снова я жду от вас комментариев, обсуждения и критики. =)

Отредактировано Rus-IP (03.06.11 08:31:47)

+1

2

Сразу 5 баллов за статью-туториал (и плюс в карму). Все очень грамотно подано, четко по теме, по пунктам, без лишних слов. Есть поясняющие картинки, есть, что гораздо прекрасней, видео, показывающие результаты работы. В общем, лично я впечатлен проделанной работой. Даже некоторые новые нюансы в работе с редактором для себя узнал.
Есть, правда, вопрос: а разве можно в Result Script использовать Form ID? Я ни когда не пробовал, но в вашем случае все успешно работает. Или это новая фича редактора для NV?

PS
Обязательно добавим туториал в соответствующий раздел сайта, а также напишем новость. Да и в целом о вас подумаем...

+1

3

Sergey_Ros, рад стараться =) на благо сообщества не жалко усилий

Sergey_Ros написал(а):

а разве можно в Result Script использовать Form ID

Да, и раньше, и сейчас можно пользоваться этой функцией.

Отредактировано Rus-IP (31.05.11 21:24:45)

+1

4

Гм. Критика. :)
Нет описания форм. Что обозначают и для чего весь этот набор полей. Нет, потом по тексту кое-что встречается, но как бы походя и несколько не откладывается в голове. В этом плане тутор от Imperator3 поинформативней будет.
Так что предлагаю доработать.

+1

5

Wulf, мне показалось это лишним, т.к. все эти поля были задействованы, и, соответственно, игрок увидел их назначение.
Хотя, может это только мне кажется лишним? :) доработаю...
Спасибо за замечание!

0

6

Да. И лучше в виде отдельного файла. Восприниматься будет легче и распечатать можно. :) Хотя это кому как.

0

7

Wulf, ок. Будет и в отдельном файле, и здесь, так сказать в развёрнутом виде.

0

8

Rus-IP,
Привет!
Поздравляю  Днём рождения и первой публикацией ( а может и не первой - так скажем с новой статьёй!)
Успехов тебе всегда и везде ( программа максимум)!
Успехов почаще и по больше (программа минимум)
Пусть твоя жизнь будет только в этих границах!
А по уроку ничего плохого сказать не могу. Начинающему, что бы понять принцип вполне хватит - просто можно дописать, такую возможность, как смена скрипта - например на открывание двери, активацию турели и тп. пару примеров . Кнопки те же, а результат другой.
В принципе готовый банкомат - первая часть с банковской картой от Igоr Ra - (диск с паролем), а вторая от тебя (выдача денег).
Давайте ссылки на уроки друг - друга.
А общий тутор будет называться "Как поставить банкомат во Фрисайде!" Шутка!
Ещё раз с днём рождения!
Пока.

Отредактировано K.A.I.N.48 (05.06.11 20:20:34)

0

9

K.A.I.N.48, Спасибо!
А идея-то хорошая.... =)

Отредактировано Rus-IP (01.06.11 21:35:13)

0

10

Что, никому не хочется покритиковать дополнение?

0

11

Rus-IP, покритиковать его (дополнение) могут лишь те, кто столкнулся с непониманием назначения всех полей. Я никаких ошибок в описании не нашел.

0

12

А я ещё не читал. Только увидел. :)

Немного погодя: Ну. Гм. Я денька через два отпишусь... ;)

Отредактировано Wulf (06.06.11 19:08:58)

0

13

Wulf, так много времени уйдёт на анализ информации? =)

0

14

Rus-IP написал(а):

Wulf, так много времени уйдёт на анализ информации? =)

Поддеть хотели?

Как уже ранее говорил, тутор от Imperator3 поинформативней будет.
Просто вопрос. Зачем Server Type? Почему в видео-туторе о запароленом терминале стоит там Server 2? Зачем чекбоксы Leveled и Add?
Ну это кратенько.

А так пойдёт. На тутор не тянет, а как статья на тему, нормально. :)

Отредактировано Wulf (07.06.11 20:54:54)

0

15

Wulf, ну, заголовки читать надо внимательнее =) "Обзор часто используемых полей...". Эти поля почти не используются. А поле Server Type вообще практической цели не имеет, насколько я знаю.

0

16

Гм. Читаю внимательно. А "Почти" ничего не значит. Значит просто не охота разбираться... А если поле есть, значит оно нужно. Вопрос зачем?
А ладно. Больше не охота говорить.
Свою оценку я сказал.

0

17

Wulf, а вот я не люблю оставлять тему открытой =) Я сколько работаю в GECK'e и сколько всего перечитал, и ни разу нигде не видел упоминания о практической значимости этого поля. И в игре есть много всяких вещей, которые есть, но не используются. Или не известно их назначение.

0

18

Rus-IP написал(а):

а вот я не люблю оставлять тему открытой =)

Угу. Я задал три вопроса. Ответа ни на один не получил. Хотя они есть. Ну и ?

0

19

Неплохо, весьма не плохо. 5 =)

0

20

Rus-IP, Wulf, Привет!
Наверное самый лучший способ для написания статьи, урока, это выкладывать его вот в таком виде как у Rus-IP, и потом работать с вопросами и комментариями. Только вот форум должен быть такой, куда приходят желающие научиться! Где такой найти!
Всё таки после того как работа написана и сделана в виде архива. Не каждый скачавший и что то не понявший будет писать и спрашивать.
А когда есть прямая связь и есть вопросы, это только в помощь автору. Ему самому не надо ломать голову и пытаться читать свою работу глазами новичка. А это ой как трудно!
Так как если знаешь что то, то и вопроса не ставишь: - А почему?
Мне вот насчёт раскрытия темы и полноты описания очень нравятся уроки Олега (Wulf). Вроде и создаёшь компаньона, а параллельно узнаёшь очень много полезной информации, которая применима почти ко всем направлениям работы над модом.
Я его уроки, как справочник использую - не знаю например за что отвечает какой то чекбокс в настройках NPC, стилях боя, классах, фракциях, кондициях и тп.
Я сразу за его уроки о компаньонах - и уже заранее знаю, что точно ответ найду.
Постоянно всем даю ссылки на эти его уроки. И даже представляю удивлённые глаза человека спросившего: - " А как сделать, что бы NPC напал на ГГ!" Когда он видит в ответ ссылку и комментарий:- "Почитай урок Создание компаньона".
А в защиту "своих" (там даже скрипты не мои, а взятые  из Паноптикума этого сайта! ) "статей" (просто описание работы по шагам)  и этой Rus-IP, могу сказать, что иногда для поднятия желания, изучать глубже, или даже вообще продолжать знакомство с GECK необходимы такие статьи, по которым начинающий сможет быстро и не напрягаясь сделать, что то своими руками за 5 минут. Пусть даже ничего не поняв.
И получить результат.
И обрадоваться, как это здорово.
А затем усложнить, или улучшить, или сделать по своему. И вот тогда ему уже прямая дорога к серьёзным работам и урокам. В которые надо вникать и делать долго и упорно.
Неправильно выразился! Даже не в защиту. Никто ведь не нападает с оголтелой критикой, а дают правильные по сути советы и предложения.
Просто есть Генеральный план производства и есть инструкция по выполнению конкретной операции.
И это нормально! Так и должно быть.
Пока.

Отредактировано K.A.I.N.48 (28.06.11 20:15:21)

0


Вы здесь » Форум «Лабортории Mod-Tec» » Туториалы и статьи » [обновлено 1] Статья "Создание терминала"