Skip to content

BUPA Sync Status

BUPA Sync Status

BUPA Sync Status adalah sistem anotasi tubuh untuk roleplay medis. Pemain mengetik /status dan sebuah panel akan terbuka di atas karakter asli mereka — kamera berskrip membingkai ped langsung beserta pakaian, rambut, tato, dan propertinya, serta penanda area yang dapat diklik diproyeksikan dari tulang ped di setiap frame, sehingga penanda tersebut tetap menempel pada tubuh saat berputar.

Mengklik sebuah area memungkinkan Anda menulis catatan singkat. Catatan tersebut kemudian akan digambar di dalam dunia game, melayang tepat di bagian tubuh tersebut, untuk setiap pemain yang berdiri di dekat Anda. Paramedis melakukan hal yang sama pada pasien dengan /status <id>: mereka mendokumentasikan cedera, memilih berapa lama dokumentasi tersebut berlangsung, dan catatan tersebut dikunci agar pasien tidak dapat menghapusnya sebelum masa berlakunya habis.

Buka panel pada diri sendiri dengan /status. Tim medis memeriksa pasien dengan /status 12. /statusclear menghapus semua hal yang diizinkan untuk Anda hapus.

Key features

  • Pratinjau karakter langsung — tanpa manekin dan tanpa menggambar boneka. Kamera membingkai ped pemain itu sendiri, AutoFrame mengukurnya dari kepala hingga kaki sehingga setiap model dibingkai dengan benar, dan penanda berada pada koordinat tulang asli.
  • 16 area tubuh — kepala, leher, dada, perut, lengan atas, lengan bawah, tangan, paha, lutut, dan kaki, masing-masing terikat pada tulang ped GTA dan masing-masing dapat dihapus dari konfigurasi.
  • Teks melayang di dalam dunia game — pemain lain membaca anotasi pada tubuh itu sendiri, diberi warna sesuai tingkat keparahan, tanpa networking per-frame: anotasi dikirim melalui statebag pemain.
  • Dokumentasi medisjob yang dapat dikonfigurasi (atau ACE) dapat menganotasi pemain lain dalam jarak tertentu, memilih durasi dari daftar prasetel, dan membuat catatan tersebut terkunci dari penghapusan.
  • Kedaluwarsa otomatis — server membersihkan anotasi yang kedaluwarsa berdasarkan pengatur waktu dan anotasi tersebut akan hilang di mana saja tanpa perlu pembersihan dari pihak Anda.
  • Tipe dan tingkat keparahan — cedera / perban / catatan, ringan / sedang / berat, keduanya didefinisikan sebagai daftar konfigurasi biasa.
  • Batasan anti-penyalahgunaan — batas per karakter, satu anotasi per area, batas panjang teks, cooldown penulisan, dan pemeriksaan jarak pada setiap tindakan.
  • Discord loggingembed dengan kode warna untuk anotasi yang ditambahkan, dihapus, dan dibersihkan, beserta informasi siapa yang menulis apa, pada siapa, dan berapa lama.
  • 10 bahasa melalui sistem locale milik ox_lib, dengan bahasa Inggris sebagai cadangan.

Frameworks

Framework dideteksi secara otomatis oleh shared/bridge.lua — tidak ada yang perlu disetel:

Framework Detected resource
QBox qbx_core
QB-Core qb-core
ESX es_extended
Standalone none — falls back to the license: identifier

Framework hanya menyediakan dua hal: ID per-karakter yang stabil yang digunakan sebagai kunci database, serta nama job dan tingkat pangkat pemain untuk pemeriksaan izin medis.

How the data flows

  1. Penulisan dikirim ke server melalui callback ox_lib. Klien tidak pernah dipercaya — identitas, izin, batasan, durasi, dan sanitasi teks semuanya diproses di sisi server.
  2. Anotasi disimpan di MySQL berdasarkan citizen ID karakter.
  3. Daftar lengkap karakter didorong ke dalam statebag pemain bupaStatuses.
  4. Setiap klien di sekitar membaca statebag tersebut dan menggambar teks pada tulang yang cocok.

Dependencies

Resource Required Purpose
ox_lib Yes Callbacks, notifications and the locale system
oxmysql Yes Storing annotations per character

Tabel database dibuat secara otomatis saat pertama kali dimulai — tidak ada SQL yang perlu diimpor.