oh yeah sure, will do as soon as my pc works again! i tried using wine on my wife's mac to take a couple screenshots but with no success.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote from: Kumpel on Mon 12/02/2018 10:22:29
What about simply changing the room's background frame or putting an object in the size of the screen in front of everything? Wouldn't that suffice too? (Me trying to think practical...)
Quote from: Crimson Wizard on Sun 11/02/2018 23:40:31
Hello.
Unfortunately AGS does not support changing rooms in the middle of a script function, only in the end.
So, the only solution is to split the script in parts (or dialogs - in this case).
1. Play the dialog part #1.
2. Change to "cutscene" room 9.
3. After finishing cutscene in room 9, change back to room 4.
3. Upon entering room 4, start dialog part #2.
4. and so on.
Since you revisit same rooms several times under different circumstances, you need to introduce a condition, that would tell you when you need to start a dialog and when not.
For example, you could create a global variable called "int InCutscene;" (or rather use more descriptive name, since you game may have many cutscenes).
In the first dialog you set it up:Code: ags @2 Characterone: blah blah blah Charactertwo: blah blah InCutscene = 1; <--- set variable player.Changeroom(9); <-- that's the "cutscene" room stop <---- end the dialog
In the room's 9 "After fade-in" event do:Code: ags // room 9 function room_AfterFadeIn() { if (InCutscene == 1) { // play cutscene InCutscene = 2; // update variable player.Changeroom(4, 400, 400); <-- that's the previous room, the player is supposed to go back to where he was during the first part of the dialogue } }
And in the room's 4 "After fade-in" event you launch the following part of the dialog:Code: ags // room 4 function room_AfterFadeIn() { if (InCutscene == 2) { dDialogPart2.Start(); // launch second part of dialog } else { // something else } }
function room_AfterFadeIn()
{
Wait(40);
// play cutscene
InCutscene = true;
player.ChangeRoom(4, 484, 400, eDirectionRight);
}
function room_AfterFadeIn()
{
if (InCutscene)
{
dDialog4.Start(); // launch second part of dialog
dDialog1.Start(); // launch second part of dialog
InCutscene = false;
}
}
Character: blah blah.
player.ChangeRoom(9);
option-off 2
stop
@2
Characterone: blah blah blah
Charactertwo: blah blah
player.Changeroom(9); <-- that's the "cutscene" room
Wait(35);
player.Changeroom(4, 400, 400); <-- that's the previous room, the player is supposed to go back to where he was during the first part of the dialogue
Characterone: blah blah
By continuing to use this site you agree to the use of cookies. Please visit this page to see exactly how we use these.
Page created in 0.063 seconds with 15 queries.