Skip to content

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, AutoFrame mierzy 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

  1. 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.
  2. Adnotacja jest zapisywana w bazie MySQL pod identyfikatorem citizen id postaci.
  3. Pełna lista postaci jest przesyłana do player statebaga bupaStatuses.
  4. 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.