Choicescript_stats assistance

So. Would, if I put my choicescript_stats file in here, someone be able to have a look to see if I have done anything wrong, so I can use it as a guide to fix everything? Would have put it in ult newbe codeing, but keeps saying I can’t reply anymore. So. Yeah.
Here is the stats file.

*label my_stat_page
My mental records
	*if (stat_page !=0) 	# my_stat_page.
		*set stat_page 0
		*goto my_stat_page
	*if (stat_page!=1) # ${mc_fullname}, esencials.
		*set stat_page 1
		*goto esencials
	*if (stat_page !=2) #My tangibles.
		*set stat_page 2
		*goto tangibles
	*if (stat_page !=3) #relationships.
		*set stat_page 3
		*goto my_relationships
	*if ((stat_page !=4) and (pack_desc =true)) 	# pack_infermation.
		*set stat_page 4
		*goto pack_infermation
	*if (stat_page!=5) # character_infermation.
		*set stat_page 5
		*goto character_infermation
	# return to the game
		*finish [I]Back to the game
*label esencials
${mc_fullname}, esencials
	text mc_first name

	text mc_surname surname

	text  mc_fullname fullname

	text mc_hairlength hairlength

	text mc_haircolor haircolor

	text mc_hairstyle hairstyle

	text  mc_eyecolor eyecolor

	text mc_hight hight

		text mc_build build

	opposed_pair  mind

	opposed_pair  team_player

	opposed_pair direct
		indirect monipulative

	opposed_pair bold

	opposed_pair genuine

	opposed_pair stoic 

	opposed_pair friendly 

	opposed_pair pragmatic 

	opposed_pair charming 

	opposed_pair easyGoing 

	opposed_pair impulsive 
*goto my_stat_page

*label tangibles
${mc_fullname}, tangible statistics.
	percent people people

	percent combat fighting

	percent perception perception

	percent tech science and technolagy
*goto my_stat_page
*label my_relationships
	percent t_name name

	percent l_name name

	percent n_name name

	percent d_name name

	percent a_name name

	percent a_title title

	percent i_name name

	percent g_name name 

	percent k_name name
*goto my_stat_page
*label pack_infermation
pac records

	text t_name name

	text t_surname clanname

	text t_fullname fullname

	text t_rank rank

	text t_gender gender

	text t_hight hight

	text t_hairlength hairlength
	text t_haircolor haircolor
	text t_hairstyle hairstyle

	text t_eyecolor eyecolor

	text t_build build

	text t_accent accent


	text l_name name

	text l_surname surname

	text l_fullname fullname

	text l_rank rank

	text l_hairlength hairlength
	text l_haircolor haircolor
	text l_hairstyle hairstyle

	text l_eyecolor eyes

	text l_hight hight

	text l_build build

	text l_skincolor skincolor
*page_break ${n_fullname}

	text n_name name

	text n_surname surname

	text n_fullname fullname

	text n_rank rank

	text n_hight hight

	text n_hairlength hairlength
	text n_haircolor haircolor
	text n_hairstyle hairstyle

	text n_eyecolor eyes

	text n_build build

	text n_accent accent

	text n_skincolor skin
*page_break ${d_fullname}

	text d_name name
	text d_surname surname
	text d_fullname fullname
	text d_rank rank
	text d_gender gender
	text d_hairlength hairlength
	text d_haircolor haircolor
	text d_hairstyle hairstyle
	text d_eyecolor eyecolor
	text d_hight hight
	text d_build build 
	text d_accent accent
	text d_skincolor skincolor
	*goto my_stat_page
*label character_infermation
Ant Ivy.
	text i_name name
	text i_surname surname surname
	text i_fullname fullname
	text i_hair hair
	text i_build build
	text i_hight hight
	text i_skincolor skincolor

	text k_name name
	text k_surname surname
	text k_fullname fullname
	text k_hairlength hairlength
	text k_haircolor haircolor
	text k_hairstyle hairstyle

	text k_eyecolor eyecolor

	text k_hight hight

	text k_build build

	text a_name name

	text a_surname crewname

	text a_hairlength hairlength
	text a_haircolor haircolor
	text a_hairstyle hairstyle

	text a_hight hight

	text a_build build

	text a_eyecolor eyecolor

	text a_skincolor skincolor


	text g_name name

	text g_surname boundname

	text g_fullname fullname

	text g_hairlength hairlength
	text g_haircolor haircolor
	text g_hairstyle hairstyle

	text g_eyecolor eyecolor

	text g_hight hight

	text g_build build

	text i_name name

	text i_surname bloodname
	text i_hairlength hairlength
	i_haircolor haircolor
	i_hairstyle hairstyle

	text i_hight hight

	text i_eyecolor eyecolor

	text i_skincolor skin


	text sk_name name

	text sk_surname surname

	text sk_fullname fullname

	text sk_hairlength hairlength
	text sk_haircolor haircolor
	text sk_hairstyle hairstyle

	text sk_eyecolor eyecolor

	text sk_hight hight

	text sk_build build

Also. Could anyone tell me how to have stuff like haircolor, hairlength, etc display something like:
Long dark braded hair.
Something like that. In mine, it displays like a military report, which doesn’t work as well in the current story.

Are you getting an error message? If so, what is it?

1 Like

I’m not getting an error message, it’s just that the stats are not displaying the way I want them to display ass. And I’m not sure how to alter them so that they display the way I want them to display.

1 Like

Ah gotcha. I think by military design you mean something like:
Hair color-blah blah blah
Eye color- blah blah blah

Right? If you want it to look more like what you were describing, just put the variables in order of how you want them to display. For example, from my dead WIP lol:

