FOnline
 Указатель Классы Функции Переменные Группы Страницы
Прототипы предметов

Прототипы предметов хранятся в текстовом виде в файлах в директории 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