Oblivion CS:Мое первое заклинание

Материал из Tiarum
Перейти к: навигация, поиск
Мое первое заклинание
45px-Scroll.png

автор: Mrflippy
перевод: Vitalka (OSFM team)
редактирование: Garin (OSFM team)
ccылка на оригинал: My First Spell
ссылка на сайт: The Elder Scrolls Construction Set Wiki

Мое первое заклинание

Это руководство поможет вам создать новое заклинание, используя комбинацию из стандартного и собственного, созданного вами эффекта.

Первые шаги.

Откройте программу TES Construction Set. Когда она загрузится, идите по пути File -> Data и в открывшемся окошке щелкните два раза на "Oblivion.esm", чтобы загрузить мастер-файл Oбливиона.

(См. руководство по первым шагам в TES 4 CS: First Steps)

Создание заклинания.

После длительного процесса загрузки мы можем приступить к созданию нашего заклинания. Итак, активируйте окно Object Window. Нас интересует категория Magic. Разверните ее, нажав на плюс "+". Там вы увидите несколько подкатегорий, но нам нужно создать заклинание (Spell).

Щелкнув левой кнопкой мыши (далее ЛКМ), выделите слово "Spell". В таблице справа вы должны увидеть множество заклинаний, используемых в игре. Щелкните правой кнопкой мыши (далее ПКМ) где-нибудь на этой таблице (неважно где) и выберите "New" в появившемся меню. Должно открыться новое диалоговое окно - "Spell". В нем:

  • ID: ID нашего заклинания, используемое внутри Construction Set. Введите "MyFirstSpell" в это поле.
  • Name: Настоящее имя заклинания, которое будет отображаться в игре. Введите - "My First Spell".
  • Type: Показывает, к какому типу относится это заклинание. Выберите "Spell".

Добавление стандартных эффектов.

На этой стадии создания заклинания таблица справа должна быть пуста. При использовании такого заклинания оно не будет производить никаких эффектов, поэтому мы сейчас добавим туда один из стандартных эффектов.

Щелкните ПКМ на поле "Effects" и в появившемся меню выберете "New". Появится новое диалоговое окно - "Effect Item". Здесь:

  • Effect: Показывает какой магический эффект будет применяться в заклинании. Выберите "Shield" (Щит).
  • Range: Показывает, как будет применяться эффект. Выберете "Self" ("на себя").
  • Area: Радиус действия заклинания. В данном случае у нас нет возможности изменять это поле, т.к. этот эффект заклинания кастуется "на себя".
  • Duration: Показывает продолжительность действия заклинания. Введите число 30.
  • Magnitude: Показывает силу примененного заклинания. Введите число 300.

Щелкните "ОК", чтобы добавить этот эффект.

P.S. Вы, наверное, заметили, что значения в поле "Auto-Calculated Costs" справа автоматически изменяются. Если вам не нравятся эти значения, вы можете убрать галочку в переключателе "Auto-Calculate" в предыдущем окне. Позже мы попытаемся это сделать.

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

Сейчас, когда мы добавили стандартный эффект, давайте добавим еще один собственный. Но, прежде всего, мы должны написать для него скрипт. Выберите Gameplay -> Edit Scripts в главном меню. Появится диалоговое окошко "Script Edit", в которое мы пока ничего не можем ввести. Выберите Script -> New из меню этого окна. Теперь мы можем создавать наш скрипт. Выберите тип вашего скрипта "Magic Effect" из ниспадающего меню "Script Type". Это очень важно! Если вы не сделаете этого, мы не сможем добавить скрипт в заклинание. Давайте назовем наш скрипт "MyFirstSpellScript" и добавим переменную для последующего использования. Итак:

scriptname MyFirstSpellScript 

short updateCount

Скрипты для заклинаний (магических эффектов) отличаются от обычных скриптов для объектов. Они "понимают" только три специальных скриптовых блока, в то время как обычные скрипты используют намного больше. Так что же это за скриптовые блоки? С удовольствием вам отвечу. Скриптовый блок - это блок Begin...End с указанным конкретным типом блока, который запускается в определенной ситуации и представляет собой условие. Скрипты для заклинаний имеют следующие типы блоков:

  • ScriptEffectStart - этот блок запускается один раз во время начала кастования заклинания.
  • ScriptEffectUpdate - этот блок будет проигрываться в каждом игровом фрейме в течение действия заклинания.
  • ScriptEffectFinish - этот блок запускается один раз по окончании действия заклинания.

Теперь давайте добавим блоки в наш скрипт.

Тип блока ScriptEffectStart.

Begin ScriptEffectStart 
   RemoveAllItems 
End

Замечательный эффект. ( RemoveAllItems - убрать все вещи )

Тип блока ScriptEffectUpdate

Begin ScriptEffectUpdate 
   set updateCount to updateCount + 1 
End

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

Тип блока ScriptEffectFinish.

