Jump to content
  • Новые материалы

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


    Ed_MSL

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

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

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

    После процесса загрузки мы можем приступить к созданию нашего заклинания. Итак, активируйте окно 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 - этот блок запускается один раз по окончании действия заклинания.

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

    Begin ScriptEffectStart 
       RemoveAllItems 
    End

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

    Begin ScriptEffectUpdate 
       set updateCount to updateCount + 1 
    End

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

    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.

    Нахождение FormID

    Перед тем, как тестировать заклинание, нам необходимо знать его FormID, т.к. мы не можем использовать просто "MyFirstSpell". Идите в верхнюю часть списка заклинаний и найдите колонку "Count". Слева от нее вы найдете скрытую колонку FormID (две рядом стоящие линии). Щелкните по левой границе колонки "Count" и, держа зажатой ЛКМ, растяните колонку FormID. Теперь в списке найдите наше заклинание и перепишите куда-нибудь его FormID. Оно должно выглядеть примерно так: "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 ).

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


    Данная статья взята с неработающего ныне сайта tiarum wiki. Статья является переводом данной статьи http://cs.elderscrolls.com/index.php?title=Scripting_Tutorial:_My_First_Spell за авторством Mrflippy. Переводчик Vitalka (OSFM team).


    User Feedback

    Recommended Comments

    There are no comments to display.



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...