BUPA Sync Status
BUPA Sync Status
BUPA Sync Status to system oznaczeń ciała (body annotation) stworzony z myślą o odgrywaniu ról medycznych (medical roleplay). Gracze mogą wpisać /status, aby otworzyć panel bezpośrednio nad swoim prawdziwym postaciowym modelem — oskryptowana kamera kadruje żywego peda wraz z jego ubraniami, włosami, tatuażami i rekwizytami, a klikalne znaczniki regionów są rzutowane z kości peda w każdej klatce, dzięki czemu pozostają przyklejone do ciała podczas jego obrotu.
Kliknięcie danego regionu pozwala wpisać krótką notatkę. Notatka ta jest następnie wyświetlana w świecie gry, unosząc się dokładnie nad tą częścią ciała, dla każdego gracza znajdującego się w pobliżu. Ratownicy medyczni robią to samo u pacjenta za pomocą komendy /status <id>: dokumentują obrażenia, wybierają czas trwania dokumentacji, a notatka zostaje zablokowana, uniemożliwiając pacjentowi jej usunięcie przed upływem czasu.
Otwórz panel dla siebie za pomocą komendy /status. Medycy badają pacjenta za pomocą /status 12. /statusclear usuwa wszystko, co masz uprawnienia zdjąć.
Key features
- Podgląd postaci na żywo — brak manekinów i rysowania lalek. Kamera kadruje własnego peda gracza,
AutoFramemierzy go od głowy do stóp, dzięki czemu każdy model jest kadrowany prawidłowo, a znaczniki znajdują się na współrzędnych prawdziwych kości. - 16 regionów ciała — głowa, szyja, klatka piersiowa, brzuch, ramiona, przedramiona, dłonie, uda, kolana i stopy, z których każdy jest powiązany z kością peda GTA i może zostać usunięty z poziomu configu.
- Unoszący się tekst w świecie gry — inni gracze czytają adnotację bezpośrednio na ciele, oznaczoną kolorami w zależności od stopnia ciężkości, bez ruchu sieciowego w każdej klatce: adnotacje przesyłane są przez player statebag.
- Dokumentacja medyczna — konfigurowalne prace (lub ACE) pozwalają oznaczyć innego gracza w określonej odległości, wybrać czas trwania z gotowej listy oraz zablokować notatkę przed usunięciem.
- Automatyczne wygasanie — serwer usuwa wygasłe adnotacje za pomocą timera i znikają one wszędzie bez konieczności czyszczenia po Twojej stronie.
- Typy i stopnie ciężkości — obrażenia / bandaż / notatka, lekkie / umiarkowane / ciężkie, obie zdefiniowane jako zwykłe listy w configu.
- Limity zabezpieczające przed nadużyciami — limit na postać, jedna adnotacja na region, limit długości tekstu, cooldown zapisu oraz sprawdzanie odległości przy każdej akcji.
- Logowanie na Discordzie — osadzone wiadomości (embedy) oznaczone kolorami dla dodanych, usuniętych i wyczyszczonych adnotacji, zawierające informacje kto, komu, co i na jak długo napisał.
- 10 języków dzięki systemowi lokalizacji
ox_lib, z angielskim jako językiem zapasowym.
Frameworks
Framework jest wykrywany automatycznie przez shared/bridge.lua — nie trzeba niczego ustawiać:
| Framework | Wykryty zasób |
|---|---|
| QBox | qbx_core |
| QB-Core | qb-core |
| ESX | es_extended |
| Standalone | brak — następuje powrót do identyfikatora license: |
Framework dostarcza tylko dwie rzeczy: stabilne id przypisane do postaci, używane jako klucz bazy danych, oraz nazwę pracy i stopień gracza do sprawdzania uprawnień medycznych.
How the data flows
- Zapis trafia na serwer poprzez callback
ox_lib. Klientowi nigdy nie ufamy — tożsamość, uprawnienia, limity, czas trwania i sanityzacja tekstu są ustalane po stronie serwera. - Adnotacja jest zapisywana w bazie MySQL pod identyfikatorem citizen id postaci.
- Pełna lista postaci jest przesyłana do player statebaga
bupaStatuses. - Każdy klient w pobliżu odczytuje ten statebag i rysuje tekst na pasującej kości.
Dependencies
| Zasób | Wymagany | Przeznaczenie |
|---|---|---|
ox_lib |
Tak | Callbacki, powiadomienia i system lokalizacji |
oxmysql |
Tak | Przechowywanie adnotacji dla każdej postaci |
Tabela bazy danych tworzy się automatycznie przy pierwszym uruchomieniu — nie ma żadnego SQL do importowania.