Итак, создадим новый товар


Во-первых, откроем файл RESOURCE\INI\INTERFACES\pictures.ini
Ищем секцию:

[GOODS]

sTextureName = goods.tga - имя файла с изображениями товаров в директории RESOURCE\Textures\INTERFACES (без расширения .tx)
wTextureWidth = 1024 - ширина файла с изображениями товаров (в пикселях)
wTextureHeight = 512 - высота файла с изображениями товаров (в пикселях)

Далее идут значения местоположения отдельных картинок для каждого товара:
picture = Balls,128,256,256,384 и т.д.

Общий шаблон выглядит следующим образом:
picture = 'name','1','2','3','4'
'name' - ID товара, '1' - граница картинки товара слева, '2' - сверху, '3' - справа, '4' - снизу. (значения пишутся через запятую, без пробелов и ' ').

Ниже приведена таблица значений '1','2','3','4' для каждой картинки. Размер общего рисунка - 1024 x 1024 пикселя.

0
0
128
128
128
0
256
128
256
0
384
128
384
0
512
128
512
0
640
128
640
0
768
128
768
0
896
128
896
0
1024
128
0
128
128
256
128
128
256
256
256
128
384
256
384
128
512
256
512
128
640
256
640
128
768
256
768
128
869
256
869
128
1024
256
0
256
128
384
128
256
256
384
256
256
384
384
384
256
512
384
512
256
640
384
640
256
768
384
768
256
896
384
896
256
1024
384
0
384
128
512
128
384
256
512
256
384
384
512
384
384
512
512
512
384
640
512
640
384
768
512
768
384
869
512
869
384
1024
512
0
512
128
640
128
512
256
640
256
512
384
640
384
512
512
640
512
512
640
640
640
512
768
640
768
512
896
640
896
512
1024
640
0
640
128
768
128
640
256
768
256
640
384
768
384
640
512
768
512
640
640
768
640
640
768
768
768
640
869
768
869
640
1024
768
0
768
128
896
128
768
256
896
256
768
384
896
384
768
512
896
512
768
640
896
640
768
768
896
768
768
896
896
896
768
1024
896
0
896
128
1024
128
896
256
1024
256
896
384
1024
384
896
512
1024
512
896
640
1024
640
896
768
1024
768
896
869
1024
869
896
1024
1024

После того, как прописали картинку, открываем файлPROGRAM\STORE\initGoods.c
Существует дватипа товаров: сами товары и боеприпасы.

Значения полей для боеприпасов:

Goods[GOOD_BALLS].Name = "Balls"; - ID товара(тот, который вы написали в предыдущем фалйле) (ID обязательно должен быть заключён в " ".
Goods[GOOD_BALLS].Cost = 2; - стоимость единицы товара.
Goods[GOOD_BALLS].Weight = 3; - масса единицы товара в центнерах.
Goods[GOOD_BALLS].Units = 20; - ?
Goods[GOOD_BALLS].SpeedV0 = 1.0; - начальная скорость снаряда.
Goods[GOOD_BALLS].DamageHull = 10.0; - урон, наносимый снарядом корпусу корабля.
Goods[GOOD_BALLS].DamageRig = 5.0; - урон, наносимый снарядом парусам.
Goods[GOOD_BALLS].DamageCrew = 0.25; - урон, наносимый снарядом команде корабля.

Значения полей для товаров:

Goods[GOOD_SAILCLOTH].Name = "Sailcloth"; - ID товара(тот, который вы написали в предыдущем фалйле) (ID обязательно должен быть заключён в " ".
Goods[GOOD_SAILCLOTH].Weight = 3; - масса единицы товара в центнерах.
Goods[GOOD_SAILCLOTH].Cost = 3; - стоимость единицы товара.
Goods[GOOD_SAILCLOTH].Units = 1; - ?
Goods[GOOD_SAILCLOTH].Swim.Model = "roll_of_materials"; - модель плавающего товара, находится в папке RESOURCE\MODELS\SwimGoods
Goods[GOOD_SAILCLOTH].Swim.Time = 10; - время плавания товара до его потопления. Если персонаж его не подобрал в течении этого времени, товар тонет.

Шаблон для товара:
Goods[GOOD_'NAME']...
Вместо 'NAME' пишете ID товара большими буквами.

После того, как прописали характеристики товара, открываем файлPROGRAM\STORE\goods.h
Находим #define GOOD_OIL 26
Ниже описываем свой товар по такому шаблону:
#define GOOD_'ID' 'n+1' , где вместо 'ID' пишем ID своего товара большими буквами. 'n' - наибольшее числовое значение в секции идентифицирования товаров (начиная с #define GOOD_BALLS 0). К этому наибольшему значению добавляем 1 и записываем полученное число вместо 'n + 1'. Между 'ID' и 'n+1' долженбыть пробел!

После того, как товар в секции идентифицирования, открываем файлRESOURCE\INI\TEXTS\RUSSIAN\GoodsDescribe.txt

Спускаемся внизфайла и описываем свой товар по следующему шаблону:

'ID'        {'RusID'}
'ID'_descr
{
'txt'
}
Где 'ID' - ID вашего товара, 'RusID' - русское название, 'txt' - описание.

В описании боеприпасов возможно использование переменных:
#dDamageHull# - показывает урон, наносимый корпусу
#dDamageRig# - парусам
#f.2DamageCrew# - команде
Как альтернатива - просто написать эти значения обыкновеным текстом.

И это ещё не всё :).

Открываем в этой же папке файл common.ini
Находим секцию
; goods name strings, идём вниз этой секции.
Описываем товар по шаблону:
string = ID,"RusId"
где ID - ID вашего товара, RusID - название на русском языке.
RusId пишется с кавычками и отделяется от IDа не пробелом, а запятой

Далее в этой же папке открываем файлShipEatGood.txt

Идём вниз и пишем по шаблону:
seg_'ID' {'RusIDR'}
Дамаю, что такое 'ID', объяснять уже не надо, а вот 'RusIDR' - название товара в родительном падеже.

В файле SeaSection.txt, находящемся в этой же папки делаем то же, что и в предыдущем файле, только товар описываем выше строчки sea_exp_add {+%1 опыта}.
Hosted by uCoz