Name: $!{honorific} $!{name}

I have this. In game it appears as

Name: King Jacob

In the example you mentioned with hair (using your variables) try this:

Name: $!{sk_surname} $!{sk_name}
Description: $!{sk_hairstyle} ${sk_haircolor} ${sk_hairlength} hair with ${sk_eyecolor} eyes. Is ${sk_hight} with a ${sk_build} build. 

(Also, for future reference, ‘hight’ is spelled ‘height’)

Let me know if that works! Good luck :grin:


Not quite sure what I am doing wrong. Followed your instructions and currently have:

	text i_fullname $!{i_fullname}

Currently showing as:
ivy Hawthorn: Ivy Hawthorn
Need to keep the text name, I think? Gives me arrors if I just go with the !{variable name} Unless I need to remove the !?

1 Like

(Replying from email, sorry if it comes out weird)
Don’t use the stat chart command. Just have the page as:

Do not have it nested with a stat screen

1 Like

Also, you need the dollar sign, exclamation point is optional. Dollar sign recalls a variable you’ve already defined, exclamation point capitalizes it


Yay! That works.
Now. What do I do with stuff like:
Heart. Mind. ETC?
Not sure how to treat percentages.

It really depends on what you want the screen to look like! If you want the colored bars that show percentages, do the *stat_chart command. If you just want a value, you can just do something like Perception: ${perception} which shows a numeric value after the named stat. You can also set up blocks of *if statements with written descriptions of the values like this:

*if (perception > 90)
    Eyes of an eagle
*if (perception > 50)
    Above average sight
*if (perception = 50)
    Average vision
*if (perception > 10)
    Below average sight
    Blind as a bat

The above should line up your preferred description (likely a lot more creative and extensive than mine) immediately to the right of “Perception:” and the *line_break command ensures that the next piece of your stat page will be below the perception stat.

As far as design… that’s something you’ll have to plan ahead for or do a lot of adjusting as you write. I’d encourage you to use most, if not all, of the stat bar if you choose to use those. It can be confusing and frustrating if you are playing and never get a stat over 30. You’ll probably be able to get a lot more feedback about that when you release your demo though, so don’t get stressed about it for now!

Hope that helps :slight_smile:


Currently I have something like this:


It’s showing as:


Also. If I do it this way, will it still have an aposed stat? If not, how do I make it have one?

Before I forget, there are ways to address this as well! It requires you to make a few more notes on the backend, but you can do some cool things with multiselect! For the example of hair:
In the startup.txt, we need to create a variable for hair like so: *create hair 0 . I add a comment line above this that will track the state of this variable like so: *comment 1 -> bald | 2 -> short | 3 -> medium | 4 -> long
Now, when I am putting the character creator together in chapter 1, I have a list of options for hair length:

      *set hair 1
      *set hair 2
      *set hair 3
      *set hair 4

Then, in my stats page, I can have a written description of the character using multiselect command ( @{variable option1|option2|option3} ). It can be written like this:

$!{characterName} is a ${ManWomanPerson} with @{hair a bald head | short hair | medium hair | long hair}.

Let’s say the character is Wally who is a man and has short hair (aka hair = 2). It would read in the stats page as Wally is a man with short hair.

1 Like

Opposed pairs will only come up if you set it up in a stat chart like this:

    opposed_pair mind

Could you paste the code exactly as written in your choicescript_stats page so I can look at how you have it set up and test it?

aposed_pair mind


aposed_pair direct

Something like that, though I revamped most of it now. Only wanted the aposed_pair so the correct stat, say heart when I have a choice that affects mind, would be changed.

Like I said earlier, just make sure you have it inside of a *stat_chart and ensure you’ve spelled the command correctly (opposed_pair). When you actually write things out in your story you will have to change the proper variable, so if something were to make you more direct you can have *set direct %+10 and if you have something that makes you indirect you can do *set direct %-10. This can get confusing, so I’d recommend renaming the variable to something like indirectDirect and then it’s more clear that a smaller value is indirect and a larger value is direct. Then, your stat chart should be set up like this to ensure things are showing up properly:

    opposed_pair indirectDirect

Would something like:

percent opposed_pair direct {direct}

indirect {indirect}
``` Work?

No, you need to have it in a *stat_chart like I showed you for the opposed pair to work. You can have a stat chart with just one variable inside of it though

@WallyWorld’s example is right. Here’s another as well as the way it displays in game.

  opposed_pair awk
  opposed_pair cha
  opposed_pair dir
  opposed_pair gen
  opposed_pair hum
  opposed_pair org
  opposed_pair per
  opposed_pair yie

Indented under the *stat_chart command, you use opposed_pair and the name of the variable you want to display. Indented under that you put the display names, the left (red) name on the first line and the right (blue) name on the second.

To sum it up one more time in template form:

  opposed_pair variable_name
    Left Display Name (Red)
    Right Display Name (Blue)

Remember, for an opposed pair, you only need one variable

1 Like

Currently I have.


opposed_pair mind

Indents in excerpt might be a bit off, it’s good in the document though. The only problem is, I’m getting, the chart is showing:

mind 50% mind 50%

heart 50%

ETC down the list.
Unsure quite how to get it to just reflect the 1, and not duplacits.

This is because you haven’t added the second label for your opposed pair. Try this code exactly and see if this is what you want:

    opposed_pair mind

Think I got the basics that stuff fixed now. Might add some flavour text for relationships, but if I do that, will do that later down the line once I’ve got the actual story portion figured out, so yeah.
Thanks for all your help with this stuff. :slight_smile:

1 Like