i have intro cinematic that plays. the sound is preloaded and the camera are guided by sound wait commands. the issue is when i upload the map and test it on battle net the waits get all messed up badly they are out of sync and they cameras they pause on the wrong camera which i don't even get how that happens. i was thinking there might be a way to Peload the trigger
here is the code:
CinematicEventsGame-MapinitializationLocalVariablesSongLink=EditorDefaultSound<SoundLink>Song=NoSound<Sound>ConditionsActionsGame-PreloadSong.mp3ImmediatelyPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsVisibility-Createavisibilityrevealerforplayer(Pickedplayer)within(Entiremap)Cinematics-TurncinematicmodeOnfor(AllHumans)overDefaultsecondsSound-MuteMusicchannelfor(AllHumans)Sound-UnmuteMoviechannelfor(AllHumans)Sound-PlaySongfor(AllHumans)(at100.0%volume,skipthefirst0.0seconds)Variable-SetSong=(Lastplayedsound)Sound-WaituntilSongplaybackis9.5secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera1forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis10.6secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera2forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis11.1secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera3forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis11.5secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera4forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis12.8secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera5forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis13.2secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera6forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis13.6secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera7forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis15.0secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera8forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis15.4secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCamera9forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis15.8secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyCameraPanStartforplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetCamera-ApplyCameraPanEndforplayer(Pickedplayer)over2.0secondswithExistingVelocity%initialvelocity,5.0%deceleration,andIncludeTarget------- SECOND SETSound-WaituntilSongplaybackis18.3secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond1forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis19.5secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond2forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis19.9secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond3forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis20.3secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond4forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis21.9secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond5forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis22.3secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond6forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis22.7secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond7forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis23.8secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond8forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis24.2secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplySecond9forplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis24.7secondsfromtheStartofthesoundPlayerGroup-Pickeachplayerin(AllHumans)anddo(Actions)ActionsCamera-ApplyStartAforplayer(Pickedplayer)over0.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetCamera-ApplyStartBforplayer(Pickedplayer)over2.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetCamera-ApplyStartCforplayer(Pickedplayer)over2.0secondswithExistingVelocity%initialvelocity,0.0%deceleration,andIncludeTargetSound-WaituntilSongplaybackis27.0secondsfromtheStartofthesoundTrigger-RunCinematicEnd(CheckConditions,Don't Wait until it finishes)
I thinking some threaded definitions would help for this; that way too you're only running one loop and not one for every camera. The way that it is setup now would cause a lot of issue in the event the previous actions don't finish in time. Your waits, tho might be intentional, aren; all evenly spaced which again all those wait actions would be replaced with a single wait and loop.
My first instinct is to say avoid using cinematic mode. Hide the UI instead. Cinematic mode has always been problematic for me, especially in multiplayer.
Secondly, this part of your trigger should probably be revised:
Here you are applying one camera immediately after another camera with no wait (Start B and Start C.) In this scenario, camera Start B will be skipped entirely.
@ bashertag:
i have implemented hide game UI
Sound - Play Song for ( song is the asset/data name which is the same as the variable, sorry for the confusion
your right about the loop at the bottom i have broken it up. no effect on the messed up timers
@hobbiedude:
i tried creating a function and called it to each player separately removing the loops. Still doing the exact same thing. the wait times r correct to the beat
I tried to change the game speed to normal thinking the game speed was warping the time... no effect
This is just a though but i had a similar problem once and i noticed it was caused because on battle.net the game speed is always set to faster while testing from editor its normal (probably changeable) but try to make a trigger and set the game speed to faster, if you get the same problem as on battle.net then the game speed is the problem
If no solution is to be found it might be easier to just replace with real time waits instead.
EDIT: Looking more into the trigger, i see you pan the camera with duration, that might be able to stir some shit up when game speed is changed, im looking forward to see the results.
I tried to change the game speed to normal thinking the game speed was warping the time... no effect
in case it didn't make sense, the test play was at normal, (but ignores variants) so i forced the trigger before running to force all humans to normal.
i will look at pan camera durations, but, the durations for most are 0. and between the first set and second set there is a long wait, the camera that the online test is on is one of the previous cameras, it doesn't even reach it it seems.
i have intro cinematic that plays. the sound is preloaded and the camera are guided by sound wait commands. the issue is when i upload the map and test it on battle net the waits get all messed up badly they are out of sync and they cameras they pause on the wrong camera which i don't even get how that happens. i was thinking there might be a way to Peload the trigger
here is the code:
I thinking some threaded definitions would help for this; that way too you're only running one loop and not one for every camera. The way that it is setup now would cause a lot of issue in the event the previous actions don't finish in time. Your waits, tho might be intentional, aren; all evenly spaced which again all those wait actions would be replaced with a single wait and loop.
@SoulTaker916: Go
My first instinct is to say avoid using cinematic mode. Hide the UI instead. Cinematic mode has always been problematic for me, especially in multiplayer.
Secondly, this part of your trigger should probably be revised:
You're playing the Song variable, which is set to "no sound," then setting Song to (last played sound), which is still "no sound..."
Another thing I noticed, although this is a small issue at most:
Here you are applying one camera immediately after another camera with no wait (Start B and Start C.) In this scenario, camera Start B will be skipped entirely.
I hope that helps.
@ bashertag: i have implemented hide game UI Sound - Play Song for ( song is the asset/data name which is the same as the variable, sorry for the confusion your right about the loop at the bottom i have broken it up. no effect on the messed up timers
@hobbiedude: i tried creating a function and called it to each player separately removing the loops. Still doing the exact same thing. the wait times r correct to the beat
I tried to change the game speed to normal thinking the game speed was warping the time... no effect
This is just a though but i had a similar problem once and i noticed it was caused because on battle.net the game speed is always set to faster while testing from editor its normal (probably changeable) but try to make a trigger and set the game speed to faster, if you get the same problem as on battle.net then the game speed is the problem
@user_874412: Go
I thought about that too but I wasn't sure if the Wait For Sound function used game time or real time. Worth a try.
@BasharTeg: Go
I hope he returns with a result, im curious :D
If no solution is to be found it might be easier to just replace with real time waits instead.
EDIT: Looking more into the trigger, i see you pan the camera with duration, that might be able to stir some shit up when game speed is changed, im looking forward to see the results.
in case it didn't make sense, the test play was at normal, (but ignores variants) so i forced the trigger before running to force all humans to normal.
i will look at pan camera durations, but, the durations for most are 0. and between the first set and second set there is a long wait, the camera that the online test is on is one of the previous cameras, it doesn't even reach it it seems.
Reducing pan camera time to zero does nothing
I decided to do it in cut scene works better.