Help BAM FizX FizX Lite FP FizX and FizX Lite conversation

Future Pinball
If you watch the video of Goldrake that I posted, and you see the first ball in play, when it hits the flippers, you see how much bounce the ball has
 
If you watch the video of Goldrake that I posted, and you see the first ball in play, when it hits the flippers, you see how much bounce the ball has

Make the changes to the settings I pointed out to what you want to get your desired effect.

Try changing only the Flipper Elasticity settings in the Editor and see if that is enough. (that's usually all I have to do)

If that's not enough, then try changing the bounce in the FizX Flipper settings.

I can't give you a value, as that will be up to you to determine what you prefer. Realistic rubbers on newer real pins tend to be pretty bouncy when the ball comes down an orbit like that. That is where a Live Catch comes into play to try to control it.

The table's layout and build and geometry will most likely need to be updated as well. Both MOTU and Knight Rider from Rom needed a lot of changes to the table after adding FizX, because they simply were never made with realistic / FizX physics in mind... they were made to accommodate old FP physics.
 
Last edited:
The mathematics professor Francisco "xxx" told me (at that time) that a photo was better than a thousand words to understand better!!


Ok.I understood why I received the error....because that's what is....of."understanding" that's what it's about....you can read all the tutorials in the world and videos (no offense to anyone) but if you don't understand one thing , or because you have to do the translation or because you don't have "English" as your mother tongue... well, they're painful!

I had added "PinMechSound_Right_Flipper2_On" as in AIO, but since it was not necessary to use Right_Flipper2 and I had not inserted it in the editor, receiving the error, etc etc....so the problem was solved......but
Cattura1.JPG
Here's something I still don't quite understand....the sound part
This "PinMechSound" with all the "mech" sounds does only Dof and Pup use them? or even FP normal? if I have already deactivated in this
Cattura58.JPG
I don't have the sounds in the table?

if instead FP also uses them, in a way that I certainly cannot understand, codes and codes, if I add a trigger or anything else that has a "Hit" to a new table, I have to add this code

Sub triggerHappy _Hit
PinMechSound???????? what? my sound maybe?
End Sub

Therefore???? what?
 
Last edited:
When it comes to a ball hitting anything.... FizX will take care of playing sounds for that automatically (and will use pinmechsound commands within the FizX physic code). So you don't add any PinMechSound commands or triggers for any of that. The only exception would be for something like when a ball is dropping from a ramp to the playfield, etc. (optional, not required)

Just be sure you added ALL the required FLEEP sounds as the tutorial shows. Everyone using the AIO Example code must do this!



A PinMechSound command will manage what gets output. This can be DOF, PUP SSF, and FP Playsound.

If DOF is enabled (and DOF is installed on the PC), then the pinmechsound command will output to DOF. (for cabinet players only)

If PUP SSF is enabled (and PUP is installed on the PC, and the FP_PUP_SSF pup-pack is also installed), then the pinmechsound command will output a mechanical sound to PUP (Pinup Player) and will use the position of the fp_item to determine where in surround sound the sound should be played (stereo, 5.1, 7.1)

If PUP SSF is not enabled, then the pinmechsound command will simply use playsound to play the mechanical sound like normal in FP.

Only PUP_SSF or FP playsound will be output. Never both at the same time.



For the table creator, you only ever add pinmechsound commands for things that are event driven for mechanical sounds, and not automatic. So that is used for your flippers, bumpers, slings, drain, etc. A pinmechsound would "replace" your FP playsound commands for those events.

Remember though, that this is OPTIONAL.

If you don't want to add support for DOF or PUP SSF on your table (you want it to be like any other FP table), or you find its too hard to understand, then you do NOT add ANY PinMechSound commands at all to the MECHANICAL SOUNDS AND FEEDBACK section (and you set DOF and PUP SSF to false). You can remove all the subs in MECHANICAL SOUNDS AND FEEDBACK section if you are not using them.


If you do want to add support for DOF and PUP SSF, then you add pinmechsound commands like shown in the MECHANICAL SOUNDS AND FEEDBACK section. Then you link them to where those evens are in your table's code (flipper, slingshot, bumper, etc) The pinmechsound commands here MUST be done correctly to use your table's specific fp_item names, and the rest of the command or you will get an error! How the command works is described here.

1702126068567.png



Again, that is OPTIONAL. So if you find its too hard to understand, then don't do that part, and just use what your table originally had for mechanical sound events.
 
Last edited:
The table's layout and build and geometry will most likely need to be updated as well.
Obviously, in fact I'm not having a few problems in Goldrake(and it's only the first)....kicker and plunger to fix, wire ramps to finalize, and main flipper to adjust......regarding the latter I like to have them in the editor in a balanced way (I have always highlighted having a balance in the objects) but sometimes you have to make some exceptions

the table after adding FizX, because they simply were never made with realistic / FizX physics in mind... they were made to accommodate old FP physics.
Not only with Fizx!!

I have many original tables made with standard FP physics, and when I add my Bam staff and my optimal physics, there is always a need to adjust here and there......it's not simple.....and this is also one of the reasons that I don't want my tables to be modified or just add something is to stop them there......it's very complicated!!
 
When it comes to a ball hitting anything.... FizX will take care of playing sounds for that automatically (and will use pinmechsound commands). So you don't add any PinMechSound commands or triggers for any of that. The only exception would be for something like when a ball is dropping from a ramp to the playfield, etc.
perfect, clear!!
so it would be something similar that I recently used in my latest original, using this command.... Sub Generic_hit(object, hitSpeed , typ).

Remember though, that this is OPTIONAL.
yes I know, I understood this

For the table creator, you only ever add pinmechsound commands for things that are event driven for mechanical sounds, and not automatic. So that is used for your flippers, bumpers, slings, drain, etc. A pinmechsound would "replace" your FP playsound commands for those events.
and this is precisely what I want to understand better....sorry if I give an example and some questions about it


