Stats Screen Design

I’m new to using ChoiceScript but so far, I got the gist of it. What I’m having trouble with mostly is designing my stats screen. I want to be able to describe my ROs, and lock their stats until the MC has met them. For example:

[RO Name]
Status: You have not met this person yet.

I have no idea how to code that though. The stats screen design I’m mostly aiming for is similar to The Wayhaven Chronicles’ stats screen, but I have no idea how to go about it. Little help please? Thank you in advance!

You can look at he code of anything hosted on dashing don. If you want to see how the wayhaven 3 stats screen looks you can see here (spoilers beware):

https://dashingdon.com/play/seraphinite/the-wayhaven-chronicles-book-three-demo/mygame/scenes/choicescript_stats.txt

2 Likes

The simplistic version is like this. Inside choicescript_stats.txt

${ro1_name}
*line_break
Status:
*if (ro1_relation > 2)
  You are friends.
  *goto ro1_relation_end
*elseif (ro1_relation > 1)
  You are acquaintances.
  *goto ro1_relation_end
*elseif (ro1_relation > 0)
  You met each other.
  *goto ro1_relation_end
*else
  You have not met this person yet.
  *goto ro1_relation_end
*label ro1_relation_end

The specifics of numbering/threshold is up to you. Add more *elseif levels as needed, but make sure if it’s descending, add top level comparison as the *if (there can only be one *if in a group of if-elseif-else code). Let me know if that sounds confusing. :innocent:

The rest of your design will take some time to get used to if you are just starting out. Peeking at other people’s code on dashingdon as Alice-chan mentioned is one way to do it. :slight_smile:

5 Likes

Ohh, I see! I wasn’t aware you could do this in Dashingdon. Thank you so much, I’ll be checking the choicescript_stats.txt for reference soon :blush:

Creating and keeping track of variables, plus implementing the numbering values is a little intimidating but this is really helpful! I’m not quite well-versed with the *if, *elseif, and *else statements yet but I’ll do my best to learn. Thank you so much, and for providing a coding example as well! :blush:

3 Likes

Maybe create multiple variable to keep track of the ROs

I mean something like this:

In the startup.txt file you create a variable to keep track of one RO

*create metAlice false

And in the choicescript_stat.txt you include the code to lock the actual ROs. This one might be a bit tricky as you need to code the command stat_chart for every character so it output it correctly in the stat screen

*stat_chart
  *If metAlice false
    [b]Alice[/b]
    Status:
    You have not yet met this character
  *If metAlice true
    percent Alice

And lastly whenever the reader get to meet the actual character in the story you set the variable metAlice to true like that:

*set metAlice true

I know it’s a bit messy but it’s the only way I have found so far maybe there are easier ways to do it. And lastly reading other games code is a great way to get better at it so don’t hesitate.

Oh and you can learn a lot of things in the choicescript wiki

The link is: Choicescript wiki

5 Likes

This is actually pretty similar to what I have so far! I still want to give the points system a try, mostly because I find the percentage system for relationships too distracting, but it’s good to know that I’m headed in the right direction. Thank you so much! :blush: