Фэндом


Введение В этом уроке мы рассмотрим, как сделать собственный меч, который применяет положительные эффекты на игроков, когда им поражают врага. Данный урок включает в себя темы добавления графики, составление модов, изменения INI-файлов, и написание очень простых сценариев на C #.

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

ТребованияПравить

  • TConfig должны быть установлен правильно. Когда вы запускаете игру, он должен показать "TConfig» и номер версии в углу основного меню.
  • Вам нужны будут  элементы по умолчанию, если у вас нет их .

Создание мечаПравить

  • Мы хотим создать меч. Для начала скопируем один для наших целей: Гибель Света. Найдём INI-файл и скопируйте его в папку 'Item'.
  • Переименуем файл в Defender's Sword.ini. Позже, дадим ему положительный эффект ironskin, но сейчас мы создаём лёгкий крафт. Во-первых, откроем INI файл и изменить type 1, damage 12, а value 8000.
[Stats]
width=24
height=28
type=-1
useStyle=1
useAnimation=20
useTime=100
maxStack=1
damage=12
knockBack=5
scale=1.1
useSound=1
rare=1
value=8000
melee=True
  • Если вам интересно, о различных атрибутах здесь вы можете прочитать полный список возможностей на странице Атрибуты предмета.
  • Далее, мы будем корректировать крафт. Опять же, вы можете установить его на что-то очень простое, таких как 1 Wood для целей тестирования, а затем сбалансировать пункт позднее.
[Recipe]
Amount=1
needWater=False
Items=8 Iron Bar
Tiles=Anvil

Добавление графикиПравить

  • Так же, как и в другом уроке мы создаём файл.ini нашего предмета. Теперь нам нужно дать ему изображение для использования. Загрузите это изображение (который является только Гибель Света), и сохранить его как Defender's Sword.png, в той же папке, что и ini файла. Defender's Sword.png
  • Использование XNB_Exporter также может быть очень полезным. Что она делает это в основном преобразует XNB файлы в формат PNG для редактирования и просмотра.

Создание эффектаПравить

Причина, по которой мы сделали так, что меч баффает персонажа вместо того, чтобы дебаффнуть врага, весьма проста: когда ты баффнут, ты видишь соответствующую иконку - и знаешь, что оно работает. И всё же, как мы заставили игру баффать персонажа? Это не очень сложно, хотя с первого взгляда так не скажешь: мы написали скрипт на C#.

  • Откроем блокнотом или текстовым редактором .ini файл
  • Теперь, просто скопируйте и вставьте следующий код в файл:
public void DamageNPC (Player myPlayer, NPC npc, ref int damage, ref float knockback)
{

    // Add the buff 
    myPlayer.AddBuff (5, 600);

}
  • Выберите файл, затем сохраните его и назовите его Defender's Sword.cs. Опять же, это должна быть рядом с двумя другими файлами. Все они должны иметь одно и то же имя, но с разными расширениями файлов.
  • Не очень краткое объяснение того, что происходит здесь:
    • Во-первых, просто посмотрите на фигурные скобки {} - они используются для группы кода вместе. Самая первая строка - функция определения, и мы говорим, что эти скобки не имеют никакой функции
    • Там очень много вещей происходит за кулисами, но когда мы говорим "DamageNPC" мы понимаем, что мы хотим, чтобы была вызвана функция. Когда игра определяет, что настало время, он будет делать все, что мы говорим "DamageNPC" делать. В этом случае, добавляем бафф
    • "public" означает, что любой код может получить доступ к методу. Это важно! Если мы забыли положить, что, или сказал, что "частные", ничего не может получить доступ к функции, то есть он никогда не будет называться, и наш любитель никогда не добавляется.
    • "void" означает, что DamageNPC не возвращает значение. Некоторые функции будут возвращать истинным или ложным в зависимости, или же они были успешными, другие числа, или даже целые объекты.
    • Для "Player myPlayer", "Игрок" это тип создаваемого объекта, а myPlayer это имя. Еще один способ думать о нем, что является myPlayer Player.
    • Для "NPC npc" то же самое верно. Если мы хотим повлиять на NPC вместо этого, мы должны написать npc.AddBuff вместо этого!
    • Это также похожие на "ref int damage" - у нас есть целое число (целое число), представляющее вред рассматриваются, удобно под названием "ущерб". Тем не менее, иного имущества "ссылка" просто означает, что она передается по ссылке. Основном передача по ссылке означает, что если мы изменили значение ущерба в нашем коде, было бы признать эти изменения в другом месте.
    • Для "ref float knockback", см. выше.
    • "// Add the buff" просто комментарий. В игре игнорирует их, но он позволяет делать заметки на код и организовать его лучше.
    • Наконец, "myPlayer.AddBuff (5, 600)," это заявление. Мы призываем функцию с именем AddBuff, которая принадлежит myPlayer (или "Игрок" объект, так как myPlayer является игроком!). Мы даем ей два значения, 5 и 600. Что это значит? Если вы ссылаетесь на другие документы, вы увидите, что 5 бафф типа Ironskin. 600 продолжительность Бафф длится. Есть 60 кадров в секунду, таким образом, 600 кадров станет 10-секундный бафф.
  • Это было, вероятно, много, чтобы принять в, но большая вещь, чтобы забрать из этого является то, что первая линия была заголовка функции, которые мы получаем данные, а тело функции обработки данных и делает вещи.
  • Еще одна вещь, вы могли бы сделать, это быть случайностью применения - в чем мать родила. Самый простой способ настроить его, сделав его 1-в-__ шанс. Например, если вы хотите 1 из 10 шансов (что составляет 10% времени), вы могли бы поставить это в качестве кода, а CS.:
public void DamageNPC (Player myPlayer, NPC npc, ref int damage, ref float knockback)
{

    if (Main.rand.Next(10) == 0) {

        // Add the buff 
        myPlayer.AddBuff (5, 600);

    }

}

Тестирование мечаПравить

  • Если все настроено правильно, вы должны иметь возможность просто запустить Modpack Builder, выбрать номер вашего мода, и собрать его. Он будет генерировать его для использования в игре.
  • Если вы не увенчались успехом, он должен вернуться с причиной. Если вы видите кучу бред, попробуйте найти часть, которая имеет две цифры в скобках, например, (6, 18). Это положение в тексте, где .cs код сломался. Она также будет сказать что-то вроде "ожидается". Это поможет вам узнать, где оно пошло не так и почему!
  • Если вы успешно создали свой ​​меч и атаковали кого-то, вы должны увидеть что-то вроде этого.

Defender's Sword Tutorial Pic 1.png

ВыводыПравить

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

  • Если у Вас возникли какие-либо проблемы с этим руководством вы можете получить здесь пример

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

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

Также на Фэндоме

Случайная вики