Sub PinMechSound_Drain_Hit
PinMechSound ("mech_Drain_"&Int(Rnd*5)+1), Drain, 1, , , ""
End Sub

in this "sub" with this sound, is... it working?I mean if in my current drain I have this sound "PlaySound "rDrain", which of the two do I hear?
and if instead I would like to hear that mech, what should I do?

EDIT:
for things that are event driven for mechanical sounds, and not automatic
This I do not understand, between mechanics and automatic, what you mean by automatic?
 
Last edited:
perfect, clear!!
so it would be something similar that I recently used in my latest original, using this command.... Sub Generic_hit(object, hitSpeed , typ).


yes I know, I understood this


and this is precisely what I want to understand better....sorry if I give an example and some questions about it


Sub PinMechSound_Drain_Hit
PinMechSound ("mech_Drain_"&Int(Rnd*5)+1), Drain, 1, , , ""
End Sub

in this "sub" with this sound, is... it working?I mean if in my current drain I have this sound "PlaySound "rDrain", which of the two do I hear?
and if instead I would like to hear that mech, what should I do?

EDIT:

This I do not understand, between mechanics and automatic, what you mean by automatic?

Automatic means it will happen on its own without you needing to add any commands to your table script. The AIO Example code doesen't know when your flipper is activated, or when your bumper is hit, or when your ball drains, etc. If you want pinmechsound to be used for those "events", then you need to add them yourself.


Sub PinMechSound_Drain_Hit won't do anything at all unless you choose to link it to your drain sub.

1702131274202.png


If you replace your "PlaySound "rDrain" with "PinMechSound_Drain_Hit", then PinMechSound_Drain_Hit will be used.

If you want to use your "PlaySound "rDrain", then don't do anything.

1702131361315.png



Everything in the MECHANICAL SOUNDS AND FEEDBACK section won't do anything unless you choose to link their subs to the rest of your table's code. You can just use the pinmechsound command in your table code directly if you prefer. I just grouped them all together in their own subs to make it a bit easier to copy and paste to another table, and to find them all in one location (MECHANICAL SOUNDS AND FEEDBACK section).
 
If you replace your "PlaySound "rDrain" with "PinMechSound_Drain_Hit", then PinMechSound_Drain_Hit will be used.

If you want to use your "PlaySound "rDrain", then don't do anything.
Perfect all clear now, this image says everything !!
Cattura00.JPG
 
Ok, next step is to understand how to set these, it's not reinventing the wheel, but it's trying to understand how to set them to the needs of the type of table you're working on.

Cattura55.JPG
as I noticed between the two profiles, if you modify a value let's say FlipperOmega as I understand it, you should also modify FlipperMass, and so on......in the script I believe they are paired for a specific reason I highlighted them in the red square,I can understand some of it, but the rest I can't.

so unless someone gets there before me in own table to understand how the values can be set, I'll just have to wait.
 
It's not required.

Some settings may have an effect on the other (they will say so in their description), but that doesn't mean you always have to change the other setting.

I honestly don't fully understand them all either. I usually only adjust the FlipperOmega (base power) and FlipperMass (rest of the flipper power), only as needed.
 
yes I always do it, for years now, change, save, reset fpram close and then open, it's a fundamental step that everyone should do.

not knowing what to touch, I always ask.......
it is these parameters that regulate the rebound?
use the fizx tweaker, try it for while then you will understand better.
there are a couple things that effect your bounce but also some may effect friction or the drag on the ball.
I think for me adjust the table friction
 
You can try my approach for flipper bounce. It is what I used on FizX 3.0. I haven't tried FizX 3.2 yet but my understanding is that it performs in a similar manner to 3.0 (I could be wrong). I prefer the Group 2 settings 2200, 0.60 and 0.20. I think everyone knows I prefer low bounce. I had to create this by necessity because I didn't like the default. I have tried all 9 groups of settings and they seem to work (at least they did on FizX 3.0). Group 6 settings are the default. Group 1 has extremely low bounce that no one would probably like. Likewise, Group 9 is extremely high bounce that no one would probably like either.

1702188606477.jpeg
 
use the fizx tweaker, try it for while then you will understand better.
mmmm.....what is fizx tweaker?

I think for me adjust the table friction
We were talking about flippers bouncing
I prefer the Group 2
So you had created bounce groups like in the original DF? so you understood how to set them....good I try this.
This would be very useful to insert it into AIO in my opinion, but not in terms of reinventing the wheel, but only because it makes you understand how to set them, for a bounce suitable, I repeat, suitable for the table you are working on.

now I don't know if touching these values can affect other functions that a flipper has, such as "Momemtum absorption" which as far as I understand regulates a hit immediately on the flipper by a rubber bounce......
 
I specifically mention that the AIO table and tutorial won't go deep into those kinds if settings. Instead I provided a link to the forum where JLou will (eventually) provide more details about the settings.

I'll be gone vising family for 1 week... so you may not hear much from me.
 
mmmm.....what is fizx tweaker?


We were talking about flippers bouncing

So you had created bounce groups like in the original DF? so you understood how to set them....good I try this.
This would be very useful to insert it into AIO in my opinion, but not in terms of reinventing the wheel, but only because it makes you understand how to set them, for a bounce suitable, I repeat, suitable for the table you are working on.

now I don't know if touching these values can affect other functions that a flipper has, such as "Momemtum absorption" which as far as I understand regulates a hit immediately on the flipper by a rubber bounce......
it will change settings IN REAL TIME, WHILE YOU PLAY TABLE.
Did you add FIZX 3 to your table? IF YES, look for the following code

' ########################### FizX - Testing Tools - START ############################


' - only enable these tools if you want to test and change FizX settings while playing a FizX table!
' - any changes made to FizX settings (while playing) are NOT saved to the table!
' - you must change those FizX settings in the table script yourself (in the FizX Settings sections below)
' - when done making changes to the table, you MUST set these options to false! (to prevent problems with players who use the F or G key)


