Are you using Twine 1 or Twine 2? Twine 2 is the updated and slightly more functional version, but there's more documentation for Twine 1. Anyway, the answer to all your questions in either case is absolutely yes :)
1) Here is an example in Twine 2 where you wait in line for icecream or barge to the front. Either brings you to the next page, "Icecream", but waiting in line increases your "patience" stat. If you have zero patience you're "sick of waiting" otherwise you have the option to wait for another icecream. Either way you can just leave and go to the next page.
{in first page} (set $patience to 0)
You are stuck waiting in line for icecream.
(Link: "Icecream")[(set $patience += 1)(goto: "Icecream") [[Push your way to the front-> Icecream]]
{in "Icecream"} The icecream is delicious.
(if $patience =0) [ You're sick of hanging around.] (else:) [ [[Wait for another Icecream]] ] [[Leave -> Next Page]]
2) I haven't used it but you want the "either" function for equally weighted random choices, and the "history" function to test if you've visited a page (or "visited" in Twine 1) The page I linked has examples of both. There's also the ability to use random number generators if you want to mess with the weighting.
nb: I have not actually tested this code so it may be wrong! But the right code should look something like that.
no subject
Date: 2015-08-22 04:48 am (UTC)From:This guide to differences between Twine 1 and Twine 2 acts as a convenient cheat sheet. I haven't used Twine in a while but afaict how you'd do your goals:
1) Here is an example in Twine 2 where you wait in line for icecream or barge to the front. Either brings you to the next page, "Icecream", but waiting in line increases your "patience" stat. If you have zero patience you're "sick of waiting" otherwise you have the option to wait for another icecream. Either way you can just leave and go to the next page.
{in first page}
(set $patience to 0)
You are stuck waiting in line for icecream.
(Link: "Icecream")[(set $patience += 1)(goto: "Icecream")
[[Push your way to the front-> Icecream]]
{in "Icecream"}
The icecream is delicious.
(if $patience =0)
[ You're sick of hanging around.]
(else:)
[ [[Wait for another Icecream]] ]
[[Leave -> Next Page]]
2) I haven't used it but you want the "either" function for equally weighted random choices, and the "history" function to test if you've visited a page (or "visited" in Twine 1) The page I linked has examples of both. There's also the ability to use random number generators if you want to mess with the weighting.
nb: I have not actually tested this code so it may be wrong! But the right code should look something like that.