Begin ScriptEffectFinish 
   Message "Spell is finished. ScriptEffectUpdate was run %. 0f times", updateCount 
End


Функция "Message" выведет на экран текстовое сообщение, в котором будет показано, сколько раз был запущен блок ScriptEffectUpdate.

Скрипт полностью:

scriptname MyFirstSpellScript  

short updateCount 

Begin ScriptEffectStart 
   RemoveAllItems 
End 

Begin ScriptEffectUpdate 
   set updateCount to updateCount + 1 
End 

Begin ScriptEffectFinish 
   Message "Spell is finished. ScriptEffectUpdate was run %. 0f times", updateCount 
End


Выберите Script -> Save ( или щелкните на кнопке с дискеткой ) и закройте это окно.

Добавление собственного эффекта.

Возвращаемся обратно в окно Spell, щелкаем ПКМ в поле "Effects" и выбираем "New" в появившемся меню, как мы делали это раньше.

На этот раз выберите "Script Effect" в ниспадающем меню "Effect". Это позволит нам добавить скрипт, который мы только что написали.

  • Effect: Выберите "Script Effect".
  • Range: Выберите "Target".
  • Area: Введите какое-нибудь значение, например, 100.
  • Duration: Поставьте небольшое значение 5 или 10, чтобы мы долго не ждали, когда закончится дейтвие заклинание.
  • Script Effect Info:
  • Script: В ниспадающем меню выберите наш скрипт "MyFirstSpellScript". (Если вы нажмете на кнопку "...", то откроется окно редактирования скриптов.)
  • Effect Name: Имя эффекта. Задайте здесь какое-нибудь имя, например "I see London, I see France".
  • School: Навыками какой магической школы вы должны обладать, чтобы использовать этот эффект.
  • Visual Effect: Какой визуальный эффект будет использоваться. Выберите "Frenzy" ("Бешенство").
  • Effect is Hostile: Если вы поставите здесь галочку, то людям не будет нравиться, если вы скастуете на них это заклинание. В данном случае ставить галочку мы не будем.


Жмите "ОК".

Заключительные шаги

Убедитесь, что в переключателе "Auto-Calculate" не стоит галочка. Иначе вы не сможете скастовать это заклинание. ( Я так думаю, что магии не хватит на такое заклинание. От себя хочу добавить, что неплохо было бы поставить "Spell Level" на "Novice" и уменьшить "Spell Cost" до приемлемых значений.)

Нажмите "ОК". Заклинание добавилось в список заклинаний в окне Object Window.

Нахождение Form ID.

Перед тем, как тестировать заклинание, нам необходимо знать его Form ID, т.к. мы не можем использовать просто "MyFirstSpell". Идите в верхнюю часть списка заклинаний и найдите колонку "Count". Слева от нее вы найдете скрытую колонку Form ID (две рядом стоящие линии). Щелкните по левой границе колонки "Count" и, держа зажатой ЛКМ, растяните колонку Form ID. Теперь в списке найдите наше заклинание и перепишите куда-нибудь его Form ID. Оно должно выглядеть примерно так: "01000CE8" (но не обязательно).

Сохранение.

Это очень важно! Выберите File -> Save в Главном меню, введите любое желаемое имя вашего мода, например, MyMod и нажмите "ОК".

Тестирование.

Запустите Oblivion. В "лаунчере" выберете "Data Files" и отметьте файлы "Oblivion.esm" и наш файл плагина ("MyMod.esp"). Нажмите "ОК", а затем "Play". Начните новую игру или загрузите сохраненную. Имейте ввиду, что наш собственный эффект лучше работает, если вы выберете несколько целей.

Откройте консоль нажатием кнопки "~" и введите следующее:

player.addspell <formId>

где <formId> - formId нашего заклинания. ( Вы же его запомнили, не так ли?)

Это будет выглядеть примерно так:

player.addspell 01000ce8 

Если все пройдет гладко, то появится сообщение о том, что нам добавлено заклинание "My First Spell". Выберите это заклинание из списка заклинаний своего игрока и скастуйте его!

Вы получите временную защиту и по прошествии нескольких секунд появится сообщение, которое проинформирует, сколько раз был запущен блок ScriptEffectUpdate.

Если же заклинание не добавилось, то это значит, что игра не распознала ваш formId. Попробуйте изменять вторую цифру в formId. Например, 02000ce8, 03000ce8 и т.д. пока не получится. Вы, вероятно, загрузили в игру не только мастер-файл и созданный вами мод, но и другие моды. ( От себя хочу добавить, что первые две цифры означают, каким по счету был загружен в игру наш мод в шестнадцатиричном формате. Обычно они сортируются по дате создания. Например, если наш мод загружается десятым, то переводим его в шестнадцатиричный код - 0А и в консоли пишем: player.addspell 0А000ce8 ).

Удачи в создании заклинаний!