Point system and allowing reader to restart the episode

My story has the point system but i want to allow players to restart the episode each time so they can change their views of the story. how can i reset the point system for that episode without removing points from previous episodes?

1 Like

I have this feature in my story! I can tell / show you what I did and hope it works for you too… but I must warn you that my code is a bit messy, so feel free to ask questions.

So basically, I labeled every choice throughout the story so that it could be remembered. Then, at the end of the story I simply subtracted points based upon each choice made. It looked like this:

if (breakfast_Marie is “Correct her.”) {

} else {
@MARIE +10
}

*Note that I left the first bracket blank because no points were lost or gained by choosing that branch.

I did that for all characters and all choices possible at the very end and then used a label to loop the player back to the beginning of the story. If you have any questions, please don’t hesitate to ask because I can provide more examples and clarify!

1 Like

Hey thank you for the help.
So if the player/reader wants to reply the story, instead of putting “CHARACTER +10” I use a negative?
And i just want to be clear 'breakfast_Marie’ is the choice’s name and ’ “Correct her” ’ is the choice that was picked to add the points? or is the first choice you input under the labeled choice?

I also got a few help on insta from this, and most of them said to use a backup character and simply us maths to fix things together but it would have a longer coding
eg:
if (LOVE =0){
@LOVE2 =0 }
else (LOVE =1) {
@hismoonrose 2 =0
} ect

Honestly i do think your method would be more efficient and less time consuming but I do need a better example and more knowledge on your method.
Like can this be used when I have more than 2 choices?
If you can provide me with more examples that would be very helpful.

As for gains (sorry i didn’t add gains in the descriptions), since gains are very helpful with remembering choices, I was thinking to use this method at the end to lock in choices since gains can not be undone. Would it function well if i add gains for the very end if player/reader decides to not reply the episode?

1 Like

I think gains would work fine as well! But yes, “Correct her” is the choice that was available earlier on in the chapter with breakfast_Marie being the name of the choice. The method I used can be used with all choices in the episode. Here’s a strand of my code:

if (date_men) {
if (text1_woman_1 is “Text him first. +❤️”) {
@KYLE -10
} elif (text1_woman_1 is “Text him first. +👥”) {
@MCBA -10
} else {
}
if (text2_woman_1 is “Send a text. +❤️”) {
@KYLE -10
} elif (text2_woman_1 is “Send a text. +👥”) {
@MCBA -10
} else {
}
if (ride_woman_1 is “Offer him a ride. +❤️”) {
@KYLE -10
} elif (ride_woman_1 is “Offer him a ride. +👥”) {
@MCBA -10
} else {
}
} elif (date_women) {
if (text1_woman_2 is “Text her first. +❤️”) {
@CHLOE -10
} elif (text1_woman_2 is “Text her first. +👥”) {
@MCBA -10
} else {
}
if (text2_woman_2 is “Send a text. +❤️”) {
@CHLOE -10
} elif (text2_woman_2 is “Send a text. +👥”) {
@MCBA -10
} else {
}
if (ride_woman_2 is “Offer her a ride. +❤️”) {
@CHLOE -10
} elif (ride_woman_2 is “Offer her a ride. +👥”) {
@MCBA -10
} else {
}
} else {
if (text1_woman_3 is “Text her first. +❤️”) {
@CHLOE -10
} elif (text1_woman_3 is “Text her first. +👥”) {
@MCBA -10
} else {
}
if (text2_woman_3 is “Send a text. +❤️”) {
@CHLOE -10
} elif (text2_woman_3 is “Send a text. +👥”) {
@MCBA -10
} else {
}
if (ride_woman_3 is “Offer her a ride. +❤️”) {
@CHLOE -10
} elif (ride_woman_3 is “Offer her a ride. +👥”) {
@MCBA -10
} else {
}

So basically what’s happening is that for each branch of code (I have 3 branches for 3 different sexuality options), I have named all point choices and then subtracted whatever number of points were gained through that choice.

So for this piece of code…
if (ride_woman_3 is “Offer her a ride. +❤️”) {
@CHLOE -10
} elif (ride_woman_3 is “Offer her a ride. +👥”) {
@MCBA -10
} else {
}
Ten points were gained by a different character if the first two options were chosen. To undo that, all I did was subtract ten points.

If you were to use gains, your code (using an example from mine) would look more like this:

Choice in the story:

choice
“Offer her a ride. +❤️” {
gain ride_woman_3_heart
[script]
} “Offer her a ride. +👥” {
gain ride_woman_3_friend
[script]
} "Don’t. {
[if you wish to subtract points, add a gain here]
[script]
}

When resetting the points:

if (ride_woman_3_heart) {
@CHLOE - 10
} elif (ride_woman_3_friend) {
@MCBA -10
} else {
[if you subtracted points, add them. if no points were lost or gained, leave this blank]
}

Personally, I tend to stray away from gains because it’s hard to keep track of them. However, the gain method should be just as effective as using a choice’s name like I did.

I hope this helps to clear things up a bit. If not, I’ll do my best to troubleshoot!

1 Like

Can I also use this with tappable choices?

1 Like

Hmmm, I’m honestly not quite sure. Let me do some experimenting and get back to you!