BAM FP Real Plunger For Future Pinball!!

Future Pinball

Paolo

No Bam no Play
Chat Moderator
Site Supporters
Joined
Mar 16, 2013
Messages
1,382
Solutions
3
Reaction score
645
Points
131
Favorite Pinball Machine
Batman(Data East)
Bene!! I created this mode(in memory of a friend), the Fp plunger is not really real, you pull the plunger and pull it all at once, you can only adjust the strength in the editor just for that shot, now it is possible to have (for now, but adjustable) 5 types(it's 50%) of strength for shot.

I inserted 5 types of sounds to highlight the difference between the shots, well.....you see also the speed/strength of ball
Note that you pull the plunger back in jerks (adjustable) as if the spring were real, it is not a toy but a real plunger....So the more you pull back, the more strength/speed you have on the ball.
For demonstration I wanted to show how it works in the plunger lane, but obviously it can be customized for any skillshots like in my Batman(data east).



Note: If the guys at Fizx want to include it in the next version of Fizx, let me know!!
 
Sorry, but the strength of shoot is depending of the strength of the plunger (the spring) and the plunger extension.
So, except the spring, I do that for more than 10 years (just adjusting slowly the plunger extand) as skill shot are essential for good old EM.
 
but the strength of shoot is depending of the strength of the plunger
exactly, that's what you see in the video, it's exactly that. It's not a toy

and the plunger extension.
I do not understand.

So, except the spring, I do that for more than 10 years
Maybe we have two types of fp,JP? because in what I have, you can only adjust the strength in the editor for a single shot, how have you been doing it for 10 years in spurts? if as soon as you touch the plunger the ball splashes away? Maybe you used your own mathematical code, but I can't know.

in Fp on a "new table" I have never managed to make the plunger do the more you pull back the more force you have.....if I have the force in the editor halfway(see photo), I don't know how you get the result I did on the video, then FP doesn't have the spring.
Cattura5.JPG

in that system there is also a bam code, in addition to the mathematical code that took me days to create, in FP there is nothing similar for the plunger.
 
Just look at one of my table. FP can do that from the beginning. From the FP help:
Plunger.jpg

So, with a timer, you can adjust the extent. And if you want (just look at my menu), you can use arrows for plunger (optional), you have to use arrow down and arrow up (customisable) in order to pull or push the plunger.

Sub FuturePinball_KeyPressed(ByVal KeyCode)
If (KeyCode = GetKeyCode(PlungerKey) Or KeyCode = ArrowU Or KeyCode = ArrowD) Then KC = KeyCode: PlungerTimer.Enabled = True ' Plunger is pulled

Sub FuturePinball_KeyReleased(ByVal KeyCode)
If KeyCode = ArrowD Or KeyCode = ArrowU Then PlungerTimer.Enabled = False ' The user has released a key on the keyboard..
If KeyCode = GetKeyCode(PlungerKey) Then ' The player has released the plunger. Let it go..
PlungerTimer.Enabled = False: Plunger.LetGo
PlaySound "PlungerRelease": PlungerPercentage = 0
End If

Sub PlungerTimer_Expired()
Select Case KC ' nvR12 = 1 -> use arrows for plunger
Case ArrowU: If nvR12 > 0 Then PlungerPercentage = PlungerPercentage +5
Case GetKeyCode(PlungerKey): If nvR12 = 0 Then PlungerPercentage = PlungerPercentage +5
Case ArrowD: If nvR12 > 0 Then PlungerPercentage = PlungerPercentage -3
End Select
If PlungerPercentage > 90 Then PlungerPercentage = 90
If PlungerPercentage < 0 Then PlungerPercentage = 0
Plunger.Pull(PlungerPercentage)
End Sub
 
So, you get that (without BAM, toy or whatever you want. Just pure native FP).
With arrows keys ->
Normal way ->
 
Just look at one of my table. FP can do that from the beginning. From the FP help:
View attachment 40694

So, with a timer, you can adjust the extent. And if you want (just look at my menu), you can use arrows for plunger (optional), you have to use arrow down and arrow up (customisable) in order to pull or push the plunger.

Sub FuturePinball_KeyPressed(ByVal KeyCode)
If (KeyCode = GetKeyCode(PlungerKey) Or KeyCode = ArrowU Or KeyCode = ArrowD) Then KC = KeyCode: PlungerTimer.Enabled = True ' Plunger is pulled

Sub FuturePinball_KeyReleased(ByVal KeyCode)
If KeyCode = ArrowD Or KeyCode = ArrowU Then PlungerTimer.Enabled = False ' The user has released a key on the keyboard..
If KeyCode = GetKeyCode(PlungerKey) Then ' The player has released the plunger. Let it go..
PlungerTimer.Enabled = False: Plunger.LetGo
PlaySound "PlungerRelease": PlungerPercentage = 0
End If

Sub PlungerTimer_Expired()
Select Case KC ' nvR12 = 1 -> use arrows for plunger
Case ArrowU: If nvR12 > 0 Then PlungerPercentage = PlungerPercentage +5
Case GetKeyCode(PlungerKey): If nvR12 = 0 Then PlungerPercentage = PlungerPercentage +5
Case ArrowD: If nvR12 > 0 Then PlungerPercentage = PlungerPercentage -3
End Select
If PlungerPercentage > 90 Then PlungerPercentage = 90
If PlungerPercentage < 0 Then PlungerPercentage = 0
Plunger.Pull(PlungerPercentage)
End Sub

I tried your code but the arrow keys don't work. I can see the plunger pulling back in increments (presumably the PlungerPercentage +5). I tried holding down the plunger and press the up or down arrow keys at the same time as pulling the plunger. Isn't keycode = 208 the Down Arrow Key and keycode = 200 the Up Arrow Key?

I had to add these dims to not get errors:

Dim ArrowD, ArrowU, PlungerPercentage, KC
 
First, you have to choose in the menu "Use arrows for plunger".
No by default. In this case, only Enter Key works add 5 to plunger percentage.
If you choose "Use arrows", then arrow down add 5 to plunger percentage and arrow up subtract 3 to plunger percentage. Use just one key at a time. When you are happy, just press enter key in order to launch the ball.
+ and - on plunger percentage are updated via the PlungerTimer set, for me, at 80 ms, so, if one plunger key is still pressed, plunger percentage is updated.

Const ArrowD = 200 ' to pull the plunger
Const ArrowU = 208 ' to push the plunger
Dim PlungerPercentage ' plunger extent (Percentage)
Dim KC ' To deal with plunger
 
Where is "Use arrows for plunger"? It is new to me. I don't see it anywhere in the editor and it is not listed in the manual.
 
In the menu (access when game is over via Special2Key. Then, left flipper to go from option to option. In an option, right flipper to choose the desired value.
 
No problem JP.....
I just wanted to share something that in reality perhaps almost no one could use,
if you used it for 10 years, maybe you could share it in a thread(a long time ago), because not everyone might know and use it.

This system... either yours or mine is always useful, there's something for everyone.

I didn't know that in normal FP, it could be done. But a particular code is always needed, not everyone has the skills like yours.

I don't know how the one in FP works with your code. but what I created, you can decide the force at each click from "0 to 100" when you pull the plunger, then there is the spring which is a touch of art for the "EM"

The basic code and the spring are a legacy of Gianfranco, I have only finalized it (it is still 50% to be completed) and if anyone wants to use it just ask, or they can simply use yours. that's all
 
No problem JP.....
I just wanted to share something that in reality perhaps almost no one could use,
if you used it for 10 years, maybe you could share it in a thread(a long time ago), because not everyone might know and use it.

This system... either yours or mine is always useful, there's something for everyone.

I didn't know that in normal FP, it could be done. But a particular code is always needed, not everyone has the skills like yours.

I don't know how the one in FP works with your code. but what I created, you can decide the force at each click from "0 to 100" when you pull the plunger, then there is the spring which is a touch of art for the "EM"

The basic code and the spring are a legacy of Gianfranco, I have only finalized it (it is still 50% to be completed) and if anyone wants to use it just ask, or they can simply use yours. that's all

How do you add it?
 
In the menu (access when game is over via Special2Key. Then, left flipper to go from option to option. In an option, right flipper to choose the desired value.

I tried Happy Clown and it works. The code is identical to what you posted except you removed the Flag_Menu which I don't need. I noticed that you set the PluingerTimer to 80 on Happy Clown so I did the same. It still didn't work.

I have attached my table. Maybe you can figure out why it doesn't work.
 

Attachments

  • ```JPsPlungerCodeDemo.fpt
    224 KB · Views: 1
Yes, I figure... Just search for JPR in the script
 

Attachments

  • ```JPsPlungerCodeDemo_JPR.fpt
    224 KB · Views: 5
How do you add it?
As simple as possible......if you mean how.
If you mean "way/mode" I'll explain....actually I've always added it to my tables, Gianfranco probably took a note from "Help of fp" and created the code (as I think JP did)..... only that, I don't know fp well ( script) at that time, I made a mistake by not adding a timer in the code of If "(KeyCode = GetKeyCode(PlungerKey)) Then" about (Plunger.Pull) so it doesn't work and I didn't understand the peculiarity of the spring

The timer in question is used to make the plunger snap/click back which I set at +5(adjustable), I 100% stop it.....then with a "subroutine" I call in
"(KeyCode = GetKeyCode(PlungerKey)) Then" about (Plunger.LetGo) my mathematical code(within my reach of course) that based the percentage of backward shots of the plunger, launches the ball at speed(adjustable) via Bam code.that's all.

For now I only have one "subroutine" with 5 types of speed, but I add three "subroutines", so as to be able to choose which one is best for the user, so... one with three speeds, one with 5, and one with 10, and finalize the sounds.

obviously it's just a way to make it almost real, because honestly it's not necessary to have different speeds to then see that the ball returns back into the plunger's lane, the purpose of this mode of mine is; having speeds that allow you to throw the ball beyond the plunger's lane is hitting your skillsshot with different adjustable speeds for your table, or alternatively (if you don't have a skillshot) having 2/3 moderate speeds (always adjust them yourself ) to go past the plunger lane the way you like it.

Cattura.JPGCattura2.JPG
 
Last edited:
Yes, I figure... Just search for JPR in the script

Ok, I didn't realize you have to switch between using the normal plunger key and the arrow keys. It is pretty cool. I am interested because I have been using a method very similar but it just uses the normal plunger key and delays the pull back which gives you more time to react. It doesn't use the arrow keys.

It seems like the 5% increments are a little high to me. I normally use something like 1.3 but set the timer to 20. Obviously though, you have been having good luck with 5/80. If it is OK with you, I might start using your code since the plunger key part of it is nearly identical to what I have been using.
 
80 ms, +5, -3 are just values, you can change them. But, for the precision, arrow keys (or others) is better. You can reach all the percentages of extend. But this is only valid for precision shots. That's why there was a gauge with good old EM's
 
So if they are used the directional keys, and go back and forth with the plunger in my opinion it is no different from a toy....

Therefore the spring would not make sense, it seems strange to me that with a real plunger you could go back and forth with it and position it where it is convenient and then what happens,.......give it a blow with the palm of your hand to push and hit the ball......I don't know maybe in the old "em" is so, I remember in the ones I played there is the spring, then I don't know about the rest.

For me a real plunger is; you pull it back and try to calculate the force needed for the "skillshot" shot, if you go back and forth what fun is there? , and just my thought, this is not a criticism of this way with the directional keys.
 
The few real pinball tables I have played have markings on the sides of the plunger window. It allows you to be able to repeat the same shot once you figure out where the sweet spot is loacated so you can hit the skill shot. You just pull the plunger back to to the same spot where you had success the last time you played. The default FP plunger pulls back so fast that you don't have enough reaction time to be able to decide when to release it. JP's plunger key code makes the plunger pull back slower so you have a little more time to decide when to release the plunger. I will have to live with JP's arrow keys to see if I like it. It doesn't look like the way a real table would work but a real table does allow you to have as much time as you want to release the plunger and be able to set it exactly the way you want it which is something the default FP doesn't do.
 
Yes, I figure... Just search for JPR in the script
JP,

I made a minor change to your code. I tried removing the "If" statements for nvR12 and let the arrow and plunger keys all work at the same time. The only problem is when I used the arrow keys and then pressed the plunger, the plunger would pull back a little more than it was set by the arrow keys. So I added a flag called "PlungerKeyPressed". My idea is that if the end user presses the arrow keys first, then the plunger is deactivated. Likewise, if the end user presses the plunger key first, then the arrow keys are deactivated. This way end users can just press whatever key they want and not have to set a switch before playing the game. My testing indicates it works. Would you try the attachment to see if my logic is flawed?

George
 

Attachments

  • ```JPsPlungerCodeDemoGeorgeHMod.fpt
    224.5 KB · Views: 4
Good idea dear George! For me, it's work.
 
Good idea dear George! For me, it's work.

Feel free to add it to your tables. It is not enough payback for all the stuff you have done for me but every little bit helps.
 
Good idea dear George! For me, it's work.

Unfortunately, my mod has a bug. If you press the plunger key first, you have to press it a second time to get the plunger to move. Likewise if you press the down arrow key first, you have to press it a second time also to get the plunger to move. I don't know how to fix this so I guess I will have to go back to your original code.

The only thing I figured out is you don't need the logic where the arrow keys are deactivated if the end user presses the plunger key first.
 
Don't worry, I'll have a look to that, but not tomorrow. I think it will be easy (maybe) to solve.
 
Try that
 

Attachments

  • ```JPsPlungerCodeDemoGeorgeHMod2.fpt
    224.5 KB · Views: 3

This version has a problem. If you press the down arrow key and then press the plunger key to release the plunger, the plunger will move down (if you hold it long enough). In other words, the plunger has not been deactivated.

It pretty much works the same as if the PlungerKeyPressed flag were not there at all.
 
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:
    eathearty has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    dieg44720 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    leestecher has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    swaggedgamer777 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Arnold101 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    MoFloh has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Jthemad has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Fredrick has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    lilalien has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Clu1968 has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    manalpa has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    katywings has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Jonte67swe has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    ernaoqds has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    HotPinkCenter has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    remoberserkerxxx has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    holymoses has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Carla has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Zoran_ST has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    evandrogleide has joined the room.
  • Chat Bot Mibs Chat Bot Mibs:
    evandrogleide has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Utnapistim has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    matteo_grop has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    PrettyGood has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    Stoobie has left the room.
      Chat Bot Mibs Chat Bot Mibs: Stoobie has left the room.
      Back
      Top