Skip to content

BUPA Sync Status

BUPA Sync Status

BUPA Sync Status is een lichaamsannotatiesysteem voor medische roleplay. Een speler typt /status en er opent een paneel over hun echte karakter — een gescripte camera kadert de live ped in met zijn kleding, haar, tatoeages en props, en aanklikbare regiomarkeringen worden elke frame geprojecteerd vanaf de botten van de ped, zodat ze vastplakken aan het lichaam wanneer het draait.

Door op een regio te klikken kun je een korte notitie schrijven. Die notitie wordt vervolgens in de wereld getekend, zwevend op dat exacte deel van je lichaam, voor elke speler die dichtbij je staat. Ambulancepersoneel doet hetzelfde bij een patiënt met /status <id>: ze documenteren de verwonding, kiezen hoe lang de documentatie duurt, en de notitie wordt vergrendeld zodat de patiënt deze er niet af kan scheuren voordat hij verloopt.

Open het paneel op jezelf met /status. Medici onderzoeken een patiënt met /status 12. /statusclear wist alles wat je mag verwijderen.

Key features

  • Live character preview — geen etalagepop en geen poptekening. De camera kadert de eigen ped van de speler in, AutoFrame meet deze van hoofd tot voet zodat elk model correct wordt ingekaderd, en de markeringen bevinden zich op echte botcoördinaten.
  • 16 body regions — hoofd, nek, borst, maag, armen, onderarmen, handen, dijen, knieën en voeten, elk gekoppeld aan een GTA-pedbot en elk te verwijderen via de config.
  • Floating in-world text — andere spelers lezen de annotatie op het lichaam zelf, gekleurd op basis van ernst, zonder per-frame networking: annotaties reizen via een player statebag.
  • Medic documentation — configureerbare jobs (of een ACE) mogen een andere speler binnen een ingestelde afstand annoteren, een duur kiezen uit een vooraf ingestelde lijst, en die notitie vergrendelen tegen verwijdering.
  • Automatic expiry — de server ruimt verlopen annotaties op via een timer en ze verdwijnen overal zonder dat jij iets hoeft op te ruimen.
  • Types and severities — letsel / verband / notitie, gering / matig / ernstig, beide gedefinieerd als simpele config-lijsten.
  • Anti-abuse limits — een limiet per karakter, één annotatie per regio, een tekstlengtelimiet, een schrijfcooldown en een afstandscontrole bij elke actie.
  • Discord logging — gekleurde embeds voor toegevoegde, verwijderde en gewiste annotaties, met wie wat heeft geschreven, bij wie en voor hoe lang.
  • 10 languages via het vertaalsysteem van ox_lib, met Engels als terugvaloptie.

Frameworks

Het framework wordt automatisch gedetecteerd door shared/bridge.lua — er hoeft niets te worden ingesteld:

Framework Detected resource
QBox qbx_core
QB-Core qb-core
ESX es_extended
Standalone geen — valt terug op de license: identifier

Het framework levert slechts twee dingen: een stabiel ID per karakter dat wordt gebruikt als databasesleutel, en de jobnaam en rang van de speler voor de medische toestemmingscontrole.

How the data flows

  1. Een schrijfactie gaat naar de server via een ox_lib callback. De client wordt nooit vertrouwd — identiteit, machtigingen, limieten, duur en tekstsanering worden allemaal aan de serverkant bepaald.
  2. De annotatie wordt opgeslagen in MySQL op basis van het burger-id van het karakter.
  3. De volledige lijst van het karakter wordt in de bupaStatuses player statebag gepusht.
  4. Elke nabije client leest die statebag en tekent de tekst op het overeenkomende bot.

Dependencies

Resource Required Purpose
ox_lib Yes Callbacks, notificaties en het vertaalsysteem
oxmysql Yes Het opslaan van annotaties per karakter

De databasetabel wordt automatisch aangemaakt bij de eerste start — er is geen SQL om te importeren.