Is there a way to kill a video that is playing? I have a vid for multiballs that I got to work. But obviously a multiballs cam be long or short. Wondering if you can kill a vid in progress if down to one ball, etc.
If using a PuPB2S....not sure how, if its even possible (Rom, original or EM). Understand that if your are dealing with a Rom based table, you have no access or control with the game's code. You don't truly know what the game is actually doing. You can only react to switches, triggers, lights,etc..
The table author can keep track of how many balls there are, but that's about it. If at any time the balls go down to 1, you can't assume that multi-ball is over. There could be a "ball save" in progress for example, or the table may be about to add another ball during the mode if you do a specific task (Tron has this).
If you are doing a PuP table mod (editing the table script,etc) and this a Rom based table, then you can "try" to estimate what the Rom is doing and do some "Ball Checks". This is not guaranteed to work every time. I tried doing this with Tron...and it seems to work most of the time...but I'm sure there are times where it won't. When the ball drains, it will activate one of two Timers (Drain check and MB End check) depending on how many balls are left and other conditions such as the Shoot Again light. Here's the code for that portion for whenever the Drain Kicker is hit. (Sub PuP_Drain is what starts)
Sub PUP_MB_End_Check_Timer() 'Wait a few secs and then check to see if only 1 ball left to disable MB Active modes
If HasPuP Then
If BallCount = 1 and (PUP_QuorraMB_Active=True OR PUP_LightCycleMB_Active=True OR PUP_DiscWarsMB_Active=True) Then
PuPlayer.SetLoop 0,0
PuPlayer.SetLoop 2,0
PUP_QuorraMB_Active=False
PUP_LightCycleMB_Active=False
PUP_DiscWarsMB_Active=False
PuPlayer.playlistplayex 0,"MultiballEnd","",100,20
End If
End If
PUP_MB_End_Check.enabled=False
End Sub
Sub PUP_Drain 'Check for Shoot Again Light, Balls Left is 0 = Drained, Are MB Modes Active?
if HasPuP Then
PUP_Drain_Check.enabled=True
End if
End Sub
Sub PUP_Drain_Check_Timer()
if HasPuP Then
if PUP_ShootAgain <=0 and BallCount <= 0 then
PuPlayer.SetLoop 0,0
PuPlayer.SetLoop 2,0
PUP_QuorraMB_Active=False
PUP_LightCycleMB_Active=False
PUP_DiscWarsMB_Active=False
PUP_Zuse_Check.enabled = False
PUP_Gem_Check.enabled=false
PuPlayer.playlistplayex 2,"Drain","",100,20
PuPlayer.playlistplayex 0,"EndofLine","",100,20
End if
if PUP_ShootAgain >=40 and BallCount = 0 and PUP_QuorraMB_Active=False and PUP_LightCycleMB_Active=False and PUP_DiscWarsMB_Active=False then
PuPlayer.playlistplayex 0,"ShootAgain","",100,0
End if
if (PUP_QuorraMB_Active=True OR PUP_LightCycleMB_Active=True OR PUP_DiscWarsMB_Active=True) and BallCount = 1 then
PUP_MB_End_Check.enabled=True 'Wait a few secs and then check to see if only 1 ball left to disable MB Active modes
End If
End If
PUP_Drain_Check.enabled=False
End Sub
If this is an original or EM based table (and you are doing a table mod of the script), then it's kind of like editing a FP table, and you have direct access to the game's code and can see what is going on. This allows you to be able to have more control.
Now you understand why some original tables have more options and why SLAMT1LT's tables had so many cool videos and other bits that played during gameplay.
Edited by TerryRed, 08 December 2017 - 12:53 AM.