0 votes
by (370 points)
Recently,I'm making a game with sugarcube.It has a lot of choices and passages which is very messy,and i wonder if there is a way so that when you click the link it will show new content in the same passage?And please don't advice me to read the sugarcube document.If i understand it i wouldn't have asked

1 Answer

0 votes
by (41.9k points)
edited by

Yes, you can use the <<switch>> macro to do that.  Some people use that trick to combine a series of passages that have no choices.  For example:

<<if ndef $textGroup>><<set $textGroup = 1>><</if>><<switch $textGroup>>
	<<case 1>>Initial story text.
		<<link "Link Text 1" `passage()`>><</link>>
	<<case 2>>Next story text.
		<<link "Link Text 2" `passage()`>><</link>>
	<<default>>Final story text.
		<<unset $textGroup>>[[Next Passage]]
<</switch>><<if def $textGroup>><<set $textGroup += 1>><</if>>

If you want to add more passages, just add more cases, following the same format as above. Also, make sure that the final passage, in the <<default>> case, does <<unset $textGroup>> to clear out that variable. The final passage can branch to multiple passages without a problem.

The story text doesn't need to be only one line.  It can be mutiple paragraphs.  I just used one line here to keep the sample short.

If you want another passage to go to a specific case above, then set $textGroup to that case number before they go there, like this:

[[Click here to skip to the second case|Combined Passage][$textGroup = 2]]

Hope that helps!  :-)

by (370 points)
Welcome to Twine Q&A, where you can ask questions and receive answers from other members of the community.

You can also find hints and information on Twine on the official wiki and the old forums archive.

See a spam question? Flag it instead of downvoting. A question flagged enough times will automatically be hidden while moderators review it.