Jump to content

Cutscene doesn't work in multiplayer game?


argent77

Recommended Posts

I have created a cutscene which transports the protagonist to another area as part of a quest. The remaining party members are made unselectable and "stored" in a different map during the quest part.

It works flawlessly in singleplayer mode. However, when I tested it in a multiplayer game the remote users lose control over their characters after the cutscene. I've tried different placements of the MakeUnselectable() actions to no avail. Also any other way to immobilize the party members temporarily doesn't work. I even tried to maze the characters temporarily, so I could transport everyone to the same map without interfering the quest, but this action caused some problems too.

 

This is the code of the cutscene (reduced to the important parts):

IF
   True()
THEN
   RESPONSE #100
       CutSceneId(Player1)
       StorePartyLocations()
       CreateVisualEffectObject("SPFLSRIN",Myself)
       PlaySound("EFF_M40")
       FadeToColor([30.0],0)
       Wait(2)
       ActionOverride(Player2,MakeUnselectable(999999))
       ActionOverride(Player3,MakeUnselectable(999999))
       ActionOverride(Player4,MakeUnselectable(999999))
       ActionOverride(Player5,MakeUnselectable(999999))
       ActionOverride(Player6,MakeUnselectable(999999))
       ActionOverride(Player2,ReallyForceSpell(Player2,HOLD_PARTY))
       ActionOverride(Player3,ReallyForceSpell(Player3,HOLD_PARTY))
       ActionOverride(Player4,ReallyForceSpell(Player4,HOLD_PARTY))
       ActionOverride(Player5,ReallyForceSpell(Player5,HOLD_PARTY))
       ActionOverride(Player6,ReallyForceSpell(Player6,HOLD_PARTY))
       LeaveAreaLUAPanic("A7AR06","",[434.368],13)
       ActionOverride(Player2,LeaveAreaLUA("A7AR07","",[372.256],2))
       ActionOverride(Player3,LeaveAreaLUA("A7AR07","",[288.248],2))
       ActionOverride(Player4,LeaveAreaLUA("A7AR07","",[402.316],2))
       ActionOverride(Player5,LeaveAreaLUA("A7AR07","",[222.282],2))
       ActionOverride(Player6,LeaveAreaLUA("A7AR07","",[364.384],2))
       LeaveAreaLUA("A7AR06","",[434.368],13)
       MultiPlayerSync()
       FadeFromColor([30.0],0)
       Wait(2)
       EndCutSceneMode()
END

The maps are flagged as "Can't save/No rest" to avoid even more trouble.

 

I don't have much experience with multiplayer games. Is it even possible to divide the party over different maps or otherwise remove party members from the play temporarily without causing trouble?

 

NB: The cutscene can be triggered everywhere in ToB except in the Pocket Plane or the Throne of Bhaal.

Link to comment

I think that you have to double-check your *second* cutscene, the one with (basically) NOHOLD_PARTY/MakeUnselectable(1) commands. Make sure it compiles, is used everywhere it should be used and so on.

 

IF
True()
THEN
RESPONSE #100
CutSceneId(Player1)
Wait(1)
FadeToColor([20.0],0)
RestorePartyLocations()
MultiPlayerSync()
ApplySpell(Player2,NOHOLD_PARTY)
ApplySpell(Player3,NOHOLD_PARTY)
ApplySpell(Player4,NOHOLD_PARTY)
ApplySpell(Player5,NOHOLD_PARTY)
ApplySpell(Player6,NOHOLD_PARTY)
ActionOverride(Player2,MakeUnselectable(1))
ActionOverride(Player3,MakeUnselectable(1))
ActionOverride(Player4,MakeUnselectable(1))
ActionOverride(Player5,MakeUnselectable(1))
ActionOverride(Player6,MakeUnselectable(1))
Wait(1)
FadeFromColor([20.0],0)
EndCutSceneMode()
RestParty()
END

 

Also, apart from this Captain Obvious piece of lore, I think it's worth it to sacrifice "prettiness" and just leave five party members in some obscure corner of the same map(cut41g.baf and similar).

Link to comment

The problems are cropping up shortly after finishing the first cutscene, long before I even start the second cutscene. It works normally for a few seconds, then the message "TimeOut: Server Assumed Control Of Character" is displayed in the game console and the remote-controlled characters pop up in the same area as Player1, now fully under control of the user who already controls Player1. The MakeUnselectable() effect appears to be gone, too.

 

I think it's worth it to sacrifice "prettiness" and just leave five party members in some obscure corner of the same map(cut41g.baf and similar).

Unfortunately the map is VERY small, the protagonist would step on everyones toes just to move from one end to another. The second and more important aspect is that the map is used in a very special situation where the remaining party members shouldn't be present at all, storywise. Even the protagonist shouldn't be physically present, but I guess that is impossible to code.

Link to comment

Maybe realize it like the ghost-trial in Watchers Keep (where you control a ghost-warrior mostly via dialogue options)?

That would be too complicated for what I have in mind.

 

Originally I wanted the protagonist, or more specifically a spectral projection of the protagonist, to enter a genie lamp together with the djinni.

I have solved it now by creating a bigger map. The party members will be present, but in an unselectable and translucent state to indicate that they aren't physically present. Hmm, maybe I can do that for the protagonist too and use a clone, similiar to a projected image or simulacrum, to interact with the environment.

Link to comment

I have finally managed to create and play with a projected image of the protagonist, while all party members are immobilized.

 

So, if the player2-6 are in the same area, the make-unselectable etc. works in multiplayer mode? The IE engine is still full of wonders.

Yes, and I can make Player1 unselectable too, effectively playing the game with a completely disabled party. It even works in multiplayer mode (most of the time, but that could be because I'm simulating a multiplayer game using two virtual machines in parallel). The IE engine is indeed full of wonders. :D

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...