BUPA Sync Status
BUPA Sync Status
BUPA Sync Status — это система меток на теле для медицинского отыгрыша (roleplay). Игрок вводит команду /status, и поверх его настоящего персонажа открывается панель: скриптовая камера фиксирует живого педа со всей его одеждой, прической, татуировками и аксессуарами, а кликабельные маркеры областей проецируются прямо с костей педа в каждом кадре, благодаря чему они надежно привязаны к телу при любых поворотах.
Клик по области позволяет оставить короткую заметку. Эта заметка отображается в игровом мире, паря точно над соответствующей частью вашего тела для всех игроков поблизости. Парамедики делают то же самое с пациентом с помощью команды /status <id>: они фиксируют травму, выбирают длительность отображения заметки, после чего она блокируется, чтобы пациент не мог удалить ее до истечения срока.
Откройте панель для себя с помощью /status. Медики осматривают пациента через /status 12. Команда /statusclear очищает все, что вам разрешено удалить.
Key features
- Предпросмотр персонажа в реальном времени — никаких манекенов или схематичных кукол. Камера захватывает собственного педа игрока, функция
AutoFrameизмеряет его от головы до ног для корремтного кадрирования любой модели, а маркеры размещаются на координатах реальных костей. - 16 зон тела — голова, шея, грудь, живот, руки, предплечья, кисти, бедра, колени и стопы; каждая привязана к определенной кости педа GTA и может быть отключена в конфигурации.
- Плавающий текст в мире — другие игроки видят заметку прямо на теле, цвет которой зависит от степени тяжести. Без лишней сетевой нагрузки в каждом кадре: заметки передаются через player statebag (состояние игрока).
- Медицинская документация — настраиваемые работы (или ACE-права) позволяют медикам делать заметки на другом пациенте на определенном расстоянии, выбирать длительность из заготовленного списка и блокировать заметку от удаления.
- Автоматическое истечение срока — сервер проверяет просроченные заметки по таймеру, и они исчезают у всех автоматически без необходимости ручной очистки.
- Типы и степени тяжести — травма / повязка / заметка, легкая / умеренная / тяжелая, настраиваются через простые списки в конфиге.
- Защита от злоупотреблений — лимит на одного персонажа, одна заметка на каждую зону, ограничение длины текста, кулдаун на создание и проверка дистанции при любом действии.
- Логирование в Discord — цветные эмбеды для добавленных, удаленных и очищенных заметок с указанием того, кто написал, на ком и на какой срок.
- 10 языков благодаря системе локализации
ox_libс английским языком по умолчанию.
Frameworks
Фреймворк определяется автоматически через shared/bridge.lua — ничего настраивать не нужно:
| Framework | Detected resource |
|---|---|
| QBox | qbx_core |
| QB-Core | qb-core |
| ESX | es_extended |
| Standalone | none — falls back to the license: identifier |
Фреймворк предоставляет всего две вещи: стабильный идентификатор персонажа для использования в качестве ключа базы данных, а также название работы и ранг игрока для проверки медицинских прав.
How the data flows
- Запись отправляется на сервер через колбэк
ox_lib. Клиент никогда не доверяет данным — личность, права, лимиты, длительность и очистка текста обрабатываются исключительно на стороне сервера. - Заметка сохраняется в MySQL с привязкой к citizen id персонажа.
- Полный список заметок персонажа передается в player statebag
bupaStatuses. - Каждый клиент поблизости считывает этот statebag и отображает текст на соответствующей кости.
Dependencies
| Resource | Required | Purpose |
|---|---|---|
ox_lib |
Yes | Callbacks, notifications and the locale system |
oxmysql |
Yes | Storing annotations per character |
Таблица в базе данных создается автоматически при первом запуске — импортировать SQL вручную не требуется.