' ****** FizX Tweaker Tool ******

' - the FizX Tweaker Tool lets you change the individual FizX settings in realtime while playing a table!
' - this is shown on a DMD display on the playfield screen. You must have "Hide Overlays = false" set in BAM Addons menu to see the DMD!
' - use up/down/left/right to change FizX settings
' - make sure you Toggle OFF the FizX Tweaker Tool when making changes in the BAM Menu! (they use the same keys!)
' - you can enable / disable the FizX Tweaker Tool (while playing) with the F KEY

FizX_Tweaker_Toggle_Key_enabled = true ' F KEY


' ***** Change FizX Profile Settings *****

' - you can quickly change the main FizX Profile Settings in realtime while playing a table!
' - you can change the FizX Profile (while playing) with the G KEY

FizX_Profile_Change_Key_enabled = true ' G KEY


' ############################ FizX - Testing Tools - END #############################




' ################################## FizX - TWEAKER - START ##################################

' -------- By Gimli, TerryRed and AnonTet --------


' ---------- How to add FizX Tweaker to a table ----------

' - in Translite Editor, create a Hud DMD (128x32) and call it "FizXDMD" (MUST be a HUD DMD!)
' - be sure the table has "dmd05x05p" font added (you can get this from FP's "NewTable")
' - copy and paste FizX Tweaker Code to table script
' - copy and paste the following under Sub FuturePinball_KeyPressed(ByVal KeyCode)

' ****** FizX Tweaker ******


' -------------------------------------------------------------------------------------------

FizXDMD.AddFont 1, "dmd05x05p"

Dim FizX_Tweaker_enabled, FizX_AdjustedValue, FizX_TweakSelection, FizX_TweakParameter
Dim FizX_TweakerToggle, FizX_Tweaker_Toggle_Key_enabled
Dim FizX_Settings_to_Startup

FizXDMD.Fadeout: FizX_TweakerToggle = 0

Sub FizX_Tweaker_Toggle
if FizX_Tweaker_Toggle_Key_enabled = false then exit sub
FizX_TweakerToggle = FizX_TweakerToggle + 1
if FizX_TweakerToggle > 1 then FizX_TweakerToggle = 0
If FizX_TweakerToggle = 0 Then FizXDMD.FadeOut: FizX_Tweaker_enabled = False
If FizX_TweakerToggle = 1 Then
FizXDMD.Text = "[f1][xc][y1]*** FizX Tweaker Tool ***"&"[y17]Up/Down = Options" &"[y25]Left/Right = Settings"
FizXDMD.FadeIn: FizX_Tweaker_enabled = True
End if
End Sub

FizX_TweakParameter = 0

Sub FizX_TweakValues() 'This code will change the FizX Values as you use the arrow keys
if FizX_Tweaker_enabled = false then exit sub

' Adjust Value
If FizX_TweakSelection = 1 then 'Up Arrow key
FizX_TweakParameter = FizX_TweakParameter - 1
If FizX_TweakParameter < 0 then FizX_TweakParameter = 17
FizX_AdjustedValue = 0
End If
If FizX_TweakSelection = 2 then 'Left Arrow Key
If FizX_TweakParameter = 1 then FizX_AdjustedValue = -1 'CoilTypeValue
If FizX_TweakParameter = 2 then FizX_AdjustedValue = -1 'LiveCatchDifficulty
If FizX_TweakParameter = 3 then FizX_AdjustedValue = -1 'EOSTorque
If FizX_TweakParameter = 4 then FizX_AdjustedValue = -1 'EOSAngle
If FizX_TweakParameter = 5 then FizX_AdjustedValue = -1 'FlipperOmega
If FizX_TweakParameter = 6 then FizX_AdjustedValue = -0.01 'FlipperMass
If FizX_TweakParameter = 7 then FizX_AdjustedValue = -0.1 'RollingEffect
If FizX_TweakParameter = 8 then FizX_AdjustedValue = -0.1 'FlipperFriction
If FizX_TweakParameter = 9 then FizX_AdjustedValue = -100 'High_Velocity_Threshold
If FizX_TweakParameter = 10 then FizX_AdjustedValue = -0.1 'Flipper_Low_Velocity_BouncingCoeff
If FizX_TweakParameter = 11 then FizX_AdjustedValue = -0.1 'Flipper_High_Velocity_BouncingCoeff
If FizX_TweakParameter = 12 then FizX_AdjustedValue = -1 'FlipperNudge_Strength
If FizX_TweakParameter = 13 then FizX_AdjustedValue = -1 'SlingshotThreshold
If FizX_TweakParameter = 14 then FizX_AdjustedValue = -0.001 'PlayField_Friction
If FizX_TweakParameter = 15 then FizX_AdjustedValue = -0.01 'PlayField_Elasticity
If FizX_TweakParameter = 16 then FizX_AdjustedValue = -0.1 'Table_Slope
If FizX_TweakParameter = 17 then FizX_AdjustedValue = -0.1 'Ball Material
If FizX_TweakParameter = 0 then FizX_Settings_to_Startup = 1 'Reset Settings to Startup Values
End if
If FizX_TweakSelection = 3 then 'Right Arrow key
If FizX_TweakParameter = 1 then FizX_AdjustedValue = 1 'CoilTypeValue
If FizX_TweakParameter = 2 then FizX_AdjustedValue = 1 'LiveCatchDifficulty
If FizX_TweakParameter = 3 then FizX_AdjustedValue = 1 'EOSTorque
If FizX_TweakParameter = 4 then FizX_AdjustedValue = 1 'EOSAngle
If FizX_TweakParameter = 5 then FizX_AdjustedValue = 1 'FlipperOmega
If FizX_TweakParameter = 6 then FizX_AdjustedValue = 0.01 'FlipperMass
If FizX_TweakParameter = 7 then FizX_AdjustedValue = 0.1 'RollingEffect
If FizX_TweakParameter = 8 then FizX_AdjustedValue = 0.1 'FlipperFriction
If FizX_TweakParameter = 9 then FizX_AdjustedValue = 100 'High_Velocity_Threshold
If FizX_TweakParameter = 10 then FizX_AdjustedValue = 0.1 'Flipper_Low_Velocity_BouncingCoeff
If FizX_TweakParameter = 11 then FizX_AdjustedValue = 0.1 'Flipper_High_Velocity_BouncingCoeff
If FizX_TweakParameter = 12 then FizX_AdjustedValue = 1 'FlipperNudge_Strength
If FizX_TweakParameter = 13 then FizX_AdjustedValue = 1 'SlingshotThreshold
If FizX_TweakParameter = 14 then FizX_AdjustedValue = 0.001 'PlayField_Friction
If FizX_TweakParameter = 15 then FizX_AdjustedValue = 0.01 'PlayField_Elasticity
If FizX_TweakParameter = 16 then FizX_AdjustedValue = 0.1 'Table_Slope
If FizX_TweakParameter = 17 then FizX_AdjustedValue = 0.1 'Ball Material
If FizX_TweakParameter = 0 then FizX_Settings_to_Startup = 1 'Reset Settings to Startup Values
End if
If FizX_TweakSelection = 4 then 'Down Arrow key
FizX_TweakParameter = FizX_TweakParameter + 1
If FizX_TweakParameter > 17 then FizX_TweakParameter = 0
FizX_AdjustedValue = 0
End if

