Так вот, каждый такой блок и есть предмет. Между каким-нибудь блоком вставляем свой. Допустим, Вы хотите создать новую саблю. Тогда вставляете вот такой блок, изменяя характеристики на нужные:
makeref(itm,Items[n]); itm.id = "My111"; -это ID вашего предмета itm.groupID = BLADE_ITEM_TYPE; -группа предмета(сабля, пистолет или т.п) itm.name = "itmname_blade5";-имя предмета, при котором будет создаваться его название; itm.describe = "itmdescr_blade5";-описание в дальнейшем (советую name и describe писать такую же, как и id; itm.folder = "items";-папка с моделью (не трогать) itm.model = "blade5";-модель предмета itm.picIndex = 9;-иконка предмета 112х112 (об этом в другой теме) itm.picTexture = "ITEMS_6";-имя текстуры 512х512, в которой хранится иконка 112х112; // boal 19.01.2004 --> itm.price = 80;-средняя цена; itm.Weight = 1;-вес; // boal 19.01.2004 <-- itm.dmg_min = 3.0;-мин урон; itm.dmg_max = 35.0;-макс урон; itm.piercing = 25;-защита itm.minlevel = 0;-мин уровень для нахождения; itm.rare = 0.1;-редкость предмета; itm.block = 5;-блокировка; itm.param.time = 0.1;-это не трогаем; itm.param.colorstart = argb(64, 64, 64, 64);-тоже не трогаем; itm.param.colorend = argb(0, 32, 32, 32);-не трогаем; itm.FencingType = "FencingLight";-вид (легкое, среднее или тяжелое оружие) itm.ItemType = "WEAPON";-тип (оружие, квестовый) n++;
Вот описываю, что означают характеристики у других предметов:
Далее сюда: PROGRAM\Items\items.h ищем строку #define ITEMS_QUANTITY 224 // не забываем менять номер число 224 изменяем на 1 больше. С каждым добавлением нового предмета, это число необходимо увеличивать на 1. Т.е: #define ITEMS_QUANTITY 225 // не забываем менять номер
Далее, что нужно сделать, что бы добавить к предмету плюсы к различным скиллам? Открываем файл PROGRAM\characters\RPGUtilite.c
находим строки:
int GetCharacterSkillSimple(ref _refCharacter, string skillName) { if( !CheckAttribute(_refCharacter,"Skill."+skillName) ) return 1; int skillN = sti(_refCharacter.Skill.(skillName));
по примеру любой вещицы вставляем свой предмет. Примечание: не будет работать, если вы прибавку в скиллах пропишете пистолету, сабли ну и т.д. Работает только на типах колец и квестовых.
Я надеюсь обьяснять, как по английски пишется характеритика та или иная-не надо, так как все есть в примерах. Особо непонимающим, напишу ОТДЕЛЬНО.
и между вот этих строк(они ниже): irand = rand(3); if (irand == 1) {TakeNItems(ch,"blade5", Rand(2)+1);} // кинжал irand = rand(3); if (irand == 1) {TakeNItems(ch,"blade1", Rand(2)+1);}
вставляем свои: irand = rand(3); -в скобках прописываем число: это ранг, с достижением которого предмет поступит в продажу; if (irand == 1) {TakeNItems(ch,"My111", Rand(2)+1);} // Моя сабля
Теперь давайте разберемся с описанием нашеего предмета:
советую в самом конце файла прописать: //////////////мои предметы////////////// и на примере описаний других предметов вставляем свое. Пример:
itmname_KnifeAztec {Обсидиановый церемониальный нож} itmdescr_KnifeAztec { Обсидиановый церемониальный нож. Судя по всему, использовался в жертвоприношениях как орудие убийства. (-30 пистолеты, -20 во все остальные типы оружия) }
itmname_My111 {Сабля из Росии} -здесь прописываем имя (обязательно в { } ) itmdescr_My111 { Моя сабля! Я ее добавил сам! }
Сохраняем файл и уходим!
Итак, мы разобрали, как создать собственный предмет, добавить его в продажу и подписать добавления к скиллам. Создание текстур и иконок для предметов я подробно опишу, но в другой теме.