2DFX (Секция RW) — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
(Type 7 - Road Signs)
(Ссылки)
 
(не показаны 15 промежуточных версий 1 участника)
Строка 12: Строка 12:
  
 
Заголовок состоит из 20 байтов.
 
Заголовок состоит из 20 байтов.
  0x00 | RwV3d offset // Координаты вектора (xyz)
+
  0x00 | float[3] offset // Координаты вектора (xyz)
  0x0C | DWORD type  // Тип 2DFX
+
  0x0C | DWORD   type  // Тип 2DFX
  0x10 | DWORD size  // Размер данных
+
  0x10 | DWORD   size  // Размер данных
  
===Type 0 - Light===
+
===Тип 0 - Источник света===
  
 
Этот тип используется, чтобы создать источник света. Размер может составлять 76 или 80 байт.
 
Этот тип используется, чтобы создать источник света. Размер может составлять 76 или 80 байт.
 
*При размере 76 байт
 
*При размере 76 байт
  0x00 | RwRGBA color                  // Цвет. Значение alpha обычно равно 200
+
  0x00 | BYTE[4] color                  // Цвет. Значение alpha обычно равно 200
  0x04 | float coronaFarClip          // Дистанция видимости короны
+
  0x04 | float   coronaFarClip          // Дистанция видимости короны
  0x08 | float pointlightRange        // Радиус точечного источника света (повершиноое освещение моделей, у которых отсутсвует прелит)
+
  0x08 | float   pointlightRange        // Радиус точечного источника света (повершиноое освещение моделей, у которых отсутсвует прелит)
  0x0C | float coronaSize              // Размер короны (высота = ширина)
+
  0x0C | float   coronaSize              // Размер короны (высота = ширина)
  0x10 | float shadowSize              // Размер тени (высота = ширина)
+
  0x10 | float   shadowSize              // Размер тени (высота = ширина)
  0x14 | BYTE   coronaShowMode          // Тип отображения короны (1-13)
+
  0x14 | BYTE   coronaShowMode          // Тип отображения короны (1-13)
  0x15 | BYTE   coronaEnableReflection  // Включить отражение короны на мокром асфальте
+
  0x15 | BYTE   coronaEnableReflection  // Включить отражение короны на мокром асфальте
  0x16 | BYTE   coronaFlareType        // Тип бликов для короны (0-1-2)
+
  0x16 | BYTE   coronaFlareType        // Тип бликов для короны (0-1-2)
  0x17 | BYTE   shadowColorMultiplier  // Интенсивность тени
+
  0x17 | BYTE   shadowColorMultiplier  // Интенсивность тени
  0x18 | BYTE   flags1                  // Набор флагов 1
+
  0x18 | BYTE   flags1                  // Набор флагов 1
  0x19 | char   coronaTexName[24]      // Название текстуры короны в particle.txd
+
  0x19 | char   coronaTexName[24]      // Название текстуры короны в particle.txd
  0x31 | char   shadowTexName[24]      // Название текстуры тени в particle.txd
+
  0x31 | char   shadowTexName[24]      // Название текстуры тени в particle.txd
  0x49 | BYTE   shadowZDistance        // Максимальное расстояние для отрисовки тени
+
  0x49 | BYTE   shadowZDistance        // Максимальное расстояние для отрисовки тени
  0x4A | BYTE   flags2                  // Набор флагов 2
+
  0x4A | BYTE   flags2                  // Набор флагов 2
  0x4B | BYTE   padding
+
  0x4B | BYTE   padding
 
*При размере 80 байт
 
*При размере 80 байт
  0x00 | RwRGBA color                  // Цвет. Значение alpha обычно равно 200
+
  0x00 | BYTE[4] color                  // Цвет. Значение alpha обычно равно 200
  0x04 | float coronaFarClip          // Дистанция видимости короны
+
  0x04 | float   coronaFarClip          // Дистанция видимости короны
  0x08 | float pointlightRange        // Радиус точечного источника света (повершиноое освещение моделей, у которых отсутсвует прелит)
+
  0x08 | float   pointlightRange        // Радиус точечного источника света (повершиноое освещение моделей, у которых отсутсвует прелит)
  0x0C | float coronaSize              // Размер короны (высота = ширина)
