Создание item
Item скрипт - самый простой в сфере, и хороший объект для первого обучения. Первая строка item скрипт должна выглядеть примерно таким образом: [ITEMDEF i_whatever] Ключевое слово ITEMDEF сообщает сфере, что строки ниже являются частью item. Таким образом, всё от этой строки до следующего ITEMDEF или до строки [EOF] будет рассматриваться как часть item. Слово i_whatever - название, которое можно заменить то, которым вы хотите назвать item, что бы вызывать его по команде из ультимы ".add i_whatever". Начинать название с i_* не обязательное правило - это, можно сказать, такая традиция, что бы уменьшить путаницу, что бы каждый скрипт начинался со своего прификса, например, в чар скрипах это c_* а в event e_*.
Для скрипта, который мы сейчас напишем, это будет claymore и выглядеть следующим образом:
[ITEMDEF i_claymore]
Теперь нам надо описать, как будет выглядеть наш item. Для нашего примера мы используем картинку длинного меча. ID для длинного меча - 013b7, так что мы пишем такую строчку:
ID=013b7
Или можно использовать такой вариант:
ID=i_sword_long
Сфера поймает оба эти варианта, но перый проще найти, просто смотря в Axis. Когда вы используете шестнадцатеричный ID, не забывайте ставить в левый разряд 0 (ноль), что бы сфера ни пыталась прочитать это число как десятичное.
Теперь давайте назовем наш меч. Пусть он называется claymore. Напишем такую строку:
NAME=claymore
Сфера автоматически прикрепит букву "a" к имени, и в ултиме это будет выглядеть как "a claymore".
Теперь мы сообщим сфере, что этот item есть оружие. Для этого пишем такую строчку:
TYPE=t_weapon_sword
Это строка означает, что item нападает подобно мечу. Список типов можно посмотреть в энциклопедии переменные item'ов, у нас есть возможность выбрать почти 200 типов.
Теперь установим вес item. Установленный нами вес повлияет на скорость, с которым наше оружие может нападать. Чем выше вес, тем медленнее нападает. Для нашего большого и тяжёлого оружия - claymore давайте установим вес на 14.
WEIGHT=14
Теперь сообщим сфере, какой skill используется для этого оружия.
SKILL=swordsmanship
Хотя можно использовать любой, какой вы захотите ;)
Теперь сообщим сфере, какой урон наносит наше оружие. Пишем:
DAM=15,43
Значение этой переменной - диапазон. Сфера будет выбирать из этого диапазона каждый раз, когда оружие ударит. Если написать одну цифру, то оружие будет наносить всегда одно и тоже повреждение каждый удар.
Теперь ограничим использование этого оружия для слабых чаров потому, что наше оружие большое и тяжёлое. Что бы это оружие мог взять человек только с силой 50, мы напишем так:
REQSTR=50
Теперь сделаем это оружие двуручным потому, что нереально будет махать таким большим мечом и использовать щит одновременно.
TWOHANDS=Y
Можно написать "N" что бы он был одноруким. Но установка "N" на двуруких по умолчанию item, таких как staff, не сделает их однорукими.
Мы установили основы нашего оружия, но нам надо сделать ещё кое-что. Однако, мы это сделаем в trigger:
ON=@CREATE
Этот trigger активируется, когда item создан. В trigger входят все строки скрипта, пока не встретится следующая строка ON= или конец этого item. Этот trigger выполнятся, когда будет создан этот item. В отличие от других trigger, ON=@CREATE не учитывает установленные переменные, и вы можете только устанавливать их на определённые значения или диапазоны. @CREATE должен использоваться, что бы устанавливать некоторые переменные. Если что-то может быть изменено, пока вы находитесь в игре, должно быть установлено здесь. Обратите внимания, что некоторые переменные являются исключением из этого правила, например NAME или ID, но, как правило, переменные луче поместить в эту секцию, если вы не уверенны. Если NAME будет назначено в этой секции, то имя будет установлено точно, как вы напишете без предлога "a" или "an".
И так, после строки @CREATE мы установим hitpoints для этого меча. Поскольку это большой и сильный меч, то он должен быть достаточно крепким, для долгого использования.
HITPOINTS=115,150
Обратите внимание, что мы снова используем диапазон. Однако на сей раз это только ради удовольствия. Мы можем также легко установить на точную цифру. В отличии от DAM, это рассчитывается сразу же. Как только это назначено, сфера придумает случайное число в диапазоне между 115 и 150.
Теперь у вас есть созданное оружие, называемое claymore. Если вы записывали за этим руководством правильно (а если не записывали, то завтра вы уже всё забудете), то скрипт должен выглядеть примерно так:
[ITEMDEF i_claymore]
ID=013b7
NAME=claymore
TYPE=t_weapon_sword
WEIGHT=14
SKILL=swordsmanship
DAM=15,43
REQSTR=50
TWOHANDS=Y
ON=@CREATE
HITPOINTS=115,150
Этот item будет работать прекрасно, но есть ещё очень много переменных, которые вы можете установить на item. Полный список переменных читайте в энциклопедии переменные item'ов.