Описание форматов
Старый формат respawn-файлов
Моды, наследующие старую систему конфигураций:
- CSDM by BAILOPAN
- ReCSDM by ReHLDS Team
- CSDM-ReAPI by Vaqtincha
- CSDM-ReAPI by wopox1337
Расположение файлов конфигурации спавнов:
amxmodx/
└── configs/
└── csdm/
└── spawns/
└── *.spawns.cfg
Старая система респавнов имеет следующий формат:
-723 487 51 4 -35 0 0 -1 -35 0
363 457 51 5 -126 0 0 -2 -126 0
742 -341 51 3 131 0 0 -1 131 0
...
Описание параметров:
origin X | origin Y | origin Z | angle X | angle Y | angle Z | team | viewAngle X | viewAngle Y | viewAngle z |
---|---|---|---|---|---|---|---|---|---|
-2198 | -538 | 179 | 8 | -34 | 0 | 0 | -3 | -34 | 0 |
Некоторые старые форматы могут иметь только следующие параметры:
- Origin X, Origin Y, Origin Z
- Angle X, Angle Y, Angle Z
Недостатки старого формата:
- Недостаточная точность данных;
- Невозможность расширять формат с сохранением обратной совместимости;
- Сложность ручной подстройки параметров из за недокументируемого формата;
- Наличие излишних параметров, которые не влияют на геймплей (Z-оси);
- Лимит respawn-точек.
Сборка старых спавнов:
Новый формат respawn-файлов
Расположение файлов конфигурации спавнов:
amxmodx/
└── data/
└── redm/
└── *.spawns.json
Конфигурация respawn-файлов ReDeathmatch отличается, имеет JSON5
формат данных:
{
"spawns": [
{
"team": 0,
"group": "a",
"origin": [
-879.96875,
-1007.96875,
192.01966857910156
],
"angle": [
-1.5692138671875,
42.60498046875
],
"vAngle": [
4.7076416015625,
42.60498046875
]
},
...
]
}
Новый формат конфигурации имеет преимущества перед старой системой:
- Возможность расширения конфигурации без потери обратной совместимости;
- Следование общепринятому стандарту
JSON5
для удобства работы даже вне ReDeathmatch; - Высокая точность float-данных.
Новый формат конфигурации является необходимостью, учитывая перечисленные достоинства нового формата и недостатки старого. Недостаточная точность старого форматат не позволяла добавлять спавн-точки в "тесных" местах, допустим где имеется необходимость расположить игрока изначально в сидячем положении или вблизи к другим объектам.