+
  0x0C | float   coronaSize              // Размер короны (высота = ширина)
  0x10 | float shadowSize              // Размер тени (высота = ширина)
+
  0x10 | float   shadowSize              // Размер тени (высота = ширина)
  0x14 | BYTE   coronaShowMode          // Тип отображения короны (1-13)
+
  0x14 | BYTE   showMode                // Тип отображения (1-13)
  0x15 | BYTE   coronaEnableReflection  // Включить отражение короны на мокром асфальте
+
  0x15 | BYTE   coronaEnableReflection  // Включить отражение короны на мокром асфальте
  0x16 | BYTE   coronaFlareType        // Тип бликов для короны (0-1-2)
+
  0x16 | BYTE   coronaFlareType        // Тип бликов для короны (0-1-2)
  0x17 | BYTE   shadowColorMultiplier  // Интенсивность тени
+
  0x17 | BYTE   shadowColorMultiplier  // Интенсивность тени
  0x18 | BYTE   flags1                  // Набор флагов 1
+
  0x18 | BYTE   flags1                  // Набор флагов 1
  0x19 | char   coronaTexName[24]      // Название текстуры короны в particle.txd
+
  0x19 | char   coronaTexName[24]      // Название текстуры короны в particle.txd
  0x31 | char   shadowTexName[24]      // Название текстуры тени в particle.txd
+
  0x31 | char   shadowTexName[24]      // Название текстуры тени в particle.txd
  0x49 | BYTE   shadowZDistance        // Максимальное расстояние для отрисовки тени
+
  0x49 | BYTE   shadowZDistance        // Максимальное расстояние для отрисовки тени
  0x4A | BYTE   flags2                  // Набор флагов 2
+
  0x4A | BYTE   flags2                  // Набор флагов 2
  0x4B | BYTE   lookDirection_x        // Вектор определяет, из какой стороны видно источник света
+
  0x4B | BYTE[3] viewVector              // Вектор (xyz) определяет, из какой стороны видно источник света (xyz). Используется игрой только при включенном флаге CHECK_VIEW_VECTOR
0x4C | BYTE  lookDirection_y        // ...
+
  0x4E | BYTE[2] padding
0x4D | BYTE  lookDirection_z        // ...
+
  0x4E | BYTE   padding[2]
+
 
Набор флагов 1 (flags1)
 
Набор флагов 1 (flags1)
 
   1 CORONA_CHECK_OBSTACLES            // Если между короной и камерой есть какие-либо обьекты, корона отрисована не будет
 
   1 CORONA_CHECK_OBSTACLES            // Если между короной и камерой есть какие-либо обьекты, корона отрисована не будет
Строка 62: Строка 60:
 
   32 AT_DAY                            // Работает днём
 
   32 AT_DAY                            // Работает днём
 
   64 AT_NIGHT                          // Работает ночью
 
   64 AT_NIGHT                          // Работает ночью
  128 BLINKING1                        // Мигает
+
  128 BLINKING1                        // Мигает (почти незаметно)
 
Набор флагов 2 (flags2)
 
Набор флагов 2 (flags2)
 
   1 CORONA_ONLY_FROM_BELOW            // Корону видно только снизу (когда высота позиции камеры меньше высоты источника света)
 
   1 CORONA_ONLY_FROM_BELOW            // Корону видно только снизу (когда высота позиции камеры меньше высоты источника света)
   2 BLINKING2                          // Мигает
+
   2 BLINKING2                          // Мигает (очень быстро)
 
   4 UDPDATE_HEIGHT_ABOVE_GROUND        // Обновлять значение дистанции от короны до земли (используется для создания отражения короны)
 
   4 UDPDATE_HEIGHT_ABOVE_GROUND        // Обновлять значение дистанции от короны до земли (используется для создания отражения короны)
   8 CHECK_DIRECTION                    // Работает только если камера занимает определённую позицию (вектор lookDirection)
+
   8 CHECK_VIEW_VECTOR                  // Работает только если камера занимает определённую позицию (вектор lookDirection)
  16 BLINKING3                          // Мигает
+
  16 BLINKING3                          // Мигает (рандомно)
 +