' Apply Adjusted Value
If FizX_TweakParameter = 1 then
CoilTypeValue = CoilTypeValue + FizX_AdjustedValue
if CoilTypeValue > 10 then CoilTypeValue = 10
if CoilTypeValue < 1 then CoilTypeValue = 1
end if
If FizX_TweakParameter = 2 then
LiveCatchDifficulty = LiveCatchDifficulty + FizX_AdjustedValue
if LiveCatchDifficulty > 10 then LiveCatchDifficulty = 10
if LiveCatchDifficulty < 1 then LiveCatchDifficulty = 1
end if
If FizX_TweakParameter = 3 then
EOSTorque = EOSTorque + FizX_AdjustedValue
if EOSTorque > 100 then EOSTorque = 100
if EOSTorque < 0.05 then EOSTorque = 0.05
end if
If FizX_TweakParameter = 4 then
EOSAngle = EOSAngle + FizX_AdjustedValue
if EOSAngle > 30 then EOSAngle = 30
if EOSAngle < 1 then EOSAngle = 1
end if
If FizX_TweakParameter = 5 then
FlipperOmega = FlipperOmega + FizX_AdjustedValue
if FlipperOmega > 100 then FlipperOmega = 100
if FlipperOmega < 1 then FlipperOmega = 1
end if
If FizX_TweakParameter = 6 then
FlipperMass = FlipperMass + FizX_AdjustedValue
if FlipperMass > 1 then FlipperMass = 1
if FlipperMass <0.1 then FlipperMass = 0.1
end if
If FizX_TweakParameter = 7 then
RollingEffect = RollingEffect + FizX_AdjustedValue
if RollingEffect > 1 then RollingEffect = 1
if RollingEffect =< 0 then RollingEffect = 0
end if
If FizX_TweakParameter = 8 then
FlipperFriction = FlipperFriction + FizX_AdjustedValue
if FlipperFriction > 1 then FlipperFriction = 1
if FlipperFriction < 0 then FlipperFriction = 0
end if
If FizX_TweakParameter = 9 then
High_Velocity_Threshold = High_Velocity_Threshold + FizX_AdjustedValue
if High_Velocity_Threshold > 3000 then High_Velocity_Threshold = 3000
if High_Velocity_Threshold < 100 then High_Velocity_Threshold = 100
end if
If FizX_TweakParameter = 10 then
Flipper_Low_Velocity_BouncingCoeff = Flipper_Low_Velocity_BouncingCoeff + FizX_AdjustedValue
if Flipper_Low_Velocity_BouncingCoeff > 1 then Flipper_Low_Velocity_BouncingCoeff = 1
if Flipper_Low_Velocity_BouncingCoeff < 0.1 then Flipper_Low_Velocity_BouncingCoeff = 0.1
end if
If FizX_TweakParameter = 11 then
Flipper_High_Velocity_BouncingCoeff = Flipper_High_Velocity_BouncingCoeff + FizX_AdjustedValue
if Flipper_High_Velocity_BouncingCoeff > 1 then Flipper_High_Velocity_BouncingCoeff = 1
if Flipper_High_Velocity_BouncingCoeff < 0.1 then Flipper_High_Velocity_BouncingCoeff = 0.1
end if
If FizX_TweakParameter = 12 then
FlipperNudge_Strength = FlipperNudge_Strength + FizX_AdjustedValue
if FlipperNudge_Strength > 30 then FlipperNudge_Strength = 30
if FlipperNudge_Strength < 0 then FlipperNudge_Strength = 0
end if
If FizX_TweakParameter = 13 then
SlingshotThreshold = SlingshotThreshold + FizX_AdjustedValue
if SlingshotThreshold > 10 then SlingshotThreshold = 10
if SlingshotThreshold < 1 then SlingshotThreshold = 1
end if
If FizX_TweakParameter = 14 then
PlayField_Friction = PlayField_Friction + FizX_AdjustedValue
if PlayField_Friction > 1 then PlayField_Friction = 1
if PlayField_Friction < 0.001 then PlayField_Friction = 0.001
end if
If FizX_TweakParameter = 15 then
PlayField_Elasticity = PlayField_Elasticity + FizX_AdjustedValue
if PlayField_Elasticity > 1 then PlayField_Elasticity = 1
if PlayField_Elasticity < 0.01 then PlayField_Elasticity = 0.01
end if
If FizX_TweakParameter = 16 then
Table_Slope = Table_Slope + FizX_AdjustedValue
if Table_Slope > 10 then Table_Slope = 10
if Table_Slope < 1 then Table_Slope = 1
end if
If FizX_TweakParameter = 17 then
Ball_Material = Ball_Material + FizX_AdjustedValue
if Ball_Material > 1 then Ball_Material = 1
if Ball_Material < 0.1 then Ball_Material = 0.1
end if

