Jail System
Holds misbehaving players in a jail cell using an equipped timer item, and provides teleport runes to release them back to town. Source: UOD - System Jail.scp.
How it works
When a player is jailed, a timed script item i_jail (type=t_eq_script, displayed as an alchemy rune) is equipped on them and acts as the sentence timer.
- On
@timerexpiry the item runscont.forgive, sends the player tojail cell 8, and removes itself — releasing the prisoner. - The item's
timervalue is the remaining sentence in seconds. A value of-1means an indefinite sentence ("A staff member will contact you"). A reason is stored ini_jail.tag.reason.
Two teleport runes let jailed/released players get back to town by stepping on them:
| Item | On step |
|---|---|
i_rune_britain |
src.go britain |
i_rune_moonglow |
src.go moonglow |
The i_jail_system rune (a floor marker) is stepped on at the cell exit. On @step it inspects the player's i_jail timer and reacts:
- Timer
0(no jail item found): tells the player they don't seem to be jailed / were not released correctly and callsmoveback(blocks passage). - Timer
-1: tells them they are jailed indefinitely, shows the reason, and blocks passage. - Otherwise: reports "You will be sent out in N seconds," shows the reason, and blocks passage.
Note: Actual jailing (equipping
i_jail, setting timer/reason) is triggered elsewhere. In this shardsrc.jail/src.stoneare used (see the Poison script's anti-cheat trap) alongside SphereServer's built-inJAIL/FORGIVEcommands. This file only defines the cell furniture, release timer, and exit runes.
Key definitions
| DEFNAME | Type | Role |
|---|---|---|
i_jail |
t_eq_script |
Equipped sentence timer; releases to jail cell 8 on @timer |
i_jail_system |
rune marker | Cell-exit step check; enforces jail, shows time left & reason |
i_rune_britain |
rune marker | Step to teleport to Britain |
i_rune_moonglow |
rune marker | Step to teleport to Moonglow |
i_jail.tag.reason |
tag | Text reason for the jail sentence |