• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Local game disconnects everybody

Status
Not open for further replies.
Level 10
Joined
Mar 17, 2012
Messages
582
Hi my dear old friends :)

I started a new project, made a lot of efforts and faced an unexpected problem.

My map is full of cinematics in the begining... When the game starts all players accept for me have their connection lost.

I have 3 questions:
1. What is it?
2. Why is it so?
3. How to fix it?

:ogre_rage:

Good news! I found the core of the evil - cinematics triggers...
 
Last edited:
Level 24
Joined
Aug 1, 2013
Messages
4,658
Well... if there is a difference between two players, the players cant properly continue playing so the game desyncs the players with a different playing state than the host.

This could be when you create units only for one client, or stuff like that.
Almost every case is created when using GetLocalPlayer() which returns the player of the client (so for Player red, it will return Player red, and for Player blue, it returns Player blue). With this, you can make stuff like text messages only appear to the person who wrote text commands and stuff like that.

But if you do things that are not allowed to be used in a so called "local block", then you get desyncs.
So the best thing to do is find out where you use those local blocks and upload them.
Assuming you haven't fixed the problem after your good news.
 
Level 10
Joined
Mar 17, 2012
Messages
582
Well... if there is a difference between two players, the players cant properly continue playing so the game desyncs the players with a different playing state than the host.

This could be when you create units only for one client, or stuff like that.
Almost every case is created when using GetLocalPlayer() which returns the player of the client (so for Player red, it will return Player red, and for Player blue, it returns Player blue). With this, you can make stuff like text messages only appear to the person who wrote text commands and stuff like that.

But if you do things that are not allowed to be used in a so called "local block", then you get desyncs.
So the best thing to do is find out where you use those local blocks and upload them.
Assuming you haven't fixed the problem after your good news.

Actually, I can't see anything illegal in my code... :(
If I show you my cinematic triggers, will you be so kind and help me out?))) I can send you my map if it's necessary.
 
Level 10
Joined
Mar 17, 2012
Messages
582
As a rough guess, you are probably using that one camera pan action which causes the game to desync due to creating handles in a locally run code block.

Take a look at my triggers please. I've gotta tell you right now that I'm a new in cinematography, so everything I was doing is just my pathetic attempts to do something :D

