8. In this script, right after Player1 tells "TROLL" to play dead, he should
move to "TROLL." However, he does not. With this
combination, Player1 will only move to "TROLL" after the PlayDead()
action is completed. This is because Player1 must
control both the actions of "TROLL" and himself.
So you ask how to fix this? It's really pretty simple. Multiple CutSceneID()
IF-THEN statements. Here's how it would look...
IF
True()
THEN
RESPONSE#100
CutSceneID("TROLL")
PlayDead(180)
EMD
IF
True()
THEN
RESPONSE#100
CutSceneID(Player1)
MoveToObject("TROLL")
END
This combination of statements make "TROLL" play dead while Player1 moves to
him at the same time.
>>>>>>>>>>-----------<<<<<<<<<<
>>>>>>>>>>--Example--<<<<<<<<<<
>>>>>>>>>>-----------<<<<<<<<<<
Okay, now let's get down to it. Here's where we make a quick cutscene script
that transports your party to a given area.
Here is what we want as a final result. We want to warp to an area without
interruption. The screen will fade to black,
and all the players will be warped to the area simultaneously. If it is not
simultaneous, then the cutscene will not work
properly. Once there, the screen will fade from black back to normal.
So, here we go...
First, we need a statement that will begin the cutscene script. This should
be placed in something like an area script,
a creature script, or whatever. As long as the right conditions are met, it
should work.
IF
Trigger()
THEN
RESPONSE#100
ClearAllActions()
StartCutSceneMode()
StartCutScene("CUTMOVE")
END
Here's the second script. This performs the area movement. Once it is done,
compile it as CUTMOVE.bcs (for the example).
In here, I'm allowing you to pick your own area, coordinates, and facing
direction. So find an area and pick some random
coordinates if you don't have a lot of time.
IF
True()
THEN
RESPONSE#100
CutSceneID(Player1)
FadeToColor([20.0],0) // fades to black
Wait(2) // See Note #9
LeaveAreaLUA("AREA","",[x.y],FACE) // See Note #10
Wait(2)
FadeFromColor([20.0],0)
Wait(2)
EndCutSceneMode()
END
IF
True()
THEN
RESPONSE#100
CutSceneID(Player2)
Wait(2)
LeaveAreaLUA("AREA","",[x.y],FACE)
END
IF
True()
THEN
RESPONSE#100
CutSceneID(Player3)
Wait(2)
LeaveAreaLUA("AREA","",[x.y],FACE)
END
IF
True()
THEN
RESPONSE#100
CutSceneID(Player4)
Wait(2)
LeaveAreaLUA("AREA","",[x.y],FACE)
END
IF
True()
THEN
RESPONSE#100
CutSceneID(Player5)
Wait(2)
LeaveAreaLUA("AREA","",[x.y],FACE)
END
IF
True()
THEN
RESPONSE#100
CutSceneID(Player6)
Wait(2)
LeaveAreaLUA("AREA","",[x.y],FACE)
END
9. Wait() is used here for a few seconds to allow the screen to fade to
black (that action takes about second, so we give two
just to make sure).
10. I'll just explain the parameters of this action.
"AREA" = The area's file name that you are moving to.
"" = This actually controls which picture pops up on the loading screen.
Just keeping it as "" makes it random.
[x.y] = The X and Y coordinates of the point the character is warping to
on the new map.
FACE = This is a numerical value from 0 to 15. 0 faces south and the
other numbers are ordered in a clockwise direction.