Skipping cutscene problem

Started by Jhumjhum, Sat 07/01/2006 10:46:35

Previous topic - Next topic

Jhumjhum

Hi there evreyone,
I'm having a problem with my cutscene. I'm using the non-oops version.

Here's the scene:
My intro screen has 2 buttons.

'View intro' & 'skip intro'.

On clicking 'view intro' naturally the cutscene starts. Something like:

Newroom(2,9,11);

Then on room 2's "first time player enters"

startcutscene(1);
Displayspeech(EGO,"blah blah");
Displayspeech(MAN,"something something");
AnimateCharacter(EGO,3,0,0);
endcutscene();
NewroomEx(3,100,111);

Ok. No problem at all.

If the player clicks "skip intro" the game will start on room 3.
Its fine & the player can control the character progressing the game. But now if the player character goes to room 3, he has to witness the cutscene. As on skipping the cutscene, the player character never went to room 3.

I know there's a ResetRoom feature, by which you can again call the "first time player enters.." event. But what I want is the opposite of that.

Something which will tell the script to assume on clicking "skip intro'Ã,  that player has already been in room. I hope I've been able to explain properly.

There's a feature Hasplayerbeeninroom. But its a read only value. You can't set Hasplayerbeeninroom to FALSE or TRUE.

I know this can be achieved by using globalints, but is there another way? I'm already using globalints for many things and I want to avoid using them if I can, as the chance of error increases if there are many variables to track.

I've scanned the help file thoroughly, read he Bfaq and I did a search with the keywords "cutscene" but I didn't find the answer to my problem.

I'd greatly appreciate your help.
Thank you.


DoorKnobHandle

You could use:

(1) Global Ints - You said you are afraid of an error if you have too many GlobalInts? I know AGS can handle lots of them, so I assume you mean an error from your side (for example messing up numbers).
(2) Variables - Those are pretty much the same than GlobalInts, but you don't have to remember a number for those, you can give those real names (so you could create a variable called: PlayerSawIntroYet or whatever you want and then you can set this variable to 0 or to 1 manually depending on whether or not the player saw the intro yet) - read up on "variables" in the manual or bfaq for that topic!
(3) Two rooms - Or you could just have your room 3 twice in your game, just looking exactly the same. Once it is the room for the cutscene and the other one is the one that the player will be able to walk around later in the game.

Hope I can help.

Jhumjhum

#2
Hi dkh, thanks for your help!
Quote
You could use:
(1) Global Ints - You said you are afraid of an error if you have too many GlobalInts? I know AGS can handle lots of them, so I assume you mean an error from your side (for example messing up numbers).

Yeah, that's what I am worried about keeping track of many globalints & for what I'm using them, what there values mean... I'm bound to mess up.

Quote(2) Variables - Those are pretty much the same than GlobalInts, but you don't have to remember a number for those, you can give those real names (so you could create a variable called: PlayerSawIntroYet or whatever you want and then you can set this variable to 0 or to 1 manually depending on whether or not the player saw the intro yet) - read up on "variables" in the manual or bfaq for that topic!

I'll try that right now.

Quote(3) Two rooms - Or you could just have your room 3 twice in your game, just looking exactly the same. Once it is the room for the cutscene and the other one is the one that the player will be able to walk around later in the game.

That's what I did in my first game. But in this game there are quite a lot of rooms & I'm trying to figure out how to reduce the number of rooms without distorting the story too much.

Thank you for hearing me out again.

EDIT: Hey, I tried your solution no. 2 and it works! It will solve other problems too regarding too many globalints. Thanks you soo much.


SMF spam blocked by CleanTalk