Bounty System
A minimal data store for tracking bounty entries on a single global "bounty stone" object. Source: UOD - System Bounty.scp.
How it works
The system is built around one persistent script item, i_stone_bounty (a gravestone), which holds all bounty records as tags:
- On
@createit initialisesTAG.BOUNTIES=0(the running count of stored bounties). - Two helper FUNCTIONs read/write the stone. Both hard-code the stone's UID in
OBJ=04002423b, so they operate on that specific placed stone.
| Function | Behaviour |
|---|---|
f_add_bounty |
Increments OBJ.TAG.BOUNTIES and stores <args> into OBJ.TAG.BOUNTY_<n> (the next slot). |
f_isinbounty |
Loops over all BOUNTY_1..N tags; returns 1 if any equals <args>, else 0. |
Note: This file only defines storage and lookup primitives. There are no player-facing commands here, and no code in this script consumes the bounties (e.g. pays out or displays them) — that logic, if any, lives elsewhere. The
OBJ=04002423bUID is environment-specific and must match the actual placed stone.
Key definitions
| DEFNAME | Role |
|---|---|
i_stone_bounty |
Global bounty store item; TAG.BOUNTIES = count, TAG.BOUNTY_<n> = entries |
f_add_bounty |
Adds <args> as a new bounty entry |
f_isinbounty |
Tests whether <args> is already a bounty |