|
Создание нового итема
Автор: Неизвестен
Возможны 2 варианта
добавление предмета в вердату: Создание предмета с новым gump’ом, но с
присвоением этому предмету анимации от какого-нибудь другого (уже
находящегося в вердате) предмета, или создание полностью нового предмета
(с новой анимацией, gump’ом, рисунком, когда предмет лежит на
земле…)
Сначала рассмотрим вариант с присвоением
какой-нибудь стандартной анимации. Для этого нам понадобятся следующие
программы:
Первое, что мы делаем,
так это качаем все программы, устанавливаем их, настраиваем. Далее,
если есть рисунки gump’a и на земле, запускам Mulbuilder. Если таких
рисунков у нас нет, то рисуем их. (Важно помнить, что чтобы предмет
прорисовывался в игре как надо, пространство вокруг него должно быть
заполнено черным цветом).
В Mulbuilder’e жмем
File->New, затем два раза кликаем на Gears Anim, в открывшемся меню
жмем кнопку New. Затем два раза кликаем на появившемся объекте в
таблице.
Теперь начинаем по
порядку заполнять поля в открывшемся меню. 1) Name – Название предмета,
которое будет отображаться в Mulbuilder’e. 2) Item ID – Номер
свободного ID в вердате, который будет присвоен этому объекту. Чтобы
сей номер узнать, запускаем программу InsideUO, там кликаем на Artwork, и
выбираем менюшку Static Tile и начинаем кликать на стоящие рядом объекты.
Нам нужно найти свободные номера. Номера объектов отображаются внизу,
напротив строки Model No. Сначала идет десятеричное значение числа, потом,
в скобке после символов «0х» - шестнадцатеричное. Так вот, находим два
объекта, стоящих рядом, номера которых отличаются на число, большее чем
единицу, и из промежутка чисел, между двумя этими числами, берем любое
значение.
В моем случае я
использовал число 13800. 3) Gump ID – Аналогично, как искали номер
свободного ID для Item ID, ищем свободный Gump в том же InsideUO, только в
закладке Gumps. В моем случае, я использовал 50930. 4) В квадратике Art
жмем Load, и загружаем рисунок объекта, как он будет отображаться на
земле. 5) В квадратике Gump Male/Female загружаем рисунок предмета на
мужчине/женщине. Если все правильно сделано, то должно получиться нечто,
похожее на это.
Далее, переходим к
вкладышу Tiledata, и жмем на нужные нам кнопки (справа), и выбираем Layer,
в котором будет находится наш предмет. (при желании можно заполнить и
другие поля, но, имхо, это ненужно – все эти параметры можно будет
исправить в скрипте.) Вот список Layer’ов: Layers: 1 - One handed
weapon - Одноручное оружие. 2 - Two handed weapon, shield, or misc. -
Двуручное оружие, щит, и.т.д. 3 - Shoes - Ботинки 4 - Pants -
Штаны 5 - Shirt - Рубашка(футболка :) ) 6 - helmet/has - Шлем 7 -
Gloves - Перчатки 8 - ring - Кольцо 9 - Unused - Не используется
(?) 10 - Neck - Ошейник 11 - Hair - Волосы 12 - Waist (helped
apron) - Передник 13 - Torso (internal) (chest armor) - Туловище
(внутренняя часть – например, Chainmail) 14 - Bracelet - Браслет 15
- Unused (baking luggage, but baking luggage go to 21) - Не используется
(?) 16 - Facial Hair - Растительность на лице :)) Усы там, или
борода. 17 - Torso (middle) (sircoat, tunic, full apron, sash) -
Туловище (Средняя часть – например, туника, пояс через плечо…) 18 -
Earrings - Серьги. 19 - arm - Наручи 20 - bake (cloak) - Спина
(Плащ) 21 - baking luggage - Мусор от приготовления пищи… 22 - Torso
(more outer) (robe) - Туловище (Наружная часть – например, роба) 23 -
Legs (more outer) (skirt/kilt) - Поножи (Более наружная часть – например,
юбка/клетчатая юбка) 24 - Legs (internal) (put armor) - Поножи
(Внутренняя часть – например, Platemail Leggins) 25 - Mount (horse,
etc.) - Животное, на котором мы сидим - например, лошадь. 26 - NPC Buy
Restock container - это нам щас не нужно :) 27 - NPC Buy NO restock
containers - это нам щас не нужно :) 28 - NPC Sell container - это нам
щас не нужно :) 29 - bank box - это нам щас не нужно :)
Значит, как только мы
все это сделали, жмем кнопку save в этом окне. При желании можно и сам
файл куда-нибудь сохранить (File->Save). Далее, переходим к вкладышу
Anims. Там жмем кнопку Import Animation Dialog. В открывшемся окне, жмем
Gear (это, если нам нужна какая-нибудь оригинальная (обычная) одежда, или
оружие) и загружаем запрашиваемые файлы. Далее, находим анимации, с первой
по последнюю того предмета, изображение которого мы хотим приделать к
нашему новому предмету. В моем случае я использовал анимации от обычной
робы. Выделяем все эти анимации, затем, в поле, справа от которого
написано Items, а слева кнопка “>>”, вписываем число 175, и жмем эту
самую кнопку (“>>”).
Проверяем, совпадают ли
первая и последняя анимация в появившемся списке справа, с соответственно
первой и последней анимацией в списке слева (из тех, которые мы
выделяли.). Если все верно – жмем кнопку ОК. В моем случае это были
анимации номер 47075 по 47249. Возможно, покажется, что надо писать не 175
объектов, а 174, но это не так. Ради примера – между 3 и 6, включая эти
числа – 4 объекта, а не 3. Но, это я немного отвлекся :). Далее,
сохраняем это все дело. Нажимаем кнопку (в самом верху)
Original->Import All Essencial, ждем, пока прогрузится, затем жмем
Generate->All, и выбираем, куда сохранить файлы. Вот, вроде с файлами
разобрались. Теперь, как привязать этот объект к скрипту. Делается это
легко – создается новый объект с названием вот таким [Itemdef “ItemID”],
где “ItemID” (без кавычек) тот номер, который мы присвоили объекту (вроде,
надо писать в шестнадцатеричном формате, желательно перед этим число
ставить “0”(ноль).). В моем случае это выглядело так:
[ITEMDEF
035E8] DEFNAME=i_robe_magician NAME=Magicians Robe RESOURCES=16
i_cloth WEIGHT=3 TYPE=T_CLOTHING ARMOR=7 CATEGORY=SnaYpeR
Items SUBSECTION=Misc DESCRIPTION=Magicians
Robe SKILLMAKE=TAILORING 99.0, t_sewing_kit RESOURCES2=16 i_cloth,1
i_thread ON=@Create COLOR={856 858 859 85a} HITPOINTS={111
400}
Все, можно запускать
сервер, смотреть, что получилось :)
Так, теперь рассмотрим случай, когда
нужно создать полностью новый объект. Это дело мало чем отличается от
вышеописанного, кроме того, как мы будем вставлять в файл анимации. Сразу
хочу сказать, что сам я этого не делал, поэтому описание приведенное здесь
может быть не точным, т.к. 175 анимаций у меня не нашлось для этого дела,
и проверить, насколько верны мои догадки я не смог :) Будем
предполагать, что у нас уже есть картинки, с черным фоном, и вырезанными
частями (для тех частей предмета, которые будут закрываться телом
персонажа). Если они объединены(запакованы) в файл с расширением uop, то
следующую часть можно не читать. Ежели нет, то вам придется сделать
следующие действия. Перво-наперво, качаем программу UOANIM. Устанавливаем,
запускаем, жмем Add Animation. В появившемся окне вводим название объекта
(оно не важно, нужно оно только для использование внутри этой программы).
В поле block number по идее надо вводить номер свободной анимации, который
можно достать с помощью того же Import Animation Dialog в Mulbuilder’e, но
лично я не понял, зачем сие нужно. Имхо, вводить нужно так: 1 анимация –
block number 0, 2 анимация – block number 1, 3 анимация – block number 2,
и.т.д. Каждая анимация может содержать несколько картинок, которые к
данной анимации можно привязать, выделив эту анимацию, и нажав add image.
Как только все картинки вклеены, и распределены по анимациям, жмем кнопку
create patch, и выбираем, куда файл сохранять. Далее, запускаем
Mulbuilder. По началу, действуем точно так же, как и в первом случае,
когда мы делали объект с привязкой стандартной анимации. И вот, мы в меню
Animation Import (открывается она, после того, как мы в закладке anims
жмем кнопку Import Animation Dialog :) ). Там, жмем кнопку UOP, и
загружаем наш файл формата uop. Из появившихся слева анимаций начинаем
кнопкой “>>Selected” отправлять в правую часть анимации, следя за
тем, чтобы не напутать направления. Расшифровки направлений
такие: S – смотрит лицом вниз. SO – смотрит лицом
влево-вниз. O – смотрит лицом влево. NO – смотрит
лицом влево-вверх. N – Смотрит лицом вверх. Как только все
анимации перенесены, и все распределены как надо, жмем кнопку ОК. Затем,
Original->Import All Essencial, Generate->All. Скрипт пишется
аналогично предыдущему случаю.
Есть еще один способ
...
Автор:
Azzazin
Всем хочется
нового оружия :) Или хотя-бы сделать вид уникального (какого-нить
Драконьего Меча) оригинальным. Но обычно всё упирается в анимацию.
Рисовать новую - целая история :D выдрать имеющуюся - достаточно тяжелый
патчик. Так вот...
возможно сделать редирект анимации в anim.idx. Т.е., не добавляя новой
анимации (anim.mul), сделать ссылку на неё в индексном
файле.
Значит как это делается... 1.
Редирект в anim.idx. Для ентого существует замечатьльная прога : AnimIdxPatcher,
которая собственно копирует индексы блоков анимации на указаный номер. Но
стоит заметить годится прога токма для одежды/оружия/арморов и т.п... т.е.
анимацией начиная с нумера 400 (десятичное!). Прога проста в обращении.
Помещаем её рядом с файлом anim.idx, запускаем, указываем исходный номер
(например 649 - анимация лука) и новы (в примере - 655), незанятый номер
анимации(список занятых прилагается к программке). Собственно давим на
кнопку, и патчим файл (сам anim.idx... не забывайте бэкапить ;)
).
2. В чем вам приятней, например МулБилдере делаем новый Итем и
ГУМП. Номер Гумпа соответственно 50XXX и, если надо отличный женский
60XXX, где ХХХ номер "новой" анимации (в нашем примере 655).
3.
Мулбилдером в Тайлдате для нового Итема заполняем соответствующие поля...
Gump/Anim указываем новый номерок (в нашем примере 655). Делаем
Вердату.
4. Обскриптовываем это всё под свой любимый Эмулятор
:)
К примеру для Сферы это
будет выглядеть следующим образом: [ITEMDEF
02D87] DEFNAME=i_bow_new TYPE=T_WEAPON_BOW FLIP=1 SKILLMAKE=17.8
BOWCRAFT RESOURCES=2 I_LOG RESOURCES2=2 I_LOG,
i_cat_gut WEIGHT=5 DAM=9,21 //SPEED=20 SKILL=Archery REQSTR=20 TWOHANDS=Y CATEGORY=Provisions
-
Weapons SUBSECTION=Bows DESCRIPTION=Bow DUPELIST=02D88
TDATA3=i_arrow TDATA4=i_arrow_x
ON=@Create HITPOINTS={31
60}
[ITEMDEF 02D88] //New Bow DUPEITEM=02D87
5. Собственно всё... Кидаем пропатченный anim.mul, новую
Вердату и Тайлдату в папку с УО. Скрипт - в нашу Сферу. Запускаем всё и
радуемся. :D
*Плюсы данного способа - небольшой размер файлов.
Т.е. клиентам мы даем исправленый anim.idx (~220 кило в архиве) + патчик к
Вердате с Итемом и ГУМПом (3-7 килобайт в архиве). Всё. Несколько десятков
"новых" оружий весят у нас меньше полмегабайта :)
Сделаем Мир
лучше! :)
[AUTOR] |
Информация взята с www.uo-muls.web.ur.ru |
|
|
|
| |