For now I've just made some actions for Player Blue (playing as the Destroyer) and Player Teal (playing as the Huntress)
Here are triggers that together make something like this: Huntress.mp4

  • Archer enter
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • Cinematic - Turn cinematic mode On for Player Group - Player 3 (Teal) over 0.00 seconds
      • Visibility - Enable fog of war
      • Camera - Apply Archer Start <gen> for Player 3 (Teal) over 0.00 seconds
      • Camera - Apply Archer 2 <gen> for Player 3 (Teal) over 10.00 seconds
      • Countdown Timer - Start Huntress_Timer_1 as a One-shot timer that will expire in 6.00 seconds
  • Jolopenio invilnerable
    • Events
      • Time - Huntress_Timer_1 expires
    • Conditions
    • Actions
      • Unit - Make Rogue 0055 <gen> Invulnerable
      • Unit - Make Bandit 0013 <gen> Invulnerable
      • Unit - Make Bandit 0021 <gen> Invulnerable
      • Unit - Make Brigand 0053 <gen> Invulnerable
      • Unit - Order Rogue 0055 <gen> to Move To (Center of Chipito point <gen>)
      • Unit - Order Bandit 0013 <gen> to Move To (Center of Bandit 1 <gen>)
      • Unit - Order Bandit 0021 <gen> to Move To (Center of Bandit 2 <gen>)
      • Unit - Order Brigand 0053 <gen> to Move To (Center of Brigand 1 <gen>)
      • Trigger - Turn off (This trigger)
  • Jolopenio came
    • Events
      • Unit - A unit enters Chipito point <gen>
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Rogue
    • Actions
      • Unit - Order Bandit 0013 <gen> to Orc Raider - Ensnare Stag 0052 <gen>
      • Unit - Order Bandit 0021 <gen> to Orc Raider - Ensnare Rabbit 0019 <gen>
      • Countdown Timer - Start Huntress_Timer_1 as a One-shot timer that will expire in 3.00 seconds
      • Trigger - Turn on Jolopenio turn to spearman <gen>
      • Trigger - Turn off (This trigger)
  • Jolopenio turn to spearman
    • Events
      • Time - Huntress_Timer_1 expires
    • Conditions
    • Actions
      • Unit - Make Rogue 0055 <gen> face Brigand 0053 <gen> over 0.00 seconds
      • Unit - Make Brigand 0053 <gen> face Rogue 0055 <gen> over 0.00 seconds
      • Cinematic - Send transmission to Player Group - Player 3 (Teal) from Rogue 0055 <gen> named Jalapeno (Хала...: Play No sound and display Hurry up! Who knows.... Modify duration: Set to 3.00 seconds and Wait
      • Countdown Timer - Start Huntress_Timer_1 as a One-shot timer that will expire in 4.00 seconds
      • Trigger - Turn on Jolopenio spearman reply <gen>
      • Trigger - Turn off (This trigger)
  • Jolopenio spearman reply
    • Events
      • Time - Huntress_Timer_1 expires
    • Conditions
    • Actions
      • Cinematic - Send transmission to Player Group - Player 3 (Teal) from Brigand 0053 <gen> named Brigand (Разбо...: Play No sound and display Yes, boss. Да, .... Modify duration: Set to 3.00 seconds and Wait
      • Cinematic - Send transmission to Player Group - Player 3 (Teal) from Rogue 0055 <gen> named Jalapeno (Хала...: Play No sound and display Take their skins of.... Modify duration: Set to 3.00 seconds and Wait
      • Unit - Make Rogue 0055 <gen> Vulnerable
      • Camera - Apply Chipito death <gen> for Player 3 (Teal) over 0.00 seconds
      • Trigger - Turn off (This trigger)
  • Jolopenio kill
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Triggering unit) Equal to Rogue 0055 <gen>
    • Actions
      • Sound - Play Lich King's Theme
      • Unit - Pause Bandit 0021 <gen>
      • Unit - Pause Bandit 0013 <gen>
      • Unit - Pause Brigand 0053 <gen>
      • Cinematic - Send transmission to Player Group - Player 3 (Teal) from Rogue 0055 <gen> named Jalapeno (Хала...: Play No sound and display What the... Ууу.... Modify duration: Add 2.00 seconds and Don't wait
      • Animation - Change Rogue 0055 <gen>'s animation speed to 20.00% of its original speed
      • Special Effect - Create a special effect attached to the chest of Rogue 0055 <gen> using Objects\Spawnmodels\Human\HumanBlood\BloodElfSpellThiefBlood.mdl
      • Countdown Timer - Start Huntress_Timer_1 as a One-shot timer that will expire in 5.00 seconds
      • Trigger - Turn on Brigand yess boss <gen>
      • Trigger - Turn off (This trigger)
  • Brigand yess boss
    • Events
      • Time - Huntress_Timer_1 expires
    • Conditions
    • Actions
      • Cinematic - Send transmission to Player Group - Player 3 (Teal) from Brigand 0053 <gen> named Brigand (Разбо...: Play No sound and display Boss!!! Босс!!.... Modify duration: Set to 2.00 seconds and Wait
      • Camera - Apply Archer come out <gen> for Player 3 (Teal) over 1.00 seconds
      • Camera - Lock camera target for Player 3 (Teal) to Hero_Teal, offset by (0.00, 0.00) using Default rotation
      • Unit - Order Hero_Teal to Move To (Center of Archer Come out <gen>)
      • Trigger - Turn off (This trigger)
  • Huntress say hello
    • Events
      • Unit - A unit enters Archer Come out <gen>
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Huntress |c006969FFОхотница|r
    • Actions
      • Cinematic - Send transmission to Player Group - Player 3 (Teal) from Hero_Teal named Huntress (Охот...: Play No sound and display You'll regret that .... Modify duration: Add 5.00 seconds and Wait
      • Unit - Make Bandit 0013 <gen> Vulnerable
      • Unit - Make Bandit 0021 <gen> Vulnerable
      • Unit - Make Brigand 0053 <gen> Vulnerable
      • Camera - Apply Archer 2 <gen> for Player 3 (Teal) over 1.00 seconds
      • Trigger - Turn off (This trigger)
  • Brigand run
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Triggering unit) Equal to Bandit 0021 <gen>
    • Actions
      • Unit - Unpause Brigand 0053 <gen>
      • Unit - Order Brigand 0053 <gen> to Move To (Center of Rogue run <gen>)
      • Countdown Timer - Start Huntress_Timer_1 as a One-shot timer that will expire in 3.00 seconds
      • Unit - Pause Hero_Teal
      • Trigger - Turn on Huntress won <gen>
      • Trigger - Turn off (This trigger)
  • Huntress won
    • Events
      • Time - Huntress_Timer_1 expires
    • Conditions
    • Actions
      • Unit - Unpause Hero_Teal
      • Cinematic - Turn cinematic mode Off for Player Group - Player 3 (Teal) over 1.00 seconds
      • Selection - Select Hero_Teal for Player 3 (Teal)
      • Trigger - Turn on Cam pos 2 Teal <gen>
      • Trigger - Turn off (This trigger)
 
Last edited:
Level 10
Joined
Mar 17, 2012
Messages
582
The function SmartCameraPanBJ will cause an instant desync. However I do not see you using it anyway.

Make sure all clients you are playing with have freshly started WC3 and are running the latest version of WC3.

I found my bug. It appears when I tunr on Cinematic Mode to Player Blue and Player Teal at the same time. When I use "All players" it works without disconnects :)
 
Status
Not open for further replies.
Top