Permissions & Duration
Behörigheter & Varaktighet
"Själv" avser alltid spelarens egen kropp. Allt som riktas mot en annan spelare behandlas som att man redigerar någon annan, vilket kräver ett av de konfigurerade yrkena eller ACE.
Vem som får undersöka en annan spelare
Config.Permissions = {
EditOthers = { 'ambulance', 'ems', 'doctor' },
MinGrade = 0,
UseAce = false,
Ace = 'bupa.syncstatus',
MaxDistance = 3.0,
LockStaffNotes = true,
AllowSelfRemove = true,
StaffCanRemoveLocked = true,
}| Alternativ | Standard | Syfte |
|---|---|---|
EditOthers |
{ 'ambulance', 'ems', 'doctor' } |
Yrken som tillåts anteckna på andra spelare. Tom ({}) stänger av funktionen helt. |
MinGrade |
0 |
Lägsta yrkesnivå för dessa yrken (0 = vilken nivå som helst). |
UseAce |
false |
Acceptera även en ACE-behörighet istället för ett yrke, för administratörer. |
Ace |
bupa.syncstatus |
ACE-objektet som kontrolleras när UseAce är aktiverat. |
MaxDistance |
3.0 |
Hur nära du måste stå för att undersöka någon, i meter. 0 stänger av kontrollen. |
Var och en av dessa tillämpas på servern, vid varje enskild läsning, skrivning och borttagning – inte bara när panelen öppnas.
Låst vårdcentrerad dokumentation
Detta är alternativet som gör skriptet värt att köra.
| Alternativ | Standard | Effekt |
|---|---|---|
LockStaffNotes |
true |
En anteckning som en sjukvårdare sätter på någon annan är låst. Patienter kan inte radera den; den försvinner av sig själv när timern löper ut. |
AllowSelfRemove |
true |
Får spelare ta bort anteckningar de satt på sig själva? |
StaffCanRemoveLocked |
true |
Får auktoriserade yrken ta bort en låst anteckning innan den löper ut? Stäng av för helt oföränderlig dokumentation. |
En låst anteckning markeras i panelen som "Låst av sjukvårdare". Clear all och /statusclear behåller medvetet låsta anteckningar: servern tar endast bort rader som anroparen faktiskt har behörighet att ta bort, och rapporterar hur många det rörde sig om.
Med LockStaffNotes = true och StaffCanRemoveLocked = false kan ingen ta bort en vårdares anteckning – inte ens vårdaren som skrev den. Den försvinner bara när dess timer löper ut, så undvik att kombinera detta med permanenta varaktigheter.
Varaktighet
Config.Duration = {
Enabled = true,
Presets = { 30, 60, 120, 180, 360, 720 }, -- minuter
Default = 120,
AllowPermanent = true,
SelfDefault = 0, -- minuter; 0 = permanent
CleanupInterval = 60, -- sekunder
}Presetsvisas som ett chip per post i panelen, i minuter. Håll listan kort.Defaultär det chip som är förvalt när en sjukvårdare antecknar en patient. En varaktighet som servern inte känner igen ersätts i tysthet med detta värde, så att en manipulerad klient inte kan hitta på sin egen timer.AllowPermanentlägger till ett Permanent-alternativ bredvid förinställningarna.SelfDefaultanvänds för anteckningar spelare skriver på sig själva –0betyder permanent.CleanupIntervalanger hur ofta servern rensar ut utgångna rader ur databasen och allas statebag. Det lägsta tillåtna värdet är 10 sekunder.
Genom att sätta Enabled = false blir varje anteckning permanent tills någon tar bort den; tidsväljaren försvinner från panelen och rensningstråden startar aldrig.
Gränser
Config.Limits = {
MaxPerPlayer = 4,
MaxTextLength = 48,
class="hljs-literal">true,
WriteCooldown = 2, -- sekunder mellan skrivningar
}Texten rensas på blanksteg, strippas från <, > och ~, samt kortas ner till MaxTextLength på servern innan den sparas, så att inget en spelare skriver kan förstöra renderingen.
Läsa anteckningar från en annan resurs
local list = exports['bupa-syncstatus']:GetStatuses(source)Returnerar den cachade listan för den spelaren: id, bodypart, text, type, severity, locked, expires och remaining. Samma lista kan läsas klientsidan från statebag som Player(serverId).state.bupaStatuses.