Skip to content

BUPA Sync Status

BUPA Sync Status

BUPA Sync Status ist ein Körper-Annotationssystem für medizinisches Rollenspiel. Ein Spieler tippt /status und ein Panel öffnet sich über seinem echten Charakter – eine geskriptete Kamera rahmt den Live-Ped mit Kleidung, Haaren, Tattoos und Requisiten ein, und anklickbare Regionsmarkierungen werden jeden Frame von den Knochen des Peds projiziert, sodass sie beim Drehen fest am Körper haften bleiben.

Durch das Anklicken einer Region kannst du eine kurze Notiz schreiben. Diese Notiz wird daraufhin in der Welt dargestellt und schwebt direkt an diesem Teil deines Körpers für jeden Spieler, der in deiner Nähe steht. Sanitäter machen dasselbe bei einem Patienten mit /status <id>: Sie dokumentieren die Verletzung, wählen aus, wie lange die Dokumentation anhält, und die Notiz wird gesperrt, damit der Patient sie nicht vor dem Ablauf abreißen kann.

Öffne das Panel für dich selbst mit /status. Sanitäter untersuchen einen Patienten mit /status 12. /statusclear löscht alles, was du entfernen darfst.

Key features

  • Live-Charaktervorschau – keine Schaufensterpuppe und kein Puppenzeichnen. Die Kamera rahmt den eigenen Ped des Spielers ein, AutoFrame misst ihn von Kopf bis Fuß, sodass jedes Modell korrekt eingerahmt wird, und die Marker sitzen auf echten Knochenkoordinaten.
  • 16 Körperregionen – Kopf, Hals, Brust, Bauch, Arme, Unterarme, Hände, Oberschenkel, Knie und Füße, jeweils an einen GTA-Ped-Knochen gebunden und in der Konfiguration entfernbar.
  • Schwebender In-World-Text – andere Spieler lesen die Annotation direkt auf dem Körper, eingefärbt nach Schweregrad, ohne Networking pro Frame: Annotationen werden über ein Player-Statebag übertragen.
  • Sanitäter-Dokumentation – konfigurierbare Jobs (oder ein ACE) können einen anderen Spieler innerhalb einer festgelegten Distanz annotieren, eine Dauer aus einer voreingestellten Liste auswählen und diese Notiz gegen das Entfernen sperren lassen.
  • Automatischer Ablauf – der Server bereinigt abgelaufene Annotationen timerbasiert und sie verschwinden überall ohne Aufräumarbeiten deinerseits.
  • Typen und Schweregrade – Verletzung / Verband / Notiz, leicht / mittel / schwer, beides als einfache Konfigurationslisten definiert.
  • Anti-Abuse-Limits – ein Limit pro Charakter, eine Annotation pro Region, ein Textlängenlimit, ein Schreib-Cooldown und eine Distanzprüfung bei jeder Aktion.
  • Discord-Logging – farbcodierte Embeds für hinzugefügte, entfernte und gelöschte Annotationen, mit Angaben darüber, wer was, an wem und für wie lange geschrieben hat.
  • 10 Sprachen über das Locale-System von ox_lib, mit Englisch als Fallback.

Frameworks

Das Framework wird automatisch von shared/bridge.lua erkannt – es muss nichts eingestellt werden:

Framework Erkannte Resource
QBox qbx_core
QB-Core qb-core
ESX es_extended
Standalone keine – fällt auf den license:-Identifier zurück

Das Framework liefert nur zwei Dinge: eine stabile ID pro Charakter als Datenbank-Schlüssel sowie den Job-Namen und -Rang des Spielers für die Sanitäter-Berechtigungsprüfung.

How the data flows

  1. Ein Schreibvorgang geht über einen ox_lib-Callback an den Server. Dem Client wird niemals vertraut – Identität, Berechtigungen, Limits, Dauer und Textbereinigung werden alle serverseitig bestimmt.
  2. Die Annotation wird in MySQL unter der Citizen-ID des Charakters gespeichert.
  3. Die vollständige Liste des Charakters wird in das bupaStatuses Player-Statebag gepusht.
  4. Jeder nahegelegene Client liest dieses Statebag und zeichnet den Text auf den passenden Knochen.

Dependencies

Resource Erforderlich Zweck
ox_lib Ja Callbacks, Benachrichtigungen und das Locale-System
oxmysql Ja Speichern von Annotationen pro Charakter

Die Datenbanktabelle wird beim ersten Start automatisch erstellt – es muss kein SQL importiert werden.