All In One Example Table - FizX, FLEEP, Ball Rolling, PUP SSF, DOF - Easy to add!

Yes, you can use any item you want, as long as it has a name / x position / y position. The intent is to use an item that is close to the location of the event being triggered, which pup can then use that position to play the SSF sound in the right location.

The Bumper Skirt is a PEG model. You need to add that yourself, similar to how it's done on the example table.
 
Thanks for the additional information. I won't get a chance tonight but I'll try it soon.
 
Ok so I lied, I did find a minute. I had failed to choose a surface for the bumper skirts. Once Playfield was selected they showed up as they should.
 
I don't remember, but you have to switch it on a surface. For à "normal" apparence, I think you have to chose a 4mm height.
 
Popotte,

Thank you, I'll try 4mm.
 
I'm trying to update this section of the script so I can enable SSF. How do I know what three digit number to use for each bumper? If I understand correctly, and it is very possible I don't, this is the Did = PuP Exxx trigger. Is there a list of those numbers or a way to view them? Honestly, I don't know what they are or do.

Sub Bumper1_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper1, 1, 820, 2, "bumper"
End Sub

Sub Bumper2_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper2, 1, 820, 2, "bumper"
End Sub

Sub Bumper3_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper3, 1, 820, 2, "bumper"
End Sub

Sub Bumper4_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper4, 1, 820, 2, "bumper"
End Sub

Sub Bumper5_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper5, 1, 820, 2, "bumper"
End Sub

Sub Bumper6_Hit
PinMechSound ("mech_Bumpers_Middle_"&Int(Rnd*5)+1), Bumper6, 1, 820, 2, "bumper"
End Sub

Sub Bumper7_Hit
PinMechSound ("mech_Bumpers_Middle_"&Int(Rnd*5)+1), Bumper7, 1, 820, 2, "bumper"
End Sub

Sub Bumper8_Hit
PinMechSound ("mech_Bumpers_Bottom_"&Int(Rnd*5)+1), Bumper8, 1, 820, 2, "bumper"
End Sub

Thanks for any help.

Brent
 
I'm trying to update this section of the script so I can enable SSF. How do I know what three digit number to use for each bumper? If I understand correctly, and it is very possible I don't, this is the Did = PuP Exxx trigger. Is there a list of those numbers or a way to view them? Honestly, I don't know what they are or do.

Sub Bumper1_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper1, 1, 820, 2, "bumper"
End Sub

Sub Bumper2_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper2, 1, 820, 2, "bumper"
End Sub

Sub Bumper3_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper3, 1, 820, 2, "bumper"
End Sub

Sub Bumper4_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper4, 1, 820, 2, "bumper"
End Sub

Sub Bumper5_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper5, 1, 820, 2, "bumper"
End Sub

Sub Bumper6_Hit
PinMechSound ("mech_Bumpers_Middle_"&Int(Rnd*5)+1), Bumper6, 1, 820, 2, "bumper"
End Sub

Sub Bumper7_Hit
PinMechSound ("mech_Bumpers_Middle_"&Int(Rnd*5)+1), Bumper7, 1, 820, 2, "bumper"
End Sub

Sub Bumper8_Hit
PinMechSound ("mech_Bumpers_Bottom_"&Int(Rnd*5)+1), Bumper8, 1, 820, 2, "bumper"
End Sub

Thanks for any help.

Brent

This code just plays sound when the bumpers are hit. If you look at the list of sounds to add you should find 5 sounds that begin with "mech_Bumpers_Top" (and the other middle and bottom ones). The code just plays one of the 5 sounds randomly when the bumper is hit.
 
I'm trying to update this section of the script so I can enable SSF. How do I know what three digit number to use for each bumper? If I understand correctly, and it is very possible I don't, this is the Did = PuP Exxx trigger. Is there a list of those numbers or a way to view them? Honestly, I don't know what they are or do.

