Non-threaded

Forums » Advanced Editor Forum » Read Thread

Get help from the experts on variables, scripts, items, and other scary things.

I need someone to explain scripting like I'm 5.

2 hours ago
The articles simply do not make sense to my tiny little pigeon brain. Neither do past threads. I've tried. Google is also not helpful. I think I may be clinically retarded. Tell me how I'm coding a whole game in Java and can't remotely figure out HTML? I don't know, don't ask. All I can do is make clicky links, bold/underlined/italic/strikethrough text and paragraph breaks. I can barely do images and even then I have to reference the cheat sheet HMTL article. Anyway, I have specific questions. Remember, pretend I'm a young child.

1. How do I add a background in a storygame? How do I change the color of the text?

2. Dice rolling random pages from one link.

3. Pagescript based on variables.

Now, don't get me %this or $that because I have no clue what you're telling me when you say that. If I did I could probably have figured this out by now.

Thanks in advance.

P.S. I hate the RTE and do not use it.

I need someone to explain scripting like I'm 5.

one hour ago
1. Backgrounds (and anything else visual) you can handle by using HTML and CSS:
https://www.w3schools.com/htmL/html_images_background.asp
https://www.w3schools.com/css/css_background.asp
With RTE disabled all you need to do is paste html code into the text box to style things.

2. A way that wouldn't involve excessive programming skills would be to randomize a variable using the editor's random function and then create multiple connections to all the pages you want to the randomizer to pick from and set link restrictions so that only of them is visible at a time based on the random variable set earlier. If you name them all the same then from the reader's it would look like it's a single link that sends them to a random page.
https://chooseyourstory.com/help/articles/article.aspx?ArticleId=14

If you need me to elaborate or provide some examples hit me up on discord or something.

I need someone to explain scripting like I'm 5.

one hour ago
Like a 5-year old?

“’Puter do dis, den do dat!” A script is like a widdle list of step‑by‑step instructions you give to the big shiny machine so it knows what to do next. You tell it, “If dis happens, den you go boop‑boop and do da next ting,” and the computer listens very carefully, like a very good baby robot. Each command is a tiny nudge that says, “Go here, sweetie… now go there… now make da numbers go zoom!” Put them all together and the computer toddles through the tasks exactly the way you told it to, no fuss, just happy little code steps marching along.

I need someone to explain scripting like I'm 5.

57 minutes ago

LMAO, I laughed way too hard at this! Someone, please commend it!

I need someone to explain scripting like I'm 5.

12 minutes ago

A background is an image. Use html in a global script to display the image on every page. You can look up how to change text colors, that's just standard html that has nothing to do with the site scripting.

Keep in mind lots of people are reading in dark mode though, and lord of people find lots of random colors and fonts very annoying.

% denotes a variable. $ means a system variable.
:= means "set to"
This is all info contained in the articles!
@ is the "at" symbol, as in Liminal AT gmail.com, or AT page location.

= means fucking equal
IF is a word in the English language, much like THEN!

"IF THIS IS TRUE, THEN SET THIS NUMBER TO THAT" is an easily parsable concept, also in English!

%RNG := 1D6
IF %RNG = 1 THEN
$DEST := @P12
IF RNG = 2 THEN
$DEST := @P13


Pagescripts I find very few uses for, on page scripting is easier imo if you want to change the actual text, and link scripts can do just about everything else and also are processed before the page loads. The article on page scripts show the exact punctuation marks you need to type though if you want extra text to display afaik.

I need someone to explain scripting like I'm 5.

12 minutes ago
Commended by Mizal on 1/16/2026 1:09:47 PM
Well the RTE has nothing to do with scripting and probably actively makes it worse/more frustrating, so you're good on that front (I've never used it because it seemed clunky to me). Now, don't get me %this or $that because I have no clue what you're telling me when you say that. If I did I could probably have figured this out by now. Yeah, this is the start to understanding scripting. Once you understand the variables, like 99% of those articles you were stuck on will start making sense. There are three kinds of variables: user variables, system variables, and constants. Each type of variable has a different prefix sign, which you will need to use every time you reference a certain variable of its type. For example, you can't use the system variable sign $ to refer to a user variable % because CYS will think the variable doesn't exist. So you can't say %PAGEID unless you literally created a variable named %PAGEID, and you can't say $AMMO to access your variable named AMMO that you created (you'll have to use %AMMO). User variables are the variables that you created for your story (including the default SCORE). These variables are marked with a percent sign "%" to show that they are user variables. User variables can only contain integer values (so whole numbers, positive or negative). The most common use for user variables are storing character stats. Think values like %STRENGTH, %HEALTH, %MONEY, %AMMO, %ENERGY. At the more advanced levels, you can use user variables to create combat scenarios, store relationship statuses between characters, and more. System variables are variables that cannot be created by you. They are part of the scripting system, hence the name; their values can, however, be modified. These variables are marked with a dollar sign "$" to show that they are system variables. $PAGETEXT is a system variable, and it holds all of the text on a given page. Some other system variables are $PAGEID, $ITEMSTATEX (if X [where X is the ID of an item in your story] is or is not in your inventory), $ITEMUSEDX (how many times X [where X is the ID of an item in your story] has been used), and $DEST (determines what page a reader gets sent to). There are also constant variables, denoted by an at sign "@". These are variables that cannot be changed. They are regularly used to specify page/chapter IDs (ex: @P39 is page ID 39, @C3 is chapter ID 3) and innate destinations like @SAVE (the save game page), @END (the end game page), etc. because these IDs cannot be changed. You can change the name of a chapter or a page, but not its ID. $DEST uses constant values to determine where to send a reader. TL;DR: user variables is stuff you make, start with %, only integers. system variables is stuff made/tracked by the system, start with $, value can be changed. constants is stuff whose value cannot change, start with @, usually used for direction via $DEST. So now that that's squared away, hopefully that makes the articles seem less intimidating. With that being said, my recommended reading for each question: 1. How to Create a Great Title Page - obviously a specific use case but the fundamental concepts are still there and can be applied via HTML/CSS 2. How to use Random Variables - read this first to understand how the dice system in CYS Script works and how to read the dice notation, then read Scripting Random Encounters and Events to see some examples on how to apply the random variables practically via $DEST handling 3. Since you're familiar with Java, just think of if statements. That's basically how you handle PAGETEXT changes depending on variable, just with different syntax. How to Use Scripting to Improve your Story has multiple examples on exactly how to accomplish this in CYS Script. Oh I had a bunch of stuff on HTML too but I didn't want to give you a bigger wall of text than I already wrote because I'm horrifically bad at explaining things an appropriate amount. Check out W3schools for a super intuitive HTML/CSS resource.