' Display Adjusted Value
Select Case FizX_TweakParameter
Case 1:
if CoilTypeValue = 1 then CoilType = VerySlowCoil_1: FizXDMD.Text = "[f1][xc][y1]Coil Type - 1" &"[y9]< Very Slow 1 (55 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 2 then CoilType = VerySlowCoil_2: FizXDMD.Text = "[f1][xc][y1]Coil Type - 2" &"[y9]< Very Slow 2 (50 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 3 then CoilType = SlowCoil_1: FizXDMD.Text = "[f1][xc][y1]Coil Type - 3" &"[y9]< Slow 1 (45 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 4 then CoilType = SlowCoil_2: FizXDMD.Text = "[f1][xc][y1]Coil Type - 4" &"[y9]< Slow 2 (40 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 5 then CoilType = MediumCoil_1: FizXDMD.Text = "[f1][xc][y1]Coil Type - 5" &"[y9]< Medium 1 (35 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 6 then CoilType = MediumCoil_2: FizXDMD.Text = "[f1][xc][y1]Coil Type - 6" &"[y9]< Medium 2 (30 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 7 then CoilType = FastCoil_1: FizXDMD.Text = "[f1][xc][y1]Coil Type - 7" &"[y9]< Fast 1 (25 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 8 then CoilType = FastCoil_2: FizXDMD.Text = "[f1][xc][y1]Coil Type - 8" &"[y9]< Fast 2 (20 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 9 then CoilType = VeryFastCoil_1: FizXDMD.Text = "[f1][xc][y1]Coil Type - 9" &"[y9]< Very Fast 1 (15 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue
if CoilTypeValue = 10 then CoilType = VeryFastCoil_2: FizXDMD.Text = "[f1][xc][y1]Coil Type - 10" &"[y9]< Very Fast 2 (10 ms) >" &"[xc][y17]STARTUP: "& FizX_Startup_CoilTypeValue

Case 2:FizXDMD.Text = "[f1][xc][y1]Live Catch Difficulty"&"[y9]< " & LiveCatchDifficulty &" >" &"[xc][y17]STARTUP: "& FizX_Startup_LiveCatchDifficulty

Case 3:FizXDMD.Text = "[f1][xc][y1]EOS Torque"&"[y9]< " & EOSTorque &" >" &"[xc][y17]STARTUP: "& FizX_Startup_EOSTorque
Case 4:FizXDMD.Text = "[f1][xc][y1]EOS Angle"&"[y9]< " & EOSAngle &" >" &"[xc][y17]STARTUP: "& FizX_Startup_EOSAngle

Case 5:FizXDMD.Text = "[f1][xc][y1]Flipper Omega"&"[y9]< " & FlipperOmega &" >" &"[xc][y17]STARTUP: "& FizX_Startup_FlipperOmega
Case 6:FizXDMD.Text = "[f1][xc][y1]Flipper Mass"&"[y9]< " & FormatNumber(FlipperMass,2) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_FlipperMass,2)

Case 7:FizXDMD.Text = "[f1][xc][y1]Rolling Effect" &"[y9]< " & FormatNumber(RollingEffect,2) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_RollingEffect,2)
Case 8:FizXDMD.Text = "[f1][xc][y1]Flipper Friction" &"[y9]< " & FormatNumber(FlipperFriction,2) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_FlipperFriction,2)

Case 9:FizXDMD.Text = "[f1][xc][y1]High Vel Threshold"&"[y9]< " & High_Velocity_Threshold &" >" &"[xc][y17]STARTUP: "& FizX_Startup_High_Velocity_Threshold
Case 10:FizXDMD.Text = "[f1][xc][y1]Low Vel Bounce Coef" &"[y9]< " & FormatNumber(Flipper_Low_Velocity_BouncingCoeff,2) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_Flipper_Low_Velocity_BouncingCoeff,2)
Case 11:FizXDMD.Text = "[f1][xc][y1]High Vel Bounce Coef"&"[y9]< " & FormatNumber(Flipper_High_Velocity_BouncingCoeff,2) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_Flipper_High_Velocity_BouncingCoeff,2)

Case 12:FizXDMD.Text = "[f1][xc][y1]Flipper Nudge Strength"&"[y9]< " & FlipperNudge_Strength &" >" &"[xc][y17]STARTUP: "& FizX_Startup_FlipperNudge_Strength

Case 13:FizXDMD.Text = "[f1][xc][y1]SlingShot Threshold" &"[y9]< " & SlingShotThreshold &" >" &"[xc][y17]STARTUP: "& FizX_Startup_SlingShotThreshold

Case 14:FizXDMD.Text = "[f1][xc][y1]Playfield Friction" &"[y9]< " & FormatNumber(PlayField_Friction,3) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_PlayField_Friction,3)
Case 15:FizXDMD.Text = "[f1][xc][y1]Playfield Elasticity"&"[y9]< " & FormatNumber(PlayField_Elasticity,2) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_PlayField_Elasticity,2)

Case 16:FizXDMD.Text = "[f1][xc][y1]Table Slope"&"[y9]< " & FormatNumber(Table_Slope,1) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_Table_Slope,1)&"[xc][y25](TAKES EFFECT ON NEW BALL)"

Case 17:FizXDMD.Text = "[f1][xc][y1]Ball Material"&"[y9]< " & FormatNumber(Ball_Material,1) &" >" &"[xc][y17]STARTUP: "& FormatNumber(FizX_Startup_Ball_Material,1)&"[xc][y25](BALL TO BALL COLLISION)"

