IPL
Материал из GTAModding.ru
Эта статья требует полного или частичного перевода. Часть этой статьи написана на иностранном языке. Если вы знаете его, пожалуйста, помогите с ее переводом на русский язык. |
Файлы Item PLacement предназначены для расстановки объектов на игровой карте, а также определяют зоны, пути, гаражи, маркеры интерьеров и многое другое. Если IPL файл находится в текстовом виде, то его можно открыть и отредактировать в любом текстовом редакторе, например в Блокноте. А если IPL файл находится в двоичном (скомпилированном) виде, то для его изменения уже используют специальные редакторы, либо программы, конвертирующие двоичные IPL в текстовые и обратно.
Присутствуют во всех играх серии GTA, начиная с третьей части (GTA 3, GTA VC, GTA SA (в текстовом и двоичном виде), GTA LCS (в двоичном виде), GTA VCS (в двоичном виде), GTA 4 (в текстовом и двоичном виде) ), а так же в других играх от Rockstar Games.
В GTA 4 двоичные IPL были переименованы в *.wpl
, но их принцип остался тот же (описание см. в отдельной статье: *.wpl
).
Содержание |
Структура
Файлы .ipl
разделены на несколько секций. Они могут быть не обязательны, или даже могут быть пустыми. Каждая секция начинается и идентификатора секции и заканчивается ключевым словом end. Строка секции разделяется запятыми, между которыми записаны значения каждой ячейки строки. Каждая ячейка может содержать либо целое или дробное число, либо одно слово.
Пример:
inst ... end
INST
Расположение и свойства статических и динамических (object.dat) объектов карты.
- ModelId
- DWORD
- Уникальный идентификатор модели - целое число. Должен соответствовать идентификатору в IDE файле.
- NULL
- string[24]
- Пустое значение строки, игнорируется игрой. Может содержать любой мусор (обычно туда записывают имя DFF файла для совместимости с MAP_IO).
- PosX, PosY, PosZ
- float[3]
- Координаты объекта относительно центра карты.
- 1, 1, 1
- float[3]
- Множители для масштабирования модели в игре, движком не используются, всегда равны или приближены к единице
- RotX, RotY, RotZ, RotW
- float[4]
- Масштабирование и поворот объекта на карте относительно его центра, записанного в DFF. Определяется как кватернион, для перевода в Эйлеровы углы необходимы довольно сложные математические вычисления, что делает программа Rotation Calculator. Масштабируется только сама модель, модель коллизии не масштабируется! (при этом в игре появляются глюки с камерой).
- Interior
- WORD
- Номер интерьера, для которого используется модель (объекты с другими номерами интерьеров при этом не подгружаются на карту при попадании игрока в данный интерьер). Для основной карты номер интерьера = 0.
- LOD
- DWORD
- Номер строки в текущем IPL файле для LODа, принадлежащего этой модели. Первый объект прописанный в IPL это строка «0», второй объект – «1» и так далее… Значение «-1» означает что LOD не используется.
- LevelID
- DWORD
- Номер зоны на карте, в котором находится объект (для Портланда = 1, Стаунтона = 2, Шорсайда = 3).
- Flag
- DWORD
- Флаги, назначение которых неизвестно. Стандартное значение = 314.
CULL
В GTA3, GTA VC ,GTA SA существуют 4 таблицы с куллингами.В GTA3, первая таблица находится в бинарном виде в CULLZONE.DAT и содержит параметры загрузки куллингов в память и их глобальные координаты. Начинается с оффсета 0x04 и занимает в файле 6800 байт. Без редактирования exe, максимальное количество зон в первой таблице = 512 строк.
Вторую таблицу можно найти в бинарном виде в CULLZONE.DAT, и в текстовом фаиле CULL.IPL, причём в GTA3 она грузится из бинарного, а в GTA VC и GTA SA - из текстового вида. Декомпелировать первую и вторую таблицы из CULLZONE.DAT можно с помощью отечественной программы "CULLZONE COMPILER/DECOMPILER by Majestic", а можно модифицировать их вручную, через HEX-Редактор
Формат GTA3 и GTA VC
CenterX, CenterY, CenterZ, LowerLeftX, LowerLeftY, LowerLeftZ, UpperRightX, UpperRightY, UpperRightZ, Flag1, Flag 2
CenterX CenterY CenterZ - координаты XYZ центра зоны;
LowerLeftX, LowerLeftY, LowerLeftZ - координаты XYZ левого нижнего угла зоны;
UpperRightX, UpperRightY, UpperRightZ - координаты XYZ правого верхнего угла зоны;
Flag1, Flag 2 - параметры зон (таблицу параметров зон смотреть ниже).
Формат SA 1:
- centerX, centerY, centerZ, 0 (какой-то поворот), Ywidth, bottomZ, Xwidth, 0 (какой-то поворот), topZ, Flag1, Flag 2
Формат SA 2:
- centerX, centerY, centerZ, 0 (какой-то поворот),Ywidth, bottomZ, Xwidth, 0 (какой-то поворот), topZ, Flag, Vx, Vy, Vz, Cm
Границы Cull зон точно соотвествуют мировым координатам.
P.S. Второй формат CULL секции SA используется в основном для зеркал.
Флаги:
Двоичное счисление | Флаг | |
---|---|---|
1111 1111 1111 1111 | -1 | Все параметры включены |
0000 0000 0000 0000 | 0 | Все параметры выключены |
0000 0000 0000 0001 | 1 | Блокируется опция смены камеры для игрока и авто |
0000 0000 0000 0010 | 2 | Камера фиксируется вне зоны и следит за игроком |
0000 0000 0000 0100 | 4 | "Низкая" камера на игроке и авто |
0000 0000 0000 1000 | 8 | Игнорирование погодных эффектов типа тумана и дождя |
0000 0000 0001 0000 | 16 | Полиция не видит игрока во время уровня розыска |
0000 0000 0010 0000 | 32 | Игнорирование блокировки путей педов |
0000 0000 0100 0000 | 64 | Не известно |
0000 0000 1000 0000 | 128 | Активирует рендеринг подземных тоннелей(автомобильных и метро) |
0000 0001 0000 0000 | 256 | Копы всегда выходят из своих автомобилей, если игрок находится на высоком уровне розыска |
0000 0010 0000 0000 | 1024 | Игнорирование эффектов океана типа прозрачности волн и сверкания на воде(работает только в gta vc) |
0001 0000 0000 0000 | 4096 | Увеличение уровня розыска до 5 звёздочек |
PATH
Пути педов, автомобилей и лодок. Используется только в GTA VC. В GTA3 пути прописываются в IDE файлах. В GTA SA - в файлах **nodes.dat, которые лежат внутри gta3.img.
GRGE
Тут создаются гаражи для дальнейшего использования в main.scm
. Используется только в San Andreas.
X1, Y1, Z1, frontX, frontY, X2, Y2, Z2, Door, Type, Name
- X1, Y1, Z1
- нижний левый передний угол
- frontX, frontY
- нижний правый передний угол
- X2, Y2, Z2
- верхний левый задний
- Door
- Тип дверей
- Type
- Тип гаража
- Name
- Используется для редактирования гаражей через SCM
ENEX
Данная секция отвечает за создание соединений между интерьерами и внешним игровым пространством.
только SA:
X1, Y1, Z1, ROT, W1, W2, C8, X2, Y2, Z2, Rot2, Int, Flag, Name, Sky, I2, Time On, Time Off
- X1, Y1, Z1
- Месторасположение входа
- ROT
- Поворот
- W1
- X Радиус входа
- W2
- Y Радиус выхода
- C8
- Постоянно 8
- X2, Y2, Z2
- Местоположение выхода
- Rot2
- Вращение выхода в градусах
- Int
- Номер целевого интерьера
- Flag
- Тип маркера
- Name
- Название интерьера
- Sky
- Изменение цвета неба
- I2
- Неизвестный параметр выраженный целым числом, возможно связано с погодой
- Time On
- Время включения действия маркера
- Time Off
- Время отключения действия маркера
Флаги Enex секции
Флаг | Имя | Описание |
---|---|---|
1 | Неизвестный интерьер | Используется только для маркеров |
2 | unknown pairing | Used mostly for interior markers; also Big Ear & LS Skyscraper |
4 | Create linked pair | Pair with unflagged mate during new game start |
8 | Reward interior | Sets flag 0010 on pair mate when used |
16 | Used reward entrance | Set by accessing reward interior |
32 | Cars and aircraft | Enable for cars and aircraft |
64 | Bikes and motorcycles | Enable for bikes and motorcycles |
128 | Disable on foot | No foot traffic. Use for cars and/or bikes only |
256 | Accept NPC group | Group members accepted at destination of pair (passengers stripped) |
512 | Food date flag | Set and cleared by food date (cut-scene related) |
1024 | unknown burglary | Set on Bayside and Temporary Burglary doors |
2048 | Disable exit | Player can enter but cannot exit a two-way pair |
4096 | Burglary access | Enabled and disabled during Burglary |
8192 | Entered without exit | Set by Entrance, Cleared by Exit; Applies to one side of a two |
16384 | Enable access | Enabled by default; often cleared by scripts |
32768 | Delete enex | Enex is deleted when used |
Цвета неба ENEX секции
Цвет неба | Описание |
---|---|
0 | Голубое небо |
1 | Белое затухание к черному |
2 | Чёрный цвет с желтоватым освещением |
3 | Такой же цвет как и у 1го |
4 | Такой же цвет как и у 2го |
5 | Белое затухание к пурпурному и к чёрному с желтоватым освещением |
6 | Белое затухание цвета к черному с желтоватым освещением. |
7 | Белое затухание цвета к зеленому и к чёрному с желтым светом (возможно это облака) |
8 | Такой же как и 6ой |
9 | Такой же как и 6ой |
10 | Такой же как и 2ой |
11 | Фиолетовый цвет |
12 | Такой же как и 6ой |
13 | Такой же как и 6ой |
14 | Такой же как и 7ой, только океан имеет более голубой оттенок |
15 | Такой же как и 6ой |
16 | Такой же как и 2ой |
17 | Ночной туман |
18 | Голубое затухание к жёлтому (восход солнца) |
19 | Голубое небо с белыми облаками |
20 | Тёмно-голубое небо со светло-голубыми облаками |
21 | Тёмно-голубое небо с белыми облаками |
22 | Оранжевое небо с белыми облаками |
23 | Оранжевое затухание к серому с оранжевыми облаками |
24 | Красное затухание к пурпурному(не рекомендуется исп. этот параметр) |
25 | Тёмно-пурпурный цвет с серым и с красивым осщевением солнца |
27 | Такой же как и |
28 | Большое солнце, белые облака и голубое небо |
29 | Голубое небо, белые облака и огромное солнце |
30 | Оранжевый цвет неба с тёмно-оранжевыми облаками |
PICK
Эта секция создаёт пикапы оружия. Rockstar использовали эту секцию лишь для создания огнетушителей в ресторанах быстрого питания.
San Andreas формат
Weapon ID, X, Y, Z
San Andreas - идентификаторы оружия
ID | Название | Магазин |
---|---|---|
4 | Кастеты | - |
5 | Дубинка полицейского. | - |
6 | Нож | - |
7 | *Ничего* | - |
8 | *Ничего* | - |
9 | Клюшка для гольфа | - |
10 | Бита | - |
11 | Лопата | - |
12 | Бильярдный Кий | - |
13 | Катана | - |
14 | Бензопила | - |
15 | Коктейль молотова | 8 |
16 | Гранаты | 8 |
17 | Ранец | 5 |
18 | 9mm Пистолет | 30 |
19 | Silenced 9mm | 10 |
20 | Пустынный орёл | 10 |
21 | Шотган | 15 |
22 | SPAS Shotgun | 10 |
23 | Tec 9 | 60 |
24 | Микро SMG | 60 |
25 | MP5 | 60 |
26 | AK47(Автомат Калашникова) | 80 |
27 | M4 | 80 |
28 | Country Rifle | 20 |
29 | Снайперская винтовка | 10 |
30 | *Ничего* | - |
31 | Огнемёт | 100 |
32 | Миниган | 500 |
33 | Большой пурпурный дилдо | - |
34 | Небольшой белый дилдо | - |
35 | Большой белый вибратор | - |
36 | Небольшой чёрный вибратор | - |
37 | Цветы | - |
38 | Палка(вроде) | - |
39 | Ringbox | - |
40 | Necklace Box | - |
41 | Сотовый телефон | - |
42 | *Ничего* | - |
43 | Слезоточивый газ | 8 |
44 | Миниган (Дублированный) | 500 |
45 | SPAS Шотган (Дублированный) | 10 |
46 | Реактивный гранатомёт | 4 |
47 | Самонаводящаяся ракетная установка | 3 |
48 | Детонатор | - |
49 | Балон с краской | 500 |
50 | Огнетушитель | 500 |
51 | Камера | 36 |
52 | Очки ночного видения | - |
53 | Инфакрасные очки | - |
54 | Джетпак | - |
55 | Парашют | - |
JUMP
Создаёт уникальный прыжок, заданный через минимальные и максимальные координаты для точки старта и приземления. Этот формат соответствует формату, который используется в опкоде 0814.
San Andreas формат
startXmin, startYmin, startZmin, startXmax, startYmax, startZmax, landXmin, landYmin, landZmin, landXmax, landYmax, landZmax, camX, camY, camZ, reward
TCYC
Возможно секция управляет погодными эффектами в зоне. В секции используется объект, типа - BOX.
San Andreas формат
X1, Y1, Z1, X2, Y2, Z2, ?, ?, ?, ?, ?
AUZO
только для SA
Секция создаёт в зоне музыку.
San Andreas формат - тип 1
Name, ID, Switch, X1, Y1, Z1, X2, Y2, Z2
- Name
- Имя зоны
- ID
- Идентификатор музыки. С помощью него проигрывается определённая музыка в зоне.
- Switch
- Делает музыку(?) всегда включённой или выключенной. Не может быть принуждён использованием опкода. 0917
San Andreas формат - тип 2
Name, ID, Switch, X, Y, Z, Volume
- Name
- Имя зоны
- ID
- Идентификатор музыки.
- Switch
- Делает музыку(?) всегда включённой или выключенной. Не может быть принуждён использованием опкода. 0917
- Volume
- Дистанция музыки.
San Andreas Auzo Идентификаторы музыки.
ID | What sound it plays | Description of sound in the unmodified audio streams |
---|---|---|
4 | Ambience track 9 | St Mark's violin music |
5 | Ambience track 6 | Beach party bkgd song |
8 | Ambience track 31 | Unused loud hum |
10 | Ambience track 5 | Awards ceremony music |
12 | Ambience track 34 | Loud hum heard on ships |
13 | Ambience track 23 | Low Rider Challenge bkgd song |
15 | Ambience track 30 | Static sound heard on military bases |
17 | Ambience track 12 | Casino bkgd medley |
19 | Ambience track 4 | Quiet hum heard in Area 69 |
20 | Ambience track 2 | Fan-like clicking heard in Abattoir |
21 | Ambience track 1 | Quiet hum heard in 24-7s |
23 | Ambience track 14 | Loud hum heard in Dam interior |
24 | Ambience track 25 | Racing sounds heard in ITB lobby |
25 | Ambience track 24 | Quiet hum heard in Planning Dept |
26 | Ambience track 20 | Quiet hum heard in safe houses |
28 | Ambience track 13 | Dance Club bkgd medley |
29 | Ambience track 13 | Dance Club bkgd medley |
30 | Favorite Radio Station | Stream or User Tracks Player |
34 | Ambience track 28 | Pleasure Domes bkgd medley |
36 | Ambience track 21 | Loud hum heard in Jet interior |
37 | Ambience track 10 | Muzak-type bkgd heard in unused diner interiors |
39 | Ambience track 29 | Quiet hum heard in police stations |
41 | Ambience track 35 | Stadium event bkgd medley |
44 | Ambience track 18 | Fast Food Joint bkgd sounds |
48 | Ambience track 3 | Ammunation PA loop |
50 | Ambience track 39 | Quiet hum heard in warehouses |
51 | Ambience track 22 | Very loud hum heard in cargo plane? |
52 | Radio stream CH | Playback FM |
53 | Radio stream CO | K-ROSE |
54 | Radio stream CR | KDST |
55 | Radio stream DS | Bounce FM |
56 | Radio stream HC | SFUR |
57 | Radio stream MH | Radio Los Santos |
58 | Radio stream MR | Radio X |
59 | Radio stream NJ | CSR |
60 | Radio stream RE | K-JAH West |
61 | Radio stream RG | MasterSounds |
62 | Radio stream TK | WCTR |
64 | Ambience track 17 | Unused quiet hum |
66 | Ambience track 36 | Strip Club bkgd medley |
67 | Ambience track 37 | Unused bkgd medley |
Notes: Any ID value from 0-70 inclusive not listed above generated no background sound.
Audio 4 type two only
Audios 5, 10, 12, and 13 disabled by default, can be re-enabled
MULT
Только для San Andreas и GTA4
Неизвестная секция. В San Andreas игнорируется.
CARS
Секция CARS используется для размещения автомобиля на карте. Для этого нужно вписать координаты на карте, поворот модели, информацию о цветах и прочее. В SA, для расстановки машин, регулярно используется бинарный формат .IPL. Такой формат можно открыть лишь HEX-редактором, или декомпилировать бинарный формат через одну программу.
Идентификатор | Описание |
---|---|
Координаты автомобиля на карте. | |
Поворот автомобиля в радианах. | |
Идентификационный номер автомобиля. При значении -1, появится любая модель машины.. | |
Цвет машины, который опеределяется в carcols.dat файле. Если указать значение -1, то у машины проявляется любой цвет.
| |
Как часто будет появляться автомобиль. | |
Возможность срабатывания сигнализации при краже машины. (0 - 100). | |
Возможность того, насколько часто будут заперты двери у машины (0 - 100). | |
Неизвестно (Всегда 0). |
Автомобили появляются наиболее часто, если значение ForceSpawn = 1.
Бинарный формат
4b - FLOAT - Позиция X 4b - FLOAT - Позиция Y 4b - FLOAT - Позиция Z 4b - FLOAT - Угол (Вокруг оси-Z) 4b - INT32 - ID объекта 4b - INT32 - Основной цвет 4b - INT32 - Вторичный цвет 4b - INT32 - Появление автомобиля 4b - INT32 - Сигнализация 4b - INT32 - Свойство закрытых дверей 4b - INT32 - Unknown1 4b - INT32 - Unknown2
Примечание:Бинарные *.ipl
файлы хранятся в gta3.img
(только в GTA SA).