So I’m making games with a good amount of items right now. and in such a way that the set $haskeys
thing will get pretty obnoxious, because I’m using Chapels Inventory system.
I was wondering if anyone knew of a tag or a code or a custom method or macro or anything that can make it so, once you view a passage once, you cant view it again.
Thanks!
First, the ` back tick for doing the inline code markup is on the same key as the ~ tilde key (on a US keyboard). It looks a lot like a ’ single quotation, but it’s not.
Second, there’s the function visited()
(reference is here) that counts how many times you’ve seen a passage. visited()
returns the amount for the current passage (it’s incremented at the time of loading a passage, so it’ll be 1 if it’s the first time visiting the current passage), and visited("passage_name")
is for a specific passage.
So basically, you can do this to have it only list the link if you haven’t been to the passage before:
<<if !visited("next_passage")>>[[Next|next_passage]]<</if>>
An alternative is to redirect to a different page if you’ve already been to the current one. This will happen before the page is displayed, so it shouldn’t be noticeable to the player.
<<if visited() > 1>><<goto "some_other_passage">></if>>