Case 0:FizXDMD.Text = "[f1][xc][y1]RESET ALL FIZX" & "[y9]SETTINGS TO STARTUP VALUES" & "[y25]< LEFT OR RIGHT TO RESET >"
if FizX_Settings_to_Startup = 1 then FizXDMD.Text = "[f1][xc][y1]FIZX SETTINGS" & "[y9]HAVE BEEN RESET" & "[y17]TO STARTUP VALUES!": Reset_FizX_Settings_to_Startup_Values: FizX_Settings_to_Startup = 0
End Select

FlipperInit() ' Needs to be called AFTER changing any FizX setting!

End Sub

Dim FizX_Startup_EOSTorque, FizX_Startup_EOSAngle, FizX_Startup_FlipperOmega, FizX_Startup_FlipperMass, FizX_Startup_LiveCatchDifficulty, FizX_Startup_High_Velocity_Threshold, FizX_Startup_RollingEffect
Dim FizX_Startup_Flipper_Low_Velocity_BouncingCoeff , FizX_Startup_Flipper_High_Velocity_BouncingCoeff , FizX_Startup_FlipperFriction, FizX_Startup_CoilTypeValue, FizX_Startup_SlingShotThreshold
Dim FizX_Startup_PlayField_Friction, FizX_Startup_PlayField_Elasticity, FizX_Startup_Table_Slope, FizX_Startup_FlipperNudge_Strength, FizX_Startup_Ball_Material

Dim CoilTypeValue ' needed because of CoilType is not numerical

Sub Set_CoilTypeValue_Startup
if CoilType = VerySlowCoil_1 then CoilTypeValue = 1
if CoilType = VerySlowCoil_2 then CoilTypeValue = 2
if CoilType = SlowCoil_1 then CoilTypeValue = 3
if CoilType = SlowCoil_2 then CoilTypeValue = 4
if CoilType = MediumCoil_1 then CoilTypeValue = 5
if CoilType = MediumCoil_2 then CoilTypeValue = 6
if CoilType = FastCoil_1 then CoilTypeValue = 7
if CoilType = FastCoil_2 then CoilTypeValue = 8
if CoilType = VeryFastCoil_1 then CoilTypeValue = 9
if CoilType = VeryFastCoil_2 then CoilTypeValue = 10
End Sub

Sub Apply_FizX_Settings_to_FizX_Startup_Settings 'use this only "after" FizX Profile settings are applied on startup!
Set_CoilTypeValue_Startup: FizX_Startup_CoilTypeValue = CoilTypeValue
FizX_Startup_LiveCatchDifficulty = LiveCatchDifficulty
FizX_Startup_FlipperNudge_Strength = FlipperNudge_Strength
FizX_Startup_EOSTorque = EOSTorque
FizX_Startup_EOSAngle = EOSAngle
FizX_Startup_FlipperOmega = FlipperOmega
FizX_Startup_FlipperMass = FlipperMass
FizX_Startup_RollingEffect = RollingEffect
FizX_Startup_FlipperFriction = FlipperFriction
FizX_Startup_High_Velocity_Threshold = High_Velocity_Threshold
FizX_Startup_Flipper_Low_Velocity_BouncingCoeff = Flipper_Low_Velocity_BouncingCoeff
FizX_Startup_Flipper_High_Velocity_BouncingCoeff = Flipper_High_Velocity_BouncingCoeff
FizX_Startup_SlingShotThreshold = SlingShotThreshold
FizX_Startup_PlayField_Friction = PlayField_Friction
FizX_Startup_PlayField_Elasticity = PlayField_Elasticity
FizX_Startup_Table_Slope = Table_Slope
FizX_Startup_Ball_Material = Ball_Material
End Sub

Sub Reset_FizX_Settings_to_Startup_Values
CoilTypeValue = FizX_Startup_CoilTypeValue
LiveCatchDifficulty = FizX_Startup_LiveCatchDifficulty
FlipperNudge_Strength = FizX_Startup_FlipperNudge_Strength
EOSTorque = FizX_Startup_EOSTorque
EOSAngle = FizX_Startup_EOSAngle
FlipperOmega = FizX_Startup_FlipperOmega
FlipperMass = FizX_Startup_FlipperMass
RollingEffect = FizX_Startup_RollingEffect
FlipperFriction = FizX_Startup_FlipperFriction
High_Velocity_Threshold = FizX_Startup_High_Velocity_Threshold
Flipper_Low_Velocity_BouncingCoeff = FizX_Startup_Flipper_Low_Velocity_BouncingCoeff
Flipper_High_Velocity_BouncingCoeff = FizX_Startup_Flipper_High_Velocity_BouncingCoeff
SlingshotThreshold = FizX_Startup_SlingShotThreshold
PlayField_Friction = FizX_Startup_PlayField_Friction
PlayField_Elasticity = FizX_Startup_PlayField_Elasticity
Table_Slope = FizX_Startup_Table_Slope
Ball_Material = FizX_Startup_Ball_Material
End Sub


' ################################### FizX - TWEAKER - END ###################################



' ############################# FizX Profiles - Control - START ##############################


' ***** Cycle FizX Profile Settings - For Testing Only!!! *****


' Add the following under Sub FuturePinball_KeyPressed(ByVal KeyCode)

'if keycode = 34 then FizX_Profile_Cycle 'G Key


Dim FizX_Profile_Change_Key_enabled

