Настройка CXG-GTFAT
Измените config.lua и перезапустите CXG_GTFAT. Вес указывается в килограммах и должен соответствовать настроенной сетке шагов.
Язык и вес
Config.Locale = 'ru'
Config.Weight = {
minKg = 50,
maxKg = 180,
defaultKg = 75,
fatThresholdKg = 100,
stepKg = 0.5,
}
Доступны языки en, es, pt-BR, fr, de, it, pl, ru, tr, th, ar, sv и br. br содержит старые тексты на бразильском португальском; для обычного выбора рекомендуется pt-BR.
Начальный диапазон составляет 50–180 кг, значение по умолчанию — 75 кг, а Fat включается при достижении 100 кг включительно. minKg должен быть не меньше нуля, stepKg — положительным, а условие minKg <= defaultKg <= maxKg должно выполняться. Порог должен быть выше минимума и не превышать максимум. Значение по умолчанию, порог и максимум должны попадать в сетку от minKg; например, при минимуме 50 кг и шаге 0,5 кг допустимы 75 и 100 кг. Некорректная конфигурация отключает операции с весом.
Единица LB пересчитывает только отображение. Сервер хранит и проверяет значения в кг.
Команды и разрешения
Config.Commands = {
enabled = true,
access = 'ace',
ace = 'cxg_gtfat.use',
job = nil,
group = nil,
custom = nil,
open = 'fatweight',
control = 'fatdecal',
}
Если команды включены, регистрируются настроенные команды. Команда открытия по умолчанию — /fatweight, команда управления — /fatdecal. Управляющая команда принимает on, off, status или ui. on устанавливает вес не ниже порога Fat; off — не выше, чем на один шаг ниже порога. Это не отдельные переключатели внешнего вида.
| access | Поведение |
|---|---|
| ace | Требует разрешение ACE, указанное в ace. Это режим по умолчанию. |
| everyone | Разрешает использование любому игроку, прошедшему проверки сервера. |
| jobs, groups, custom | Требуется реализовать политику в bridge/server.lua; автоматического подключения к фреймворку нет. |
Чтобы выдать администраторам доступ ACE:
add_ace group.admin cxg_gtfat.use allow
Меню или target может запросить открытие интерфейса, но сервер всё равно проверяет права. Отключение регистрации команд не мешает другому серверному ресурсу вызвать export OpenWeightUI.
Станции
После установки физические весы не включены. Добавьте запись станции в Config.Stations, задайте уникальный ключ, укажите реальные координаты и включите станцию.
Config.Interaction = {
key = 'E',
streamDistance = 60.0,
}
Config.Stations = {
gimnasio = {
enabled = true,
coords = { x = 0.0, y = 0.0, z = 0.0 },
heading = 0.0,
distance = 1.8,
bucket = 0,
access = 'ace',
ace = 'cxg_gtfat.use',
job = nil,
group = nil,
custom = nil,
model = false,
spawnProp = false,
},
}
Замените примерные координаты. Поддерживается расстояние до 5 метров. bucket должен совпадать с routing bucket станции; обычно это 0. Для каждой станции задаётся собственная политика access.
| Режим | Параметры | Результат |
|---|---|---|
| Точка без объекта | model = false, spawnProp = false | Невидимое взаимодействие по заданным координатам. |
| Существующий объект | model = 'имя_модели', spawnProp = false | Объект этой модели должен находиться не дальше 1 м от координат. Ресурс его не удаляет. |
| Локально создаваемый объект | model = 'имя_модели', spawnProp = true | Создаёт рядом замороженный локальный объект и удаляет его при уходе или остановке ресурса. |
Точка взаимодействия не ставит объект на землю автоматически. Укажите в coords фактическое начало координат объекта, а в heading — его направление. Подсказка по умолчанию использует E; игрок может переназначить «Использовать весы» в настройках FiveM > Назначение клавиш.
Стандартный адаптер поддерживает ace и everyone. Для остальных режимов требуется серверная реализация. Подсказка или объект не выдаёт разрешение: сервер повторно проверяет права доступа и близость.
Сохранение веса по персонажу
Config.Persistence = { framework = 'none' }
| Режим | Использование |
|---|---|
| none | По умолчанию. Только текущая сессия; после повторного подключения или перезапуска используется defaultKg. |
| qb | Определяет персонажа через qb-core и его citizenid. |
| esx | Определяет персонажа через es_extended и его идентификатор. |
| custom | Использует GTFatCustomCharacterId(source) из identity.lua. |
Ресурс не определяет Qbox автоматически. Для нескольких персонажей задайте каждому стабильный уникальный идентификатор с помощью совместимой опции или собственного адаптера. Не используйте один идентификатор для разных персонажей и не принимайте идентификатор, присланный клиентом. В режиме custom возвращайте nil до загрузки персонажа.
Сохранённый вес хранится отдельно от одежды и комплектов. Сохраняйте имя ресурса CXG_GTFAT и включайте хранилище сервера KVP в резервные копии остальных постоянных данных.