Trying to make an adventure with achievements [Solved]

Hi!

I've created a text adventure where the player solves mini-quests within the game. Each quest adds to the player score, and there are 24 points to get.

  1. I want to make the player win the game (game ends) when they reach the score 24, but I can't seem to find how to do this?

  2. Is there a way to make a list of "achievements" for the player? A "completed quest" list? I'd like to give the mini-quests names and have them show up together with the inventory and score in the status field.

I've been searching the forums and the tutorial for hours but either I'm stupid or this info is not to be found...
Also, I can't code so I've only used the functions in the Quest game for Windows.

Thanks in advance!
/J


I want to make the player win the game (game ends) when they reach the score 24, but I can't seem to find how to do this?

If you're using the built-in score system, you would want to check if they've hit 24 each time their score increases. To avoid making 24 copies of the same script, I'd suggest creating a turnscript, so it checks every turn. It would look something like:

if (game.score = 24) {
  msg ("Congratulations, you finished all the quests!")
  finish
}

Is there a way to make a list of "achievements" for the player? A "completed quest" list? I'd like to give the mini-quests names and have them show up together with the inventory and score in the status field.

I think the easiest way to do a quest list without coding would be making the quests into objects, with as much detail as you want in their descriptions.

You could give the player an object called "list of completed quests" or something like that; and maybe "quests in progress" as well. Make them transparent containers, so the player can see what's inside them but can't take stuff out, and move the quests into the right book as necessary.

If you're using this method, you could also modify your turnscript like this, so it counts how many quests are in the list rather than having to keep a separate score:

if (ListCount (GetDirectChildren (completed quests)) = 24) {
  msg ("Congratulations, you finished all the quests!")
  finish
}

Lots of thanks, will try your suggestions!

/J


Update: The score + end game worked perfectly! The other one I haven't had time to try yet, but I think I'll probably stick with just the score for now.

Again, thanks for the help. :)

/J


This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums