Jump to content



Photo
- - - - -

2 Or More Balls on The Table MultiBall

multiball

  • Please log in to reply
12 replies to this topic

#1 1000

1000

    Enthusiast

  • Members
  • PipPipPip
  • 59 posts
  • Location:Florida

  • Flag: United States of America

  • Favorite Pinball: Pirates Wolves of the Seas,Wipeout,Spiderman,White Water and Avengers.

Posted 26 January 2024 - 05:10 PM

I just edited this and I am showing everyone how to do it

Its pretty easy in the script under whichever trigger lets say trigger 6

you would write a class and within the class put this:

 

            bMultiBallMode = True
            BallsOnPlayfield = BallsOnPlayfield + 1
            EndOfBallTimer.Enabled = False
            Kicker1.CreateBall
            Kicker1.SolenoidPulse

 

Adding kicker1 adds a ball to the table

and bMultiBallMode = True tells the table you are in multiball mode

EndOfBallTimer.Enabled = False  lets the table know to wait till all balls have drained before going to next ball

 

 

You will notice on case 5 and 13 the table is in multiball mode.

Here is a class with a trigger 

Sub  Trigger6_Hit
     Addscore (1000)
     Bulb28.State = 1
      Select Case   Wave6
    Case 1: Bulb18.State = 1        'these are raft lights every other raft is multiball
   Case 2: PlaySound"GetTheExtraBall"
              Bulb60.State = BulbBlink
           Bulb60.BlinkPattern = "10"
           Bulb60.BlinkInterval = 450
   Case 3:Bulb28.State = 0
   Case 4:
   Case 5:  Bulb19.State = 1          'these are raft lights every other raft is multiball
              PlaySound "100"
              AddScore(100000)
           bMultiBallMode = True
           BallsOnPlayfield = BallsOnPlayfield + 1
           EndOfBallTimer.Enabled = False
           Kicker1.CreateBall
           Kicker1.SolenoidPulse

  Case 6:
   Case 7: Bulb28.State = 0
   Case 8:
   Case 9: Bulb20.State = 1   'these are raft lights every other raft is multiball
   Case 10:
   Case 11: Bulb28.State = 0
    Case 12:
   Case 13: Bulb21.State = 1        'these are raft lights every other raft is multiball
               PlaySound "100"
               AddScore(100000)
                bMultiBallMode = True
                BallsOnPlayfield = BallsOnPlayfield + 1
                EndOfBallTimer.Enabled = False
                Kicker1.CreateBall
                Kicker1.SolenoidPulse
   Case 14:

  End Select
 Wave6 = Wave6 + 1
  If BallsOnPlayfield = 1 Then  
  bMultiBallMode = False        'This means on the last ball multiball mode is off and when the ball drains it will go to the next ball.
  ResetForNewPlayerBall()
End If
End Sub

There you go everyone this is one way to add balls to the table for multiball mode.

Enjoy.


Edited by 1000, 23 April 2024 - 10:24 PM.


#2 1000

1000

    Enthusiast

  • Members
  • PipPipPip
  • 59 posts
  • Location:Florida

  • Flag: United States of America

  • Favorite Pinball: Pirates Wolves of the Seas,Wipeout,Spiderman,White Water and Avengers.

Posted 28 January 2024 - 12:29 AM

 I edited this to be removed the answer is at the top of the page thank you for reading.


Edited by 1000, 22 April 2024 - 10:33 PM.


#3 1000

1000

    Enthusiast

  • Members
  • PipPipPip
  • 59 posts
  • Location:Florida

  • Flag: United States of America

  • Favorite Pinball: Pirates Wolves of the Seas,Wipeout,Spiderman,White Water and Avengers.

Posted 03 February 2024 - 05:19 PM

I edited this to be removed the answer is at the top of the page thank you for reading.


Edited by 1000, 22 April 2024 - 10:32 PM.


#4 AGForums

AGForums

    Neophyte

  • Members
  • Pip
  • 6 posts

  • Flag: Scotland

  • Favorite Pinball: JP's

Posted 03 February 2024 - 09:03 PM

I must admit I didn't read all your script, sorry.

 

Might I suggest making collections for your bulbs and drop-walls if you are changing so many of them to the same state then you can do this with a <for-next> statement.

Creating a text box and timer for testing can be useful too, i.e. your "ballcount".

 

Remember that when you are deducting the ballcount it will continue to run through the sub routine whether the statement is true or false, you may need to use the <exit sub> command if you don't want the rest of the routine to continue.

 

<edit> I'd recommend the test text box for your ball count.  Create a textbox and timer named e.g. TestText and TestTimer, it doesn't need to be a very big, position the box at bottom right. Set the Timer Interval to 100.

Create a routine

 

Sub TestTimer_Timer

    TestText.Text=BallsOnPlayfield

End Sub

 

Play the table and observe the test box to see if the numbers correspond to what you are seeing.  It can help debugging if you can see the changes in real time.


Edited by AGForums, 03 February 2024 - 09:22 PM.


#5 Fusionwerks

Fusionwerks

    Poorly recovering pinball addict

  • Platinum Supporter
  • 351 posts

  • Flag: United States of America

  • Favorite Pinball: JP (DE), Elvira's HoH, ToM

Posted 04 February 2024 - 03:03 AM

This might sound stupid, but it isn't the ball saver that is shooting the ball in after a ball drains right?

#6 AGForums

AGForums

    Neophyte

  • Members
  • Pip
  • 6 posts

  • Flag: Scotland

  • Favorite Pinball: JP's

Posted 04 February 2024 - 10:26 AM

I've read all of your posts now.

There are some variables that I don't fully understand i.e. LastChance.

Also you have BallsOnPlayfield increasing oddly IMO but I don't have the full script to go by. Such as if BOP=4 you then increase it by 4 making BOP=8.

Also if this is a multiplayer game then you'll need to create routines and variables to take into account what the multiball progress is for each player. I know it can be difficult and I am by no means an "expert" programmer (there are plenty of things I don't know about VPScript), but the structure is something you have to consider very carefully. I'll attempt an example of the Drain Routine to hopefully better understand.

 

Sub Drain_Hit

   BallsOnPlayfield=BallsOnPlayfield-1 : ' I don't usually destroy the ball straight away in case another ball is incoming at the same time, saves me using a stacker

   If bBallSaverActive=True then :  ' This would be the first thing to check at the drain

      CreateNewBall()

      Drain.DestroyBall : ' Destroy the ball now to allow acces to Drain

      Exit Sub : ' I would now exit this Sub Routine as anything after this is irrelevant since Ballsaver was active.

   End If

 

   If BallsOnPlayfield=1 Then : ' You would now end multiball

      bMultiBallMode=False : ' I think this is the flag you're using

      ' You should call the routine to reset lights etc here unless you are using some other method.

   End If

 

   If BallsOnPlayfield=0 Then : 'All balls drained

      ' Hopefully self explanatory

   End If

 

   ' If the ballsaver was disabled then the BallsOnPlayfield Count would have been subtracted by 1 and reached this point naturally

   Drain.DestroyBall

End Sub

 

You will probably want to do some other checks such as tilt.  I'm also presuming that you are adding and subtracting to the BallsOnPlayfield as you "lock" and "release" balls.


Edited by AGForums, 04 February 2024 - 10:39 AM.


#7 1000

1000

    Enthusiast

  • Members
  • PipPipPip
  • 59 posts
  • Location:Florida

  • Flag: United States of America

  • Favorite Pinball: Pirates Wolves of the Seas,Wipeout,Spiderman,White Water and Avengers.

Posted 14 February 2024 - 01:45 AM

Thank you AGForums and all for reading

I'll try what you said about a ball count

There are 2 ramp locks that hold the balls look at the script under trigger 14 and 17 you will see where I have attempted to use a ball lock = true in the script,but to no prevail still working on it.

If there is a ball locked and all the balls have played it freezes the table and you have to press esc and restart the table.

At the end of the game In "game over mode" in the script the ramp locks solenoids are off and the remaining balls are released

The name of the table is Oktoberfest Future Pinball you can check out the script and see what you think.

I released 2 tables one is without multiball it plays fine with the regular drain script.

The other table is a multiball table

Just so you know I had a problem with the variable "i" and the credits and balls didn't function properly.

So I went ahead and redid the whole table I'm about to release version 1.3 now the credits and balls work properly other than multi ball mode

I got circus star to work and added multiball it plays great but that drain script doesnt work with Oktoberfest

Thanks again for reading have a really nice day.

Cheers.



#8 AGForums

AGForums

    Neophyte

  • Members
  • Pip
  • 6 posts

  • Flag: Scotland

  • Favorite Pinball: JP's

Posted 14 February 2024 - 07:20 PM

I'm afraid I no longer have FP and haven't been able to find a download for it anymore.  :(



#9 GeorgeH

GeorgeH

    Pinball Fan

  • Members
  • PipPipPipPip
  • 753 posts
  • Location:Arkansas, USA

  • Flag: United States of America

  • Favorite Pinball: Black Rose

Posted 15 February 2024 - 02:10 PM

I'm afraid I no longer have FP and haven't been able to find a download for it anymore.  :(

Just run the 2in1 from here:

 

https://www.ravarcad...P-BAM-setup.exe



#10 AGForums

AGForums

    Neophyte

  • Members
  • Pip
  • 6 posts

  • Flag: Scotland

  • Favorite Pinball: JP's

Posted 18 February 2024 - 11:02 AM

 

I'm afraid I no longer have FP and haven't been able to find a download for it anymore.  :(

Just run the 2in1 from here:

 

https://www.ravarcad...P-BAM-setup.exe

 

 

When I clicked link I get a message "Failed:  Virus detected".



#11 GeorgeH

GeorgeH

    Pinball Fan

  • Members
  • PipPipPipPip
  • 753 posts
  • Location:Arkansas, USA

  • Flag: United States of America

  • Favorite Pinball: Black Rose

Posted 18 February 2024 - 01:37 PM

 

 

I'm afraid I no longer have FP and haven't been able to find a download for it anymore.  :(

Just run the 2in1 from here:

 

https://www.ravarcad...P-BAM-setup.exe

 

 

When I clicked link I get a message "Failed:  Virus detected".

 

It has no viruses.  I have used the 2in1 FP/BAM installer for many years.  Ravarcade created it and I trust him.  Your system is probably looking at the EXE and considers it a threat without even scanning it (which in might be if it weren't from a trusted source). 


Edited by GeorgeH, 23 February 2024 - 02:14 AM.


#12 fourbanks

fourbanks

    Pinball Fan

  • Members
  • PipPipPipPip
  • 573 posts

  • Flag: United Kingdom

  • Favorite Pinball: Too many to choose...

Posted 18 February 2024 - 11:05 PM

Just to confirm There are no problems with the link, George posted above 



#13 1000

1000

    Enthusiast

  • Members
  • PipPipPip
  • 59 posts
  • Location:Florida

  • Flag: United States of America

  • Favorite Pinball: Pirates Wolves of the Seas,Wipeout,Spiderman,White Water and Avengers.

Posted 23 February 2024 - 03:38 PM

This might sound stupid, but it isn't the ball saver that is shooting the ball in after a ball drains right?

Yes your correct Ball saver has a ball saver timer if the ball drains and the ball saver timer hasn't expired then the plunger kicker will create a ball and then shoot it out onto the playfield.

After the timer expires then the game moves to the next ball.







Also tagged with one or more of these keywords: multiball