Sub FizX_Profile_Cycle
if FizX_Profile_Change_Key_enabled = false then exit sub
FizXDMD.FadeIn
FizX_Profile = FizX_Profile+1
if FizX_Profile >= 3 then FizX_Profile = 1
if FizX_Profile = 1 then
FizX_Profile_1_Settings: FizX_Profile_Name = "JLou Flippers"
FizXDMD.Text = "[xc][f1][y1]FIZX PROFILE 1[y25]JLou FLIPPERS"
end if
if FizX_Profile = 2 then
FizX_Profile_2_Settings: FizX_Profile_Name = "Custom Flippers"
FizXDMD.Text = "[xc][f1][y1]FIZX PROFILE 2[y25]CUSTOM FLIPPERS"
end if
AddDebugText "FizX Profile " & FizX_Profile &" applied: " & FizX_Profile_Name
End Sub


' ############################## FizX Profiles - Control - END ###############################
 
Paolo,

You may want to try my version of Road Runner or The Hungry Dead that are posted. I make changes to more parameters than Terry but some parameters I don't change.
 
Paolo,

You may want to try my version of Road Runner or The Hungry Dead that are posted. I make changes to more parameters than Terry but some parameters I don't change.
Ill upload a vid for him, maybe that will help
 
Last edited:
Different things will change your bounce, it all depends on what works with your table, changing the friction of the playfield might help you make the orbits, where changing the low bounce threshold or hi bounce thresholds will be a better choice.
just trying to be helpful
 
it will change settings IN REAL TIME, WHILE YOU PLAY TABLE.
Did you add FIZX 3 to your table? IF YES, look for the following code
I added Fizx 3.2., it seems to be the same,but it is a long code that contains many codes, I don't understand what it is much less what to touch, forgive my ignorance on fizx tweaker.
I was convinced that Fizx was just fizx and that certain things could be changed but only in options, to be clear about this:
Cattura1.JPGCattura3.JPGCattura2.JPG

Now I understand something about these, recently George confirmed to me (an intuition of mine) that to regulate the bounce of the pinball machine I have to set the parameters, those in the red square,then obviously, the omega, mass, the slope, the fps, these are known, the others.... complete darkness for me,like everything else!

Ill upload a vid for him, maybe that will help
Thank you, but if it's in English I can't do the translation, but I'll try to follow, I hope it's as short as a video, so it's easier to understand.

Different things will change your bounce, it all depends on what works with your table,
and I know this all too well!!
changing the friction of the playfield
"We" are talking about Fizx, this parameter is perhaps the only one that should not be changed(or it will alter the "fizx" system), for as I have understood, in my recent tables that I am "creating and updating in my optimal physics, this is a parameter that I change,......if you remember well my threads on physics I also talk about this.

just trying to be helpful
and continue to do so my friend, and I add for others too if possible:-D

You may want to try my version of Road Runner or The Hungry Dead that are posted. I make changes to more parameters than Terry but some parameters I don't change.
Yes, I tried it, but the question remains, I don't know what you changed, I mean which parameters.
 
flipper1 flipper2 (profile 1) some tweaker values go here

' ********** FizX Profle 1 **********

Sub FizX_Profile_1_Settings

' ---------------------- Flipper Live Catch ----------------------

LiveCatchDifficulty = 8 ' Default: 5 (1 = Easy, 10 = Hard) Set Difficulty for Livecatch


' ---------------------- Lower Left and Right Flippers ----------------------

CoilType = MediumCoil_2 ' Options: VerySlowCoil_1 (55ms) - VerySlowCoil_2 (50ms) - SlowCoil_1 (45ms) - SlowCoil_2 (40ms) - MediumCoil_1 (35ms) - MediumCoil_2 (30ms) - FastCoil_1 (25ms) - FastCoil_2 (20ms) - VeryFastCoil_1 ( 15ms ) - VeryFastCoil_2 ( 10ms )

EOSTorque = 25 ' Default: 25 (0 to 99)
EOSAngle = 25 '17 '20 ' Default: 20 (0 to 30) End Of Stroke angle ( angle range where the Omega is reduced )

FlipperOmega = 77 ' Default: 75 (0 to 99) Flipper Strength
FlipperMass = 0.445 '455 ' Default: 0.35 (0 to 1) Flipper Mass

RollingEffect = 0.80 '77 ' Default: 0.9 (0 to 1) Depending on the KineticFriction, how much rolling ball affects the shot. 0 = every shot is like if the ball is static, all shots are narrow as possible from base to tip. 1 = shot starts narrow from the base to gradually wide as possible the closer you are near the tip and even more based on the ball rolling speed.
FlipperFriction =0.60 '58 ' Default: 0.6 (0 to 1) Flipper friction applied to ball

High_Velocity_Threshold = 2400 '2500 ' Default = 2500 (100 to 3000) : Ball Speed in mm/s above which Flipper_High_Velocity_BouncingCoeff is fully apply. Below this speed, BouncingCoeff is applied proportionally depend ball speed between High and Low value
Flipper_Low_Velocity_BouncingCoeff = 0.90 '90 ' Default = 0.8 (0 to 0.99) : Bouncing Coeff for Flipper rubber when ball has low velocity. Higher give more bounce at low ball speed
Flipper_High_Velocity_BouncingCoeff = 0.40 '40 ' Default = 0.3 (0 to 0.99) : Bouncing Coeff for Flipper rubber when ball has high velocity. Higher give more bounce at high ball speed

FlipperNudge_Strength = 15 ' Default = 15 ' 0 = off : when the ball rolls on a flipper, rapidly hitting the opposite flipper causes the ball to (lightly) nudge away from the opposite flipper
 
' #################### FizX General Settings - START ####################

Sub FizX_General_Settings

' ============================= Slingshots =============================

SlingShotThreshold = 3 ' Default = 3 (1 to 10) : slingshot sensivity. Make the slingshot pulse with more or less sensitivity depending on ball speed


' ============================ PlayField ==============================
' ========= YES THE EXTRA DECIMAL MALKES A HUGE DIFFERENCE I.M.O ==========

PlayField_Friction = 0.0252 ' Default = 0.025
PlayField_Elasticity = 0.498 ' Default = 0.5

Table_Slope = 5.28 '5.28 ' Default = 5.3 : this overrides the slope setting in FP Editor and PHYSICS XML


