[I read manual and searched forums and couldn't find anything, if there is, please kindly point me to the right direction and my apologies if I missed something....]
So, I know that several commands do not actually execute until the script is done.Ã, I've gotten in the habit of just running everything in script.Ã, So, what I've done up to this point, if I need action1, dialog, action2....
We'll say on the interact click I'll just put 2 actions of both scripts..
script 1:Ã,Â
action
action
RunDialog(4);
script2:
action
action
both of these scripts being part of what happens during the interact click...
by the first script ending, that causes RunDialog(4) to actually run
after that is done, script2 runs...
but I've run into a problem now where I've need 4 scripts, but #3 is NOT getting run...
background:
main character is "ROBERTA"
these actions are getting generated but using an item on a character named LOANGUY
during the scene "ROBBER" comes in and says stuff and eventually "BOND" comes in too
here is script 1
------------------------------------------------------------------------------------------------------------------------------------
Display("a1");
if ((GetCursorMode() == 4) && (character[ROBERTA].activeinv == 3))
Ã, {
Ã, Ã,Â
Ã, Ã, Ã, Ã, StartCutscene(1);Ã, Ã, // start a cutscene
Ã, Ã, Ã, Ã, IN_MIDDLE = 1;Ã, Ã, Ã, Ã, // this is a global I use to help me out
Ã, Ã, Ã, Ã, Cursors_gamehourglass();Ã, Ã, // a function that disables all cursors but the hourglass and shows only hour glass
Ã, Ã, Ã, Ã, MoveCharacterBlocking(ROBERTA, 110, 167, 0);Ã, // move roberta closer to loan guy
Ã, Ã, Ã, Ã, RunDialog(9);Ã, Ã, // a conversation between roberta and loan guy
Ã, }Ã,Â
Ã,Â
Ã,Â
Ã, Display("b1");
-------------------------------------------------------------------------------------------
the above runs just fine...I see "a1" and "b1" showing
now script 2
------------------------------------------------------------------------------------------------------------------------------------
Display("a2");
if (IN_MIDDLE == 1)
{
Ã, Display("Just then, you here some rustling at the door.");Ã, Ã, // a message
Ã, character[ROBBER].room = 5;Ã, Ã, //
Ã, character[ROBBER].x = 78;Ã, Ã, Ã, Ã, //
Ã, character[ROBBER].y = 250;Ã, Ã, Ã, //
Ã, FaceLocation(ROBBER, 78, 0);Ã, Ã, //
Ã, MoveCharacterBlocking(ROBBER, 78, 187, 1);Ã, //
// the last 5 lines place my robber in the room, but out of screen then move him
// into the room
Ã, RunDialog(10);Ã, // a stick 'em up dialog of just the robber
}
Display("b2");
-----------------------------------------------------------
this too runs just fine, I see "a2" and "b2" show up
the conversation works ok too, and for those wondering if that is broken, here's the script for dialog 10
@SÃ, // dialog startup entry point
return
@1Ã, // option 1
ROBBER:Ã, "All right everyone, hands in the air!Ã, I want everyone's money!"
stop
so I think I'm doing it right...
now script 3, this is the one getting skipped:
------------------------------------------------------------------------------------------------------------------------------------
Display("a3");
if (IN_MIDDLE == 1)
{
Ã, Display("OH NO!Ã, The bank is getting robbed.Ã, Your dreams of Sierra-On-Line are quickly fading away.");
Ã, Display("But what's this...?");
Ã, Display("Once again you hear something outside the door.");
Ã, Display("This time it's a police car, and someone is bursting in.");
Ã, character[BOND].room = 5;
Ã, character[BOND].x = 78;
Ã, character[BOND].y = 250;
Ã, FaceLocation(BOND, 78, 0);
Ã, MoveCharacterBlocking(BOND, 78, 190, 1);
Ã, ChangeCharacterView(ROBBER, 14);
Ã, RunDialog(11);
}Ã,Â
Display("b3");
----------------------------
this script3 NEVER happens.... I don't even see the "a3" and "b3"
script 4, which executes......
------------------------------------------------------------------------------------------------------------------------------------
Display("a4");
if (IN_MIDDLE == 1)
{Ã,Â
Ã, robberyhappened = 1;Ã, // the robbery event has occured
Ã, IN_MIDDLE = 0;Ã, Ã, // turn off the fact I'm in the cutscene
Ã, Cursors_gamenormal();Ã, Ã, // return cursors to normal gameplay
Ã, EndCutscene();Ã, // end cut scene
}Ã,Â
Display("b4");
Ã,Â
----------------
I see the "a4" and "b4"
My only guess is this:
This is running via character "Loanguy"
but in script 2 I am 'touching' the ROBBER character...
does is invalidate the script 3 perhaps?Ã, Ã,Â
another question to pose here is...Am I even doing this properly?
is there a better way of doing this.Ã, is there a more proper way about this?
thank you
So, I know that several commands do not actually execute until the script is done.Ã, I've gotten in the habit of just running everything in script.Ã, So, what I've done up to this point, if I need action1, dialog, action2....
We'll say on the interact click I'll just put 2 actions of both scripts..
script 1:Ã,Â
action
action
RunDialog(4);
script2:
action
action
both of these scripts being part of what happens during the interact click...
by the first script ending, that causes RunDialog(4) to actually run
after that is done, script2 runs...
but I've run into a problem now where I've need 4 scripts, but #3 is NOT getting run...
background:
main character is "ROBERTA"
these actions are getting generated but using an item on a character named LOANGUY
during the scene "ROBBER" comes in and says stuff and eventually "BOND" comes in too
here is script 1
------------------------------------------------------------------------------------------------------------------------------------
Display("a1");
if ((GetCursorMode() == 4) && (character[ROBERTA].activeinv == 3))
Ã, {
Ã, Ã,Â
Ã, Ã, Ã, Ã, StartCutscene(1);Ã, Ã, // start a cutscene
Ã, Ã, Ã, Ã, IN_MIDDLE = 1;Ã, Ã, Ã, Ã, // this is a global I use to help me out
Ã, Ã, Ã, Ã, Cursors_gamehourglass();Ã, Ã, // a function that disables all cursors but the hourglass and shows only hour glass
Ã, Ã, Ã, Ã, MoveCharacterBlocking(ROBERTA, 110, 167, 0);Ã, // move roberta closer to loan guy
Ã, Ã, Ã, Ã, RunDialog(9);Ã, Ã, // a conversation between roberta and loan guy
Ã, }Ã,Â
Ã,Â
Ã,Â
Ã, Display("b1");
-------------------------------------------------------------------------------------------
the above runs just fine...I see "a1" and "b1" showing
now script 2
------------------------------------------------------------------------------------------------------------------------------------
Display("a2");
if (IN_MIDDLE == 1)
{
Ã, Display("Just then, you here some rustling at the door.");Ã, Ã, // a message
Ã, character[ROBBER].room = 5;Ã, Ã, //
Ã, character[ROBBER].x = 78;Ã, Ã, Ã, Ã, //
Ã, character[ROBBER].y = 250;Ã, Ã, Ã, //
Ã, FaceLocation(ROBBER, 78, 0);Ã, Ã, //
Ã, MoveCharacterBlocking(ROBBER, 78, 187, 1);Ã, //
// the last 5 lines place my robber in the room, but out of screen then move him
// into the room
Ã, RunDialog(10);Ã, // a stick 'em up dialog of just the robber
}
Display("b2");
-----------------------------------------------------------
this too runs just fine, I see "a2" and "b2" show up
the conversation works ok too, and for those wondering if that is broken, here's the script for dialog 10
@SÃ, // dialog startup entry point
return
@1Ã, // option 1
ROBBER:Ã, "All right everyone, hands in the air!Ã, I want everyone's money!"
stop
so I think I'm doing it right...
now script 3, this is the one getting skipped:
------------------------------------------------------------------------------------------------------------------------------------
Display("a3");
if (IN_MIDDLE == 1)
{
Ã, Display("OH NO!Ã, The bank is getting robbed.Ã, Your dreams of Sierra-On-Line are quickly fading away.");
Ã, Display("But what's this...?");
Ã, Display("Once again you hear something outside the door.");
Ã, Display("This time it's a police car, and someone is bursting in.");
Ã, character[BOND].room = 5;
Ã, character[BOND].x = 78;
Ã, character[BOND].y = 250;
Ã, FaceLocation(BOND, 78, 0);
Ã, MoveCharacterBlocking(BOND, 78, 190, 1);
Ã, ChangeCharacterView(ROBBER, 14);
Ã, RunDialog(11);
}Ã,Â
Display("b3");
----------------------------
this script3 NEVER happens.... I don't even see the "a3" and "b3"
script 4, which executes......
------------------------------------------------------------------------------------------------------------------------------------
Display("a4");
if (IN_MIDDLE == 1)
{Ã,Â
Ã, robberyhappened = 1;Ã, // the robbery event has occured
Ã, IN_MIDDLE = 0;Ã, Ã, // turn off the fact I'm in the cutscene
Ã, Cursors_gamenormal();Ã, Ã, // return cursors to normal gameplay
Ã, EndCutscene();Ã, // end cut scene
}Ã,Â
Display("b4");
Ã,Â
----------------
I see the "a4" and "b4"
My only guess is this:
This is running via character "Loanguy"
but in script 2 I am 'touching' the ROBBER character...
does is invalidate the script 3 perhaps?Ã, Ã,Â
another question to pose here is...Am I even doing this properly?
is there a better way of doing this.Ã, is there a more proper way about this?
thank you