Типы отображения (showMode)
 +
  0 DEFAULT
 +
  1 RANDOM_FLASHING
 +
  2 RANDOM_FLASHIN_ALWAYS_AT_WET_WEATHER
 +
  3 LIGHTS_ANIM_SPEED_4X              // Используется на модели 10 green bottles. Огни поочередно включаются-выключаются.
 +
  4 LIGHTS_ANIM_SPEED_2X              // Используется на небоскребах в San Fierro
 +
  5 LIGHTS_ANIM_SPEED_1X
 +
  6
 +
  7 TRAFFICLIGHT
 +
  8 TRAINCROSSLIGHT
 +
  9                                    // Не работает (источник света постоянно выключен)
 +
10 AT_RAIN_ONLY                      // Включается только в дождливую погоду
 +
11                                    // 5с - вкл., 5с - выкл.
 +
12                                    // 6с - вкл., 4с - выкл.
 +
13                                    // 6с - вкл., 4с - выкл.
  
===Type 1 - Particle Effects===
+
===Тип 1 - Партикл-эффект===
 
Этот тип используется для эффекта частиц. Состоит из 24 байтов.
 
Этот тип используется для эффекта частиц. Состоит из 24 байтов.
 
  0x00 | char particleName[24] // Имя эффекта частиц
 
  0x00 | char particleName[24] // Имя эффекта частиц
 
Имена эффектов частиц присутствуют в файле effect.fxp.
 
Имена эффектов частиц присутствуют в файле effect.fxp.
  
===Type 3 - PEDs===
+
===Тип 3 - Аттрактор пешеходов===
 
PED секция состоит из 56 байтов. Используется для появления пешеходов (Например на стульях, в магазинах, на скамейках и др..)
 
PED секция состоит из 56 байтов. Используется для появления пешеходов (Например на стульях, в магазинах, на скамейках и др..)
  4b - INT32      - Тип поведения (1 - сидит ; 5 - стоит)
+
0x00 | BYTE        eventType          // Тип поведения
  36b - VECTOR3[3]  - Вращение (right, top, at)
+
  0x01 | BYTE[3]     padding
  8b - CHAR[8]    - Имя внешнего скрипта
+
  0x04 | float[3][3] rotation            // Вращение (right, top, at)
  4b - INT32      - Вероятность появления пешехода
+
0x28 | char[8]    scriptName          // Имя внешнего скрипта
  1b - BYTE        - Неизвестно
+
0x30 | BYTE        existingProbability // Вероятность появления пешехода
  1b - BYTE        - Не используется
+
0x31 | BYTE[3]    padding
  1b - BYTE        - Неизвестно
+
0x34 | BYTE        unknown1
  1b - BYTE        - Не используется
+
0x35 | BYTE        padding
 +
0x36 | BYTE        unknown2
 +
0x37 | BYTE        padding
  
===Type 4 - Sun Flare===
+
Тип поведения(eventType)
 +
0 PED_ATM_ATTRACTOR            // Пед использует банкомат в дневное время
 +
1 PED_SEAT_ATTRACTOR          // Пед сидит на лавке в дневное время
 +
2 PED_STOP_ATTRACTOR          // Пед стоит в дневное время
 +
3 PED_PIZZA_ATTRACTOR          // Пед стоит и уходит
 +
4 PED_SHELTER_ATTRACTOR        // Пед стоит, если идёт дождь, и уходит, если дождя нет
 +
5 PED_TRIGGER_SCRIPT_ATTRACTOR // Использование скриптового сценария: COPSIT, COPLOOK, BROWSE, DANCER, BARGUY, PEDROUL, PEDCARD, PEDSLOT, STRIPW, STRIPM
 +
6 PED_LOOK_AT_ATTRACTOR        // Пед стоит и уходит
 +
7 PED_SCRIPTED_ATTRACTOR      // Приводит к вылету игры
 +
8 PED_PARK_ATTRACTOR          // Пед лежит и уходит после 6и часов
 +
9 PED_STEP_ATTRACTOR          // Пед сидит на ступеньках у дома
 +
 
 +
===Тип 4 - Солнечный блик===
  
 
Этот тип используется для создания бликов солнца на обьекте (в виде корон). Данный тип использует только данные из заголовка (позиция).
 