Sub Bumper1_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper1, 1, 820, 2, "bumper"
End Sub

Sub Bumper2_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper2, 1, 820, 2, "bumper"
End Sub

Sub Bumper3_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper3, 1, 820, 2, "bumper"
End Sub

Sub Bumper4_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper4, 1, 820, 2, "bumper"
End Sub

Sub Bumper5_Hit
PinMechSound ("mech_Bumpers_Top_"&Int(Rnd*5)+1), Bumper5, 1, 820, 2, "bumper"
End Sub

Sub Bumper6_Hit
PinMechSound ("mech_Bumpers_Middle_"&Int(Rnd*5)+1), Bumper6, 1, 820, 2, "bumper"
End Sub

Sub Bumper7_Hit
PinMechSound ("mech_Bumpers_Middle_"&Int(Rnd*5)+1), Bumper7, 1, 820, 2, "bumper"
End Sub

Sub Bumper8_Hit
PinMechSound ("mech_Bumpers_Bottom_"&Int(Rnd*5)+1), Bumper8, 1, 820, 2, "bumper"
End Sub

Thanks for any help.

Brent

If by 3 digit code, you meant the DOF Exxx trigger... the numbers to use are already given in the examples in the AIO Example table. Use the same numbers. If you need to use additional commands (more bumpers, etc).... then use the range of numbers indicated in each section.

This is using a "basic" DOF config (for solenoids) that is already preset for the "FP_DOF". So stick to the numbers / ranges that are given. For bumpers, you would use the range of 820 to 829.

PUP SSF doesn't use any Exxx triggers with PinMechSound. The PUP SSF commands are directly passed to pup, and don't require any Exxx triggers / events added to the "FP_PUP_SSF" pup-pack.

1694409277486.png
 
The code didn't make much sense to me until I found this line of code which defines it:

Sub PinMechSound(sound,fp_item,volume,dID,dValue,dType)

and this explanation above it:

' sound = mechanical / feedback sound
' fp_item = FP table item name
' volume = between 0 to 1.0 (FP)
' dID = DOF Exxx trigger or PuP Exxx trigger from PuP-Pack
' dValue = DOF trigger action. 0 = off, 1 = on, 2 = pulse
' dType = type of feedback / sound

' dType options are:

' "flipper"
' "slingshot"
' "bumper"
' "solenoid"
' "droptarget"
' "droptargetreset"
' "target"
' "knocker"
' "chime"
' "bell"
' "shaker"
' "gear"
' "fan"
' "dof"
' "ssf"
' "sound"
' "ball"

If you want to delve into it deeper, you can check out the coding below the code I listed above but it gives me a headache to look at it.
 
If you never used Dof in FP or VPX, it could be little hard to understand.. But it's really easy in fact
 
Thanks for all the helpful responses. I had started to type in sequential numbers within the range but wasn't sure. I'll edit to 820,821,822 etc. It sounds like it won't matter since I'll be using SSF rather than DOF. The only solenoids I have are on the flippers and I tend to keep them manually turned off since the exciters provide enough feedback.

I'm learning as I go here. Should I be using a different PinMechSound for the first 5 bumpers? They are passive scoring bumpers, not pop bumpers.
 
For passive bumper, just use them as fizx rubber with a surface. It will generate automaticaly rubber hit sound. You will have nothing to do 😉

Don't forget to tick "Generate Event" in editor to make a hit sub for score point
 
JLou,

That worked perfectly. It is great to be able to tweak all the rubber surfaces to get the correct rebound.
 
I like the new ball rolling code in the AIO for the ramps. There is only one channel for the audio so I am sure it doesn't have audio for all the balls in multiball. JP and I attempted to create copy and paste code to accommodate ramps and multiball but we found it couldn't be done without having to add some table specific code. I have found that you don't really notice the ball rolling sound in multiball because there is so much activity going on.