' =========================== Ball Setting =========================

Ball_Material = 0.8 ' Default = 0.8 : ball vs ball physics. Ball hitting other balls has more bounce


' ============================ Drop Targets ============================

' FizX Drop Targets / walls in the table editor must be named: DT1, DT2, DT3, etc

ScatterDT = 5 ' Degrees of randomize Target element bounce

High_Velocity_ThresholdDT = 1000
DT_Low_Velocity_BouncingCoeff = 0.5
DT_High_Velocity_BouncingCoeff = 0.15 ' Target / Drop Target
DTFriction = 0.3


' =============================== Rubbers ==============================

ScatterRubber = 5 ' Degrees of randomize PF rubber element bounce

High_Velocity_ThresholdSoft = 2000
Soft_Low_Velocity_BouncingCoeff = 0.95
Soft_High_Velocity_BouncingCoeff = 0.7 ' 1 - Soft Rubber
elasticSoftFriction = 0.8

High_Velocity_ThresholdMidSoft = 2000
MidSoft_Low_Velocity_BouncingCoeff = 0.9
MidSoft_High_Velocity_BouncingCoeff = 0.6 ' 2 - Medium-Soft Rubber
elasticMidSoftFriction = 0.8

High_Velocity_ThresholdMed = 2000
Med_Low_Velocity_BouncingCoeff = 0.9
Med_High_Velocity_BouncingCoeff = 0.5 ' 3 - Medium Rubber
elasticMedFriction = 0.8

High_Velocity_ThresholdMidHard = 2000
MidHard_Low_Velocity_BouncingCoeff = 0.9
MidHard_High_Velocity_BouncingCoeff = 0.4 ' 4 - Medium-Hard Rubber
elasticMidHardFriction = 0.8

High_Velocity_ThresholdHard = 2000
Hard_Low_Velocity_BouncingCoeff = 0.9
Hard_High_Velocity_BouncingCoeff = 0.3 ' 5 - Hard Rubber
elasticHardFriction = 0.8

High_Velocity_ThresholdExtrhard = 2000
Extrhard_Low_Velocity_BouncingCoeff = 0.9
Extrhard_High_Velocity_BouncingCoeff = 0.2 ' 6 - Extra-Hard Rubber
elasticExtrHardFriction = 0.8


' ------------------ Rubber settings for Table items ------------------

' FizX Rubber Posts in the table editor must be named: RubberPost1, RubberPost2, RubberPost3, etc
' FizX Rubber Bands in the table editor must be named: RubberBand1, RubberBand2, RubberBand3, etc
' Rubber 6 (hard) les bounce than Rubber 1 (soft) mwhich has the most bounce

'RubberBandType(1) = 3 '6 'Drop Target LeftBank N.I.G.H.T
'RubberBandType(2) = 3 '6
'RubberBandType(3) = 3 '6 'Drop Target RightBank M.A.R.E
'RubberBandType(4) = 3 '6

'Left Slingshot
RubberPostType(2) = 4 ' Top Post Left Slinghsot
RubberPostType(3) = 5 ' Mid Post Left Slingshot
RubberPostType(4) = 6 ' Lower Post Left Slingshot "Post pass"
RubberBandType(5) = 6 ' Left Band Left Slingshot
RubberBandType(6) = 6 ' Lower Band Left Slingshot
'Right Slingshot
RubberPostType(7) = 4 ' Top Post Right Slinghsot
RubberPostType(8) = 5 ' Mid Post Right Slingshot
RubberPostType(9) = 6 ' Lower Post Right Slingshot "Post pass"
RubberBandType(10) = 6 ' Right Band Right Slingshot
RubberBandType(11) = 6 ' Lower Band Right Slingshot
'Left and Right Mini Slingshots below Night mare DTs
RubberPostType(12) = 5 ' RubberBL top post
RubberPostType(13) = 5 ' Rubber BL Btm post
RubberBandType(16) = 6 ' -RubberBL band
RubberPostType(14) = 4 ' RubberBR top post
RubberPostType(15) = 4 ' RubberBR btm post
RubberBandType(17) = 6 ' -RubberBR band
RubberPostType(18) = 6 ' Post rt under kicker
' Night Mare Rubbers
RubberBandType(19) = 2 ' Left N.i.g.h.t DT Rubber (Rubber1) in script
RubberPostType(20) = 2 ' Right M.A.R.E DT Rubber (Rubber3) in script
RubberPostType(21) = 4 ' Left Night dt Posts
RubberPostType(22) = 4 '
RubberPostType(23) = 2 ' Right Mare dtPosts
RubberPostType(24) = 4 '
' Upper Furnace
RubberBandType(25) = 5
RubberBandType(26) = 5
RubberPostType(27) = 6
RubberPostType(28) = 6
RubberPostType(29) = 6
RubberPostType(30) = 6
'Left Flipper 2 in case ball goes under it
RubberBandType(99) = 1 ' -Lf2 rebound

RubberPostType(99) = 1 'BallSaver Post

End Sub



The text in green are the invisible overlays and what you named them > harder more bounce = 1 softer less bounce = 6

also when I type a value
example
rubberband = 6 '2 '4
the '2 '4 are values I tried so I dont repeat testing
 
Last edited:
Ok thanks, but one step at a time! I'll tell you what I don't understand
LiveCatchDifficulty
what it is and what it is used for?
 
Ok thanks, but one step at a time! I'll tell you what I don't understand
LiveCatchDifficulty
what it is and what it is used for?




The setting changes how easy Live Catches are. When set to the easiest, you'll see a big difference.
 
Ok thanks, but one step at a time! I'll tell you what I don't understand
LiveCatchDifficulty
what it is and what it is used for?
Just set it high and see what happens when you play. It will do what you see in Terry's video without realizing what is going on.
 
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: dizzeee has left the room.
      Back
      Top