Этот тип используется для создания бликов солнца на обьекте (в виде корон). Данный тип использует только данные из заголовка (позиция).
  
===Type 6 - EnEx маркеры===
+
===Тип 6 - Система "Вход-выход"===
  
 
Тип может вызвать вылеты в игре! Используется например в модели ''barrio3b_lae.dff'.
 
Тип может вызвать вылеты в игре! Используется например в модели ''barrio3b_lae.dff'.
Строка 103: Строка 130:
 
   4b - INT32    - [http://gtamodding.ru/wiki/IPL#.D0.A6.D0.B2.D0.B5.D1.82.D0.B0_.D0.BD.D0.B5.D0.B1.D0.B0_ENEX_.D1.81.D0.B5.D0.BA.D1.86.D0.B8.D0.B8 Цвет неба]
 
   4b - INT32    - [http://gtamodding.ru/wiki/IPL#.D0.A6.D0.B2.D0.B5.D1.82.D0.B0_.D0.BD.D0.B5.D0.B1.D0.B0_ENEX_.D1.81.D0.B5.D0.BA.D1.86.D0.B8.D0.B8 Цвет неба]
  
===Type 7 - Road Signs===
+
===Тип 7 - Дорожный указатель===
 
Этот тип создаёт текст в 3d-мире. Размер составляет 88 байтов.
 
Этот тип создаёт текст в 3d-мире. Размер составляет 88 байтов.
 
  0x00 | RwV2d  size        // Масштаб (xy)
 
  0x00 | RwV2d  size        // Масштаб (xy)
Строка 109: Строка 136:
 
  0x14 | WORD  flags      // Флаги
 
  0x14 | WORD  flags      // Флаги
 
  0x16 | RwChar text[16][4] // Текст (4 строки)
 
  0x16 | RwChar text[16][4] // Текст (4 строки)
''Флаги (flags)''
+
'''Флаги (flags)'''
[[Биты 0-1 - Количество используемых строк]]
+
 
 +
''Биты 0-1 - Количество используемых строк''
 
  0 - 4 строки
 
  0 - 4 строки
 
  1 - 1 строка
 
  1 - 1 строка
 
  2 - 2 строки
 
  2 - 2 строки
 
  3 - 3 строки
 
  3 - 3 строки
[[Биты 2-3 - Количество символов в строке]]
+
''Биты 2-3 - Количество символов в строке''
 
  0 - 16 символов
 
  0 - 16 символов
 
  1 - 2 символа
 
  1 - 2 символа
 
  2 - 4 символа
 
  2 - 4 символа
 
  3 - 8 символов
 
  3 - 8 символов
[[Биты 4-5 - Цвет текста]]
+
''Биты 4-5 - Цвет текста''
 
  0 - 0xFFFFFFFF (белый)
 
  0 - 0xFFFFFFFF (белый)
 
  1 - 0xFF000000 (чёрный)
 
  1 - 0xFF000000 (чёрный)
Строка 127: Строка 155:
 
Строки могут начинаться с таких символов, как <code><</code>, <code>^</code> и <code>></code>; также символ <code>_</code> используется вместо пробела.
 
Строки могут начинаться с таких символов, как <code><</code>, <code>^</code> и <code>></code>; также символ <code>_</code> используется вместо пробела.
  
===Type 8 - Slotmachine-wheels===
+
===Тип 8 - Колесо игрового автомата===
  
 
Это игровые автоматы.
 
Это игровые автоматы.
Строка 136: Строка 164:
 
Положение индекса это положение колеса игрового автомата. Может быть, позицией можно управлять через SCM.
 
Положение индекса это положение колеса игрового автомата. Может быть, позицией можно управлять через SCM.
  
===Type 9===
+
===Тип 9 - Укрытие===
  
Размер равен 12 байтам. Чаще всего используется в 2DFX секциях большого размера. Возможно является каким-то разделителем.
+
Этот тип определяет места на карте, в которых можно спрятаться (может использоваться педами при перестрелке).
 
Стурктура:
 
Стурктура:
  
  4b - FLOAT - X
+
  4b - FLOAT - Позиция X
  4b - FLOAT - Y
+
  4b - FLOAT - Позиция Y
  4b - INT32 -
+
  4b - INT32 - Тип укрытия
 
+
===Type 10 - Escalators===
+
  
 +
===Тип 10 - Эскалатор===
 
Этот тип относится к эскалаторам. Размер равен 40 байтам.
 
Этот тип относится к эскалаторам. Размер равен 40 байтам.
 
+
  0x00 | RwV3d  bottom    // Нижняя часть эскалатора (xyz)
  12b - FLOAT[3] - Нижняя часть эскалатора (xyz)
+
  0x0С | RwV3d  top      // Верхняя часть эскалатора (xyz)
  12b - FLOAT[3] - Верхняя часть эскалатора (xyz)
+
  0x18 | RwV3d  end      // Конечная точка эскалатора (точка Z должна быть наверху, если эскалатор  
  12b - FLOAT[3] - Конечная точка эскалатора (точка Z должна быть наверху, если эскалатор едет вверх,  
+
                        // едет вверх, если вниз, то на нижней позиции эскалатора)
                  если вниз, то на нижней позиции эскалатора)
+
0x24 | DWORD direction // Направление движения (0 - Вниз, 1 - Вверх)
  4b - DWORD   - Дирекция движения (0/1) (Вниз/Вверх)
+
 
+
Модели эскалаторов должны быть расположены через бинарные IPL файлы (То есть те, которые скомпилированы в двоичный вид и находятся в .img файле). Информация о скорости движения эскалатора находится в .exe файле.
+
  
 
== Ссылки ==
 
== Ссылки ==
 
[http://gtamaps.net/forum/index.php?showtopic=13978 Статья о том, как создать эскалатор + скрипт]
 
[http://gtamaps.net/forum/index.php?showtopic=13978 Статья о том, как создать эскалатор + скрипт]
 +
 +
[http://gtaforums.com/topic/576214-tutsa-creating-2dfx-for-your-models/ Создание 2dfx с помощью 2dfx tool]
  
 
[[Категория:GTA SA]]
 
[[Категория:GTA SA]]

Текущая версия на 23:16, 18 июля 2014

Секция RenderWare
2dfx
0x0253F2F8


2dfx - одна из секции в RW. В GTA SA используется для расположения света, эффектов частиц и прочего. Предыдущие игры серии (а также GTA 4) использует 2dfx в IDE файлах.


Содержание

Заголовок

Секция 2dfx начинается с 4рёх байта DWORD, в котором указана информация о количестве используемых записей в данной секции.

Записи

Заголовок состоит из 20 байтов.

0x00 | float[3] offset // Координаты вектора (xyz)
0x0C | DWORD    type   // Тип 2DFX
0x10 | DWORD    size   // Размер данных

Тип 0 - Источник света

Этот тип используется, чтобы создать источник света. Размер может составлять 76 или 80 байт.

  • При размере 76 байт
0x00 | BYTE[4] color                   // Цвет. Значение alpha обычно равно 200
0x04 | float   coronaFarClip           // Дистанция видимости короны
0x08 | float   pointlightRange         // Радиус точечного источника света (повершиноое освещение моделей, у которых отсутсвует прелит)
0x0C | float   coronaSize              // Размер короны (высота = ширина)
0x10 | float   shadowSize              // Размер тени (высота = ширина)
0x14 | BYTE    coronaShowMode          // Тип отображения короны (1-13)
0x15 | BYTE    coronaEnableReflection  // Включить отражение короны на мокром асфальте
0x16 | BYTE    coronaFlareType         // Тип бликов для короны (0-1-2)
0x17 | BYTE    shadowColorMultiplier   // Интенсивность тени
0x18 | BYTE    flags1                  // Набор флагов 1
0x19 | char    coronaTexName[24]       // Название текстуры короны в particle.txd
0x31 | char    shadowTexName[24]       // Название текстуры тени в particle.txd
0x49 | BYTE    shadowZDistance         // Максимальное расстояние для отрисовки тени
0x4A | BYTE    flags2                  // Набор флагов 2
0x4B | BYTE    padding
  • При размере 80 байт
0x00 | BYTE[4] color                   // Цвет. Значение alpha обычно равно 200
0x04 | float   coronaFarClip           // Дистанция видимости короны
0x08 | float   pointlightRange         // Радиус точечного источника света (повершиноое освещение моделей, у которых отсутсвует прелит)
0x0C | float   coronaSize              // Размер короны (высота = ширина)
0x10 | float   shadowSize              // Размер тени (высота = ширина)
0x14 | BYTE    showMode                // Тип отображения (1-13)
0x15 | BYTE    coronaEnableReflection  // Включить отражение короны на мокром асфальте
0x16 | BYTE    coronaFlareType         // Тип бликов для короны (0-1-2)
0x17 | BYTE    shadowColorMultiplier   // Интенсивность тени
0x18 | BYTE    flags1                  // Набор флагов 1
0x19 | char    coronaTexName[24]       // Название текстуры короны в particle.txd
0x31 | char    shadowTexName[24]       // Название текстуры тени в particle.txd
0x49 | BYTE    shadowZDistance         // Максимальное расстояние для отрисовки тени
0x4A | BYTE    flags2                  // Набор флагов 2
0x4B | BYTE[3] viewVector              // Вектор (xyz) определяет, из какой стороны видно источник света (xyz). Используется игрой только при включенном флаге CHECK_VIEW_VECTOR
0x4E | BYTE[2] padding

Набор флагов 1 (flags1)

  1 CORONA_CHECK_OBSTACLES            // Если между короной и камерой есть какие-либо обьекты, корона отрисована не будет
  2 FOG_TYPE                          // Определяет тип тумана для точечного источника света
  4 FOG_TYPE                          // Определяет тип тумана для точечного источника света
  8 WITHOUT_CORONA                    // Не создавать корону
 16 CORONA_ONLY_AT_LONG_DISTANCE      // Корону видно только издалека
 32 AT_DAY                            // Работает днём
 64 AT_NIGHT                          // Работает ночью
128 BLINKING1                         // Мигает (почти незаметно)

Набор флагов 2 (flags2)

 1 CORONA_ONLY_FROM_BELOW             // Корону видно только снизу (когда высота позиции камеры меньше высоты источника света)
 2 BLINKING2                          // Мигает (очень быстро)
 4 UDPDATE_HEIGHT_ABOVE_GROUND        // Обновлять значение дистанции от короны до земли (используется для создания отражения короны)
 8 CHECK_VIEW_VECTOR                  // Работает только если камера занимает определённую позицию (вектор lookDirection)
16 BLINKING3                          // Мигает (рандомно)

Типы отображения (showMode)

 0 DEFAULT
 1 RANDOM_FLASHING
 2 RANDOM_FLASHIN_ALWAYS_AT_WET_WEATHER
 3 LIGHTS_ANIM_SPEED_4X               // Используется на модели 10 green bottles. Огни поочередно включаются-выключаются.
 4 LIGHTS_ANIM_SPEED_2X               // Используется на небоскребах в San Fierro
 5 LIGHTS_ANIM_SPEED_1X
 6
 7 TRAFFICLIGHT
 8 TRAINCROSSLIGHT
 9                                    // Не работает (источник света постоянно выключен)
10 AT_RAIN_ONLY                       // Включается только в дождливую погоду
11                                    // 5с - вкл., 5с - выкл.
12                                    // 6с - вкл., 4с - выкл.
13                                    // 6с - вкл., 4с - выкл.

Тип 1 - Партикл-эффект

Этот тип используется для эффекта частиц. Состоит из 24 байтов.

0x00 | char particleName[24] // Имя эффекта частиц

Имена эффектов частиц присутствуют в файле effect.fxp.

Тип 3 - Аттрактор пешеходов

PED секция состоит из 56 байтов. Используется для появления пешеходов (Например на стульях, в магазинах, на скамейках и др..)

0x00 | BYTE        eventType           // Тип поведения
0x01 | BYTE[3]     padding
0x04 | float[3][3] rotation            // Вращение (right, top, at)
0x28 | char[8]     scriptName          // Имя внешнего скрипта
0x30 | BYTE        existingProbability // Вероятность появления пешехода
0x31 | BYTE[3]     padding
0x34 | BYTE        unknown1
0x35 | BYTE        padding
0x36 | BYTE        unknown2
0x37 | BYTE        padding

Тип поведения(eventType)

0 PED_ATM_ATTRACTOR            // Пед использует банкомат в дневное время
1 PED_SEAT_ATTRACTOR           // Пед сидит на лавке в дневное время
2 PED_STOP_ATTRACTOR           // Пед стоит в дневное время
3 PED_PIZZA_ATTRACTOR          // Пед стоит и уходит
4 PED_SHELTER_ATTRACTOR        // Пед стоит, если идёт дождь, и уходит, если дождя нет
5 PED_TRIGGER_SCRIPT_ATTRACTOR // Использование скриптового сценария: COPSIT, COPLOOK, BROWSE, DANCER, BARGUY, PEDROUL, PEDCARD, PEDSLOT, STRIPW, STRIPM
6 PED_LOOK_AT_ATTRACTOR        // Пед стоит и уходит
7 PED_SCRIPTED_ATTRACTOR       // Приводит к вылету игры
8 PED_PARK_ATTRACTOR           // Пед лежит и уходит после 6и часов
9 PED_STEP_ATTRACTOR           // Пед сидит на ступеньках у дома

Тип 4 - Солнечный блик

Этот тип используется для создания бликов солнца на обьекте (в виде корон). Данный тип использует только данные из заголовка (позиция).

Тип 6 - Система "Вход-выход"

Тип может вызвать вылеты в игре! Используется например в модели barrio3b_lae.dff'.

 4b - FLOAT    - Угол поворота enter-маркера (относительно обьекта) (всегда 0 ?)
 4b - FLOAT    - Радиус приближения к маркеру, X
 4b - FLOAT    - Радиус приближения к маркеру, Y
 12b - FLOAT[3]- Позиция расположения exit-маркера (офсет относительно обьекта) (всегда 0 ?)
 4b - FLOAT    - Угол поворота exit-маркера (относительно обьекта) (всегда 0 ?)
 4b - INT32    - Номер интерьера
 4b - INT32    - Флаги?
 8b - CHAR[8]  - Название интерьера
 4b - INT32    - Цвет неба

Тип 7 - Дорожный указатель

Этот тип создаёт текст в 3d-мире. Размер составляет 88 байтов.

0x00 | RwV2d  size        // Масштаб (xy)
0x08 | RwV3d  rotation    // Поворот (xyz)
0x14 | WORD   flags       // Флаги
0x16 | RwChar text[16][4] // Текст (4 строки)

Флаги (flags)

Биты 0-1 - Количество используемых строк

0 - 4 строки
1 - 1 строка
2 - 2 строки
3 - 3 строки

Биты 2-3 - Количество символов в строке

0 - 16 символов
1 - 2 символа
2 - 4 символа
3 - 8 символов

Биты 4-5 - Цвет текста

0 - 0xFFFFFFFF (белый)
1 - 0xFF000000 (чёрный)
2 - 0xFF808080 (серый)
3 - 0xFF0000FF (красный)

Строки могут начинаться с таких символов, как <, ^ и >; также символ _ используется вместо пробела.

Тип 8 - Колесо игрового автомата

Это игровые автоматы.

4b - Int32 - Индекс колеса

Каждое колесо в игровом автомате использует индекс 1. Положение индекса это положение колеса игрового автомата. Может быть, позицией можно управлять через SCM.

Тип 9 - Укрытие

Этот тип определяет места на карте, в которых можно спрятаться (может использоваться педами при перестрелке). Стурктура:

4b - FLOAT - Позиция X
4b - FLOAT - Позиция Y
4b - INT32 - Тип укрытия

Тип 10 - Эскалатор

Этот тип относится к эскалаторам. Размер равен 40 байтам.

0x00 | RwV3d  bottom    // Нижняя часть эскалатора (xyz)
0x0С | RwV3d  top       // Верхняя часть эскалатора (xyz)
0x18 | RwV3d  end       // Конечная точка эскалатора (точка Z должна быть наверху, если эскалатор 
                        // едет вверх, если вниз, то на нижней позиции эскалатора)
0x24 | DWORD  direction // Направление движения (0 - Вниз, 1 - Вверх)

Ссылки

Статья о том, как создать эскалатор + скрипт

Создание 2dfx с помощью 2dfx tool