I've seen a couple of people build guest-counters -- a simple ticker that can be incremented by any visitor.
If you do this naively, however, it will be left open to false counting. If a player spams the "sign" link, you don't want the counter to keep incrementing. It should be limited to once per player.
To do this, create a player default property in your world:
And then a location property, for the counter:
The action code will a code property, like this:
if not player.has_signed: player.has_signed = True counter += 1 event("You add a mark to the tally.", text("[$name] marks the tally.")) else: event("You’ve already marked the tally.")
The text in the location description might look like this:
[[counter]] people have marked the tally. [Mark it yourself?|sign_counter]
But if you want to remove the link entirely once it's been used, you could do this:
[[counter]] people have marked [$if not player.has_signed]the tally. [Mark it yourself?|sign_counter] [$else]the tally, including you. [$end]
When testing, you can use the debug command
/eval del player.has_signed to reset your