| This is a cinematic I have to explain parts of my map to new players. It's optional, but if one player wants to see it, it's shown. It had worked all the way until the latest version, and now it has some strange bug I can't identify. (The function for displaying the messsage is a custom one made so that players can't skip them:
 JASS: function TransmissionFromUnitWithName takes force toForce, unit whichUnit, string unitName, sound soundHandle, string message, integer timeType, real timeVal, boolean wait returns nothing
set timeVal = RMaxBJ(timeVal,0)
set bj_lastTransmissionDuration = GetTransmissionDuration(soundHandle, timeType, timeVal)
set bj_lastPlayedSound = soundHandle
if IsPlayerInForce(GetLocalPlayer(), toForce) then
if (whichUnit == null) then
call DoTransmissionBasicsXYBJ(0, PLAYER_COLOR_RED, 0, 0, soundHandle, unitName, message, bj_lastTransmissionDuration)
else
call DoTransmissionBasicsXYBJ(GetUnitTypeId(whichUnit), GetPlayerColor(GetOwningPlayer(whichUnit)), GetUnitX(whichUnit), GetUnitY(whichUnit), soundHandle, unitName, message, bj_lastTransmissionDuration)
if not IsUnitHidden(whichUnit) then
call UnitAddIndicator(whichUnit, bj_TRANSMISSION_IND_RED, bj_TRANSMISSION_IND_BLUE, bj_TRANSMISSION_IND_GREEN, bj_TRANSMISSION_IND_ALPHA)
endif
endif
endif
if wait and (bj_lastTransmissionDuration > 0) then
call WaitTransmissionDuration(soundHandle, timeType, timeVal)
endif
endfunction
So this is the trigger for the whole cinematic (I know, it's leaky, whatever.)
Trigger: Cinematic Copy
 Events
  Dialog - A dialog button is clicked for Cinematic_Vote
 Conditions
  (Clicked dialog button) Equal to Cinematic_Yes
  Cinematic_Started Equal to False
 Actions
  Cinematic - Turn subtitle display override On
  Set Cinematic_Started = True
  Game - Unpause the game
  Sound - Play Orc Theme
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Dialog - Hide Cinematic_Vote for (Picked player)
  Cinematic - Disable user control for (All players)
  Cinematic - Turn cinematic mode On for (All players)
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 002 <gen> for (Picked player) over 0.00 seconds
  Unit - Create 1 Burning Rose for Neutral Passive at (Center of Rect 021 <gen>) facing Default building facing degrees
  Unit - Remove Wander Small (Neutral) from (Last created unit)
  Unit - Add a 72.00 second Generic expiration timer to (Last created unit)
  Set Cinematic_Rose = (Last created unit)
  Custom script: call TransmissionFromUnitWithName( bj_FORCE_ALL_PLAYERS, udg_Cinematic_Rose, "Burning Rose", null, "Welcome to Battle for Maelaru. One of you has voted to view the Instructional Cinematic, and so I will teach you the basics.", bj_TIMETYPE_ADD, 10.00, false )
  Wait 10.00 seconds
  Custom script: call TransmissionFromUnitWithName( bj_FORCE_ALL_PLAYERS, udg_Cinematic_Rose, "TRIGSTR_2492", null, "TRIGSTR_2493", bj_TIMETYPE_ADD, 7.00, false )
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 006 <gen> for (Picked player) over 0.00 seconds
  Wait 11.00 seconds
  Custom script: call TransmissionFromUnitWithName( bj_FORCE_ALL_PLAYERS, udg_Cinematic_Rose, "TRIGSTR_2494", null, "TRIGSTR_2933", bj_TIMETYPE_ADD, 10.00, false )
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 005 <gen> for (Picked player) over 0.00 seconds
  Cinematic - Flash a speech indicator for Barracks 0018 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Cinematic - Flash a speech indicator for Barracks 0019 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Cinematic - Flash a speech indicator for Barracks 0020 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Wait 5.00 seconds
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 005 Copy 2 <gen> for (Picked player) over 0.00 seconds
  Cinematic - Flash a speech indicator for Barracks 0022 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Cinematic - Flash a speech indicator for Barracks 0021 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Cinematic - Flash a speech indicator for Barracks 0023 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Wait 5.00 seconds
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 005 Copy <gen> for (Picked player) over 0.00 seconds
  Cinematic - Flash a speech indicator for Barracks 0025 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Cinematic - Flash a speech indicator for Barracks 0026 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Cinematic - Flash a speech indicator for Barracks 0024 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Wait 5.00 seconds
  Custom script: call TransmissionFromUnitWithName( bj_FORCE_ALL_PLAYERS, udg_Cinematic_Rose, "TRIGSTR_2934", null, "TRIGSTR_2935", bj_TIMETYPE_ADD, 5.00, false )
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 010 <gen> for (Picked player) over 0.00 seconds
  Cinematic - Flash a speech indicator for Research Center 0043 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Wait 10.00 seconds
  Custom script: call TransmissionFromUnitWithName( bj_FORCE_ALL_PLAYERS, udg_Cinematic_Rose, "TRIGSTR_2940", null, "TRIGSTR_2941", bj_TIMETYPE_ADD, 10.00, false )
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 012 <gen> for (Picked player) over 0.00 seconds
  Cinematic - Flash a speech indicator for High-Tech Trinkets 0136 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Wait 15.00 seconds
  Custom script: call TransmissionFromUnitWithName( bj_FORCE_ALL_PLAYERS, udg_Cinematic_Rose, "TRIGSTR_2936", null, "TRIGSTR_2937", bj_TIMETYPE_ADD, 5.00, false )
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 002 <gen> for (Picked player) over 0.00 seconds
  Wait 5.00 seconds
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 009 <gen> for (Picked player) over 0.00 seconds
  Cinematic - Flash a speech indicator for Town Hall 0016 <gen> of color (100.00%, 100.00%, 100.00%) with 0.00% transparency
  Wait 5.00 seconds
  Cinematic - Fade out over 5.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
  Custom script: call TransmissionFromUnitWithName( bj_FORCE_ALL_PLAYERS, udg_Cinematic_Rose, "TRIGSTR_2938", null, "TRIGSTR_2939", bj_TIMETYPE_ADD, 0.00, false )
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Apply Camera 002 <gen> for (Picked player) over 0.00 seconds
  Wait 5.00 seconds
  Cinematic - Fade in over 5.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
  Player Group - Pick every player in (All players) and do (Actions)
   Loop - Actions
    Camera - Reset camera for (Picked player) to standard game-view over 0.00 seconds
    Camera - Pan camera for (Picked player) to (Center of Hero Selector <gen>) over 0.00 seconds
  Unit - Remove Cinematic_Rose from the game
  Cinematic - Turn cinematic mode Off for (All players)
  Cinematic - Enable user control for (All players)
  Sound - Stop the currently playing music theme
  Set Cinematic_Started = False
  Cinematic - Clear the screen of text messages for (All players)
  Trigger - Run Info <gen> (checking conditions)
What it's been doing lately is not panning after the 15 second wait. Then, it doesn't display the messages, but it does fade out. And then, the worst part, is that for some reason it never leaves the cinematic mode, but it does run 'Info', the trigger that starts the rest of the map going!
I've combed through this whole thing, and I can't find a single reason. I could have sworn the trigger was unchanged since many versions ago (Which still work, even with the new patch, so I don't think it's that), so it might be from some other trigger, but I have no idea what that could be.
Can anyone help?
EDIT: I tried reducing the 15 second wait to 10 seconds, at which point it went on for 5 seconds more, and into the next message and pan before it stopped panning and removed the message. The result was the same, with cinematic mode stuck on, but the camera was in a different place. I think there must be some timer or something that's stopping this, but I don't know what.
EDIT 2: Nevermind, I fixed it. Apparently a new trigger I added with a periodic timer of 60 seconds, which I THOUGHT was disabled, has a line in it that destroys bj_FORCE_ALL_PLAYERS. Go figure.
So no one has to answer this. Should it be deleted? |