Прототипы предметов хранятся в текстовом виде в файлах в директории Server/Proto/Items/.
Редактируются с помощью редактора объектов.
Файл items.lst содержит список файлов, содержащих данные о прототипах предметов. В составе SDK это файлы:
ammo.fopro
armor.fopro
container.fopro
door.fopro
drug.fopro
generic.fopro
grid.fopro
key.fopro
misc.fopro
wall.fopro
weapon.fopro
Каждый файл создан для хранения своего типа объектов, форматы прототипов каждого из типов объектов имеет различия.
Общие поля:
Pid | Номер прототипа (должен быть уникальным для всех типов объектов) |
Type | Определяет тип объекта |
PicMapName | Изображение на земле |
PicInvName | Изображение в инвентаре |
Flags | Флаги объекта |
SoundId | Идентификатор звука |
Material | Тип материала |
Примечание по поводу PicMapName и PicInvName:
В настоящий момент (ревизия 396) движок использует библиотеку DevIL ( http://openil.sourceforge.net/ ),
которая позволяет использовать графические файлы следующих форматов:
.bmp, .cut, .dds, .doom, .hdr, .gif, .ico, .jpg, .lbm, .mdl, .pal, .pbm, .pcd, .pcx, .pgm, .pic, .png, .ppm, .psd, .psp, .raw, .sgi, .tga
Исключения:
.jp2, .exr, .mng, .tif, .lcms, .utx, .wdp
( http://openil.sourceforge.net/about.php )
Кроме того движок так же может использовать графику таких игр как:
-
Fallout 1/2 (.frm)
-
Fallout Tactics (.spr, .til, .zar)
-
Arcanum (.art)
-
Boldur's Gate, Icewind Dale, Planescape Torment (.mos, .bam)
Так же можно использовать текстовый формат fofrm, данный вормат может к примеру объединить несколько различных графических файлов в анимацию или добавить изображению сдвиги, если исходный формат файла этого не позволяет или его редактирование является трудоемким.
Имена файлов могут содержать дополнительные параметры (все параметры можно комбинировать):
Формат SPR:
-
Для загрузки определенной анимации из SPR Файлов можно указать ее имя после знака $ в имени файла, например: Mutant$CrouchAttackClubSwing.spr
Без указания берется первая анимация
-
Влияние на цвета:
Что бы сделать смещение по цвету укажите в параметрах имени файла ('$') необходимые значения.
Формат: fileName$[index,r,g,b]animName.spr (смещений [...] может быть сколько угодно)
где index - номер части тела (0 - разное, 1 - кожа, 2 - волосы, 3 - броня, -1 - все слои);
r,g,b - смещения по цвету для каждой компоненты, могут быть отрицательными.
Пример: someSprite$[2,50,-30,-20]anim1.spr - загрузить спрайт someSprite.spr, c анимацией anim1 и смещением по цвету волос на RGB (50,-30,-20).
Формат ART:
-
Выбор палитры: номер палитры указывается после знака $
Пример: dfmbnsba$1.art
-
Включение прозрачности элементов палитры (alpha = max(R, G, B)): $t
-
Зеркальное отражение: $v - вертикальное отражение, $h - горизонтальное отражение
-
fx[-y] - указывает номера загружаемых кадров(-а) и их направление, пример:
anim1$f3-0.art - значит будут загружено 4 кадра 3, 2, 1, 0
Формат BAM:
-
Для формата BAM есть возможность указания номера воспроизводимого цикла и кадра - для указания номера цикла в параметрах имени файла ('$') укажите его индекс, а для указания кадра добавьте прочерк и индекс кадра. Примеры:
fileName$5.bam - загрузить fileName.bam с кадрами под циклом номер 5;
fileName$1-4.bam - загрузить fileName.bam с кадром номер 4 под циклом номер 1;
fileName.bam - загрузить fileName.bam с кадрами под циклом номер 0.
Примечание:
Если вы используете параметры в именах графических файлов, вам так же необходимо добавить их в файл HashNames.lst находящийся в папке Data клиента.
Формат записи: [любое число] [имя файла] [конец строки].
Например:
0 art\scenery\BrazureFire$t.ART
0 art\scenery\BrazureFire$t3.ART