Guest Counter

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  to reset your   flag.