I agree with Gimli that having the script in text files is much easier to add than having to figure out what to copy out of the AIO. It would be a welcome change.
 
Last edited:
If someone struggles to understand where the start and end of the AIO code is located to copy from on the example table (given you are shown where this is in the tutorial)... then they really shouldn't be updating tables at all. You also have additional code to copy from for slings, etc... so they still need to use the table as reference for where to put those commands. If someone wants to use a text file that badly... it takes seconds to create their own to use as they please.
 
Last edited:
For my part, I believe that in multiball we should simply deactivate the ball rolling noise on the problem ramps. there are so many sounds playing at the same time that it goes unnoticed.
 
If someone struggles to understand where the start and end of the AIO code is located to copy from on the example table (given you are shown where this is in the tutorial)... then they really shouldn't be updating tables at all. You also have additional code to copy from for slings, etc... so they still need to use the table as reference for where to put those commands. If someone wants to use a text file that badly... it takes seconds to create their own to use as they please.

Win by intimidation. Standard military tactic. I think anyone can do it but it is a pain. Just like anyone could separate the audio files into groups of 30 by themselves but it is a pain.
 
Win by intimidation. Standard military tactic. I think anyone can do it but it is a pain. Just like anyone could separate the audio files into groups of 30 by themselves but it is a pain.

No intimidation here. I already made it clear before numerous times in this topic I don't want to do that (add additional text files with code)... and having it asked for again gets annoying. The table is the example reference for this topic and it's tutorial (that I am maintaining). Nothing else. I certainly don't try to guilt my ideas and preferences into your tables or tutorials. Give me the same courtesy. You guys can do whatever you want to make things easier for yourselves... and taking 1 min to create a text file in the way you want is not pain.
 
Last edited:
For my part, I believe that in multiball we should simply deactivate the ball rolling noise on the problem ramps. there are so many sounds playing at the same time that it goes unnoticed.

One rolling sound is nice for multiball. That said, I also get all ball rolling sounds in PUP SSF (at least up to 6) and it's way more than enough... but you aren't missing out with only one rolling sound.... and it's not worth using up all FP music channels possibly just for that.
 
To clear this up...

All of my tutorials / guides / tables and their topics are NOT an open collaboration (unless I specify otherwise). I'll always listen to ideas and corrections... and sometimes I'll use them (and give credit for it).... but if I don't like an idea or don't want to use it... than that's it. I don't like having the same thing asked for again and again when I've already said I don't want to use them.

I don't want these tutorials filled with requests. Send me a PM with any ideas. I'll always listen. That doesn't mean I will use them.

I do my own content / guides / tutorials the way I like. It's nothing personal. If someone wants something different, just for them... then by all means take a little bit of your own time to make changes for yourself to make it easier for yourself or more to your own preference. Just like doing your own table update / mod, etc.

If I was to do anything as an open collaboration... a table... tutorial... etc then I will certainly put it out there for everyone to know.
 
Last edited:
For my part, I believe that in multiball we should simply deactivate the ball rolling noise on the problem ramps. there are so many sounds playing at the same time that it goes unnoticed.

It is a good idea but I don't think the code for that could be added to the AIO. You would just have to find the point in the script of your specific table where multiball starts and stop the music on the channel for ball rolling sound. Then turn the channel back on where multiball ends in the script. In practice however I don't even hear the ball rolling sound of the one ball that is being tracked so I didn't see it necessary to change it on the table I am working on. I think I have the volume turned down lower that what many people use though.
 
Coming very soon...

New! Updated AIO Example Table, Tutorial and video for FizX 3.2.

Adding FizX 3.2, Fleep and Ball Rolling sounds couldn't be easier!

All In One Example Table - FizX, FLEEP, PUP SSF, DOF (3.20.07).jpg
 
FizX Physics System for Future Pinball - new updates for v3.2 (compared to previous versions)
  • all FP rubbers now automatically work with FizX! You are no longer required to add new FizX posts or bands!
  • all FP targets and drop targets now automatically work with FizX! You are no longer required to add new FizX target walls!
  • 4 sets of flippers are now supported
  • FizX Tweaker DMD is no longer required to be added (it's optional, as the table does a check for it first)
  • new FizX 3.2 code is even more efficient
  • some fixes

There is no excuses now dudes! FizX 3.2 now has ALL FP rubbers and targets working with FizX physics automatically! No need to add anything new or do extra work for "complete" FizX 3.2 physics.

You still have the options as before to add new FP rubber posts or FizX rubber posts / bands (recommended on slings) for more custom control if you wish. This would still allow you more flexibility and control over "every" item on the table.... but it's NOT a requirement anymore.


1700530492210.png





AIO Example Table and Tutorial updated to v3.20.07

This tutorial assumes you have a basic understanding of how Future Pinball - BAM works, and how to use the Future Pinball Editor.


Please take the time to read through the entire tutorial, so you know all the steps needed, and all the options you have. Many things have changed.

This tutorial is designed to be followed in order, step by step. I have split it into sections. The first sections are REQUIRED for FizX. The later sections are OPTIONAL.

REQUIRED SECTIONS

SECTION 1 – Prepare your table
SECTION 2 – Install files
SECTION 3 – Add required items to your table
SECTION 4 – Update the table for FizX physics
SECTION 5 – Disable features you won’t use or support

OPTIONAL SECTIONS

SECTION 6 – Optional FizX updates and features
SECTION 7 – Optional PinMechSound support





Table version: 3.20.07 (Nov 20 - 2023)

FizX: v3.20

CHANGELOG


3.20.07 (Nov 20 - 2023)

- updated table for all new FizX v3.2 code and features
- new FizX code no longer requires rubber posts, rubber bands, drop target walls to be added
- Tweaker Tool DMD is now optional, and not required (table won't give an error if its not added)





FAQ (Frequently Asked Questions)


I just want to add FizX physics to a table. Will this tutorial and example code be easy to use?

Yes! Adding FizX in its entirety takes little time!

The “optional” extra steps for PinMechSound (which add DOF and PUP support) are NOT required! You are not creating any more work for yourself using this tutorial, or the example table’s code if you just want FizX physics.

FizX is much more than just “better flippers”. It’s a “complete” physics update for Future Pinball.


I don’t want to enable or use the Ball Rolling methods with this example code. Can I disable it and use my own?

Yes! Simply set BallRolling_Sound_Enabled = false in the “Ball Rolling Sound Settings” section


I don’t want to add any support for PinMechSound or PUP or DOF. I just want the table to be like other FP tables.

Easy! Set DOF_enabled = false, and PUP_SSF_enabled = false (be sure to note that they must not be changed).

You can remove the “MECHANICAL SOUNDS AND FEEDBACK” section if you wish. DO NOT remove the Sub PinMechSound section!


Do I need to remove my previous rubber or target items from FizX 3.0?

No. You can choose to keep what you had previously as long as it was part of FizX 3.0 (the names of the items are the same).





What is REQUIRED?

- the All in One Example table zip file's content
- BAM 1.5-365 or higher

Yes.... the newest BAM 1.5-365 is REQUIRED!





New updated Video Tutorial - Part 1: FizX 3.2, Fleep & Ball Rolling sounds

This video shows how to use the All in One Example Table (along with the written Tutorial) to easily update a Future Pinball table to support "all" these new features. It is broken into chapters so you can go at your own pace, and easily pick up where you left off.

It does not... I repeat... does not take multiple hours just to add "complete" FizX physics, (if that is all you want to add) using the AIO Example table and tutorial. Large portions of the video are me "explaining" everything, and testing.

This video is Part 1 which covers adding what is needed for FizX and some optional updates.




Part 2 will cover adding the optional PinMechSound commands to add SSF, DOF and FLEEP sounds to the entire table.


ALWAYS follow the entire NEW written tutorial for the most up to date and correct information! Only use the video as a visual guide to help you along!





IMPORTANT! Changes for FizX 3.2 that are REQUIRED!


Flippers


- flippers MUST now be named LeftFlipper1, RightFlipper1, LeftFlipper2, RightFlipper2, LeftFlipper3, RightFlipper3, LeftFlipper4, RightFlipper4
- their commands in the table script must be changed to match the new names
- this needs to be done for the main flippers now BEFORE you can start and test a table for the first time (you will get an error if you don't do this)

If you are updating a table that used the AIO Example code, make sure your PinMechSound commands for flippers are ALSO updated to use the new names for LeftFlipper1, RightFlipper1. If you don't do this, you will get table errors!

1700528615298.png


Slingshots

- slings diverters MUST be named SlingDiverter1, SlingDiverter2, SlingDiverter3, SlingDiverter4, etc

FizX Tweaker Tool

- the FizX Tweaker DMD is no longer required to be added. The table does a check for its existence before enabling its functions (no more errors)

Table Items, Surfaces, Models

- only “rubber” items / models should be set to use Rubber Material type (walls, surfaces, other models must not use rubber material)
- all items that have hit events (switch, trigger, etc) must not have their Material Type set to Plastics. Only Metal, or Wood
- only Targets and Drop Targets (with hit events) can have Material Type set to Plastic in the FP editor, or within the settings of the model itself from FPM-Editor

No mixing of old and new code!

- make sure you use only the code from the new AIO Example table for a new table or when updating a table with older AIO Example code
- you can copy over your Flippers settings (if they are from FizX 3.0), Rubbers and Drop Target settings in FizX General Settings (if they were from FizX v3.0)
- use the new default PHYSICS XML settings, and only change what is different for items such as kickers, bumpers... only if "needed" (test first before making changes)





I'm sure I've missed something... so I'll try to add anything I've missed (when I get some sleep, eventually).

This new AIO Example Table's code and tutorial is made to work for "everyone".

FizX 3.2 has removed the need for any extra work for rubbers and targets while having ALL features of FizX available. The new AIO Example code and tutorial has been made to allow anyone to add only FizX 3.2, without needing to add extra "options" like PinMechsound (for DOF and SSF), Tweaker Tool, or custom rubbers / bands / walls, etc.... but they are still there for anyone who wants to add them later on. That's a win-win for everyone!

It's what everyone has been wanting. So darn it... go get it. No excuses! :)

The new updated table and tutorial are on the first post of this topic!


(My Part 2 Video, which is for adding PinMechSound to the same Knight Rider table, will come soon enough... when I get some sleep and can add that to the table and make a new video.)


Thanks to JLou for his continued work on FizX, which is now easier to add and better than ever!
 
Last edited:
I confirm. Easy and fast to do.
To convert a non FizX table: cut and paste the code, find your channel for ball sound, add diverters for slingshots (and convert the code) and adjust the parameters for rebounds. It's all.
To convert a old FizX table: it's take more time... You have to delete your previous posts diverters and rubbers bands (and adjust the code).
But, for both cases, you can do the trick in about 10'. Don't forget to put True or False if you want (or not) some features (ball sound, DOF, ...).
Just read the tuto from Terry.
 
I confirm. Easy and fast to do.
To convert a non FizX table: cut and paste the code, find your channel for ball sound, add diverters for slingshots (and convert the code) and adjust the parameters for rebounds. It's all.
To convert a old FizX table: it's take more time... You have to delete your previous posts diverters and rubbers bands (and adjust the code).
But, for both cases, you can do the trick in about 10'. Don't forget to put True or False if you want (or not) some features (ball sound, DOF, ...).
Just read the tuto from Terry.

What about the bumpers?
 
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
      Chat Bot Mibs Chat Bot Mibs: Ruhtra89 has left the room.
      Back
      Top