Jump to content



Photo
* * * * * 1 votes

Analog Plunger Help Desk


  • Please log in to reply
116 replies to this topic

#41 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 15 August 2012 - 10:00 AM

QUOTE (Tulkstar @ Aug 15 2012, 01:44 AM) <{POST_SNAPBACK}>
have you done circus voltair? are all taables the same???


I have done Cirqus Voltaire personally, but not for this thread. Which version are you referring to? the B2S version?

And no, not all tables are the same, as it depends on which method is used to animate the plunger, as there are at least 6 different methods of doing so...
Kickers
Drop Walls
Reels
Lights
Alpha Ramps
Gates (but I think I am the only one who has messed with using these at all)

And depending on the method used, the method used for adding analog support differs as well. The only universal way is to completely scrap the existing plunger system and add the one you prefer (Alpha Ramps are probably the easiest of the bunch, as they can be a drop in replacement for all except the Reel method).

#42 Dazz

Dazz

    Pinball Fan

  • Banned
  • PipPipPipPip
  • 858 posts
  • Location:Keller, Texas

  • Flag: United States of America

  • Favorite Pinball: Twilight Zone and Cyclone

Posted 18 August 2012 - 09:58 PM

What settings control the power of the Analog Plunger?

Mech Strength?
Break Over Velocity?
Posted Image

#43 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 18 August 2012 - 10:32 PM

QUOTE (Dazz @ Aug 18 2012, 04:58 PM) <{POST_SNAPBACK}>
What settings control the power of the Analog Plunger?

Mech Strength?
Break Over Velocity?


Mech Strength controls the maximum power the plunger will have, and not sure, but I think the Break Over Velocity is if the plunger movement reaches that speed, it is considered a full strength hit...

I personally got tired of messing with all the little settings for the plunger object, which is why I am starting to add impulse plungers back onto tables and control them with the analog plunger, as it is a much more consistent shot each time when the plunger is pulled back the same amount, and no need to worry about whether or not the plunger travels freely on it's way back in and completely throw off the power of your shot.

I think there is a way I can combine my two methods and use the plunger object as a 'impulse' type plunger, where it shoots full strength every time and just adjust the strength of what 'full' is based on the plunger position without adding the extra coding for the impulse plunger, but haven't tested it out yet.

#44 Dazz

Dazz

    Pinball Fan

  • Banned
  • PipPipPipPip
  • 858 posts
  • Location:Keller, Texas

  • Flag: United States of America

  • Favorite Pinball: Twilight Zone and Cyclone

Posted 20 August 2012 - 08:53 PM

Hey Kodiak I've got 3 tables that I'm having issues getting the Analog plunger working on.

All 3 tables are B2S versions:
Funhouse - ID [6534](v2.1.3)
F-14 TomCat - ID [6536](v1.0.0)
BK2K - ID [6755](v1.0)

I wouldn't mind having a better looking plunger on BK2K, the current one is sortta ugly when compared to other tables.
Posted Image

#45 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 20 August 2012 - 09:07 PM

QUOTE (Dazz @ Aug 20 2012, 03:53 PM) <{POST_SNAPBACK}>
Hey Kodiak I've got 3 tables that I'm having issues getting the Analog plunger working on.

All 3 tables are B2S versions:
Funhouse - ID [6534](v2.1.3)
F-14 TomCat - ID [6536](v1.0.0)
BK2K - ID [6755](v1.0)

I wouldn't mind having a better looking plunger on BK2K, the current one is sortta ugly when compared to other tables.


Alright, I will get on Tomcat first, as that is probably the easiest of the three, as FunHouse has two plungers to deal with, and haven't had a chance to look at BK2K yet...

Will post again as I get them done...

#46 Dazz

Dazz

    Pinball Fan

  • Banned
  • PipPipPipPip
  • 858 posts
  • Location:Keller, Texas

  • Flag: United States of America

  • Favorite Pinball: Twilight Zone and Cyclone

Posted 20 August 2012 - 09:20 PM

QUOTE (koadic @ Aug 20 2012, 04:07 PM) <{POST_SNAPBACK}>
QUOTE (Dazz @ Aug 20 2012, 03:53 PM) <{POST_SNAPBACK}>
Hey Kodiak I've got 3 tables that I'm having issues getting the Analog plunger working on.

All 3 tables are B2S versions:
Funhouse - ID [6534](v2.1.3)
F-14 TomCat - ID [6536](v1.0.0)
BK2K - ID [6755](v1.0)

I wouldn't mind having a better looking plunger on BK2K, the current one is sortta ugly when compared to other tables.


Alright, I will get on Tomcat first, as that is probably the easiest of the three, as FunHouse has two plungers to deal with, and haven't had a chance to look at BK2K yet...

Will post again as I get them done...

Oh, with Tomcat I have the plunger working, but no animation. I also had to increase the strength to 100 to get the ball up the launch ramp.
Posted Image

#47 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 20 August 2012 - 09:39 PM

F-14 TomCat FS B2S

Add code in RED

Solution 1:
CODE
Sub Table1_KeyDown(keycode)
...
If keycode = PlungerKey Then Plunger.Pullback:Pcount = 0:PTime.Enabled = 1:Plunger.TimerEnabled = 0
...

Sub Table1_KeyUp(ByVal keycode)
...
If keycode = PlungerKey Then Plunger.Fire:PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1:Plunger.TimerEnabled = 1
...

'(placed after End Sub from the Sub PTime2_Timer...)

Dim PlungerPos
Sub Plunger_Timer()
PlungerPos = INT(Plunger.Position/2)
If PlungerPos > 12 Then PlungerPos = 12
Select Case PlungerPos
Case 0:PUpdate:p1.state = 1
Case 1:p1.state = 1:p1.state = 0
Case 2, 3:PUpdate:p2.state = 1
Case 4:p2.state = 1:p2.state = 0
Case 5:PUpdate:p3.state = 1
Case 6:p3.state = 1:p3.state = 0
Case 7:PUpdate:p4.state = 1
Case 8:p4.state = 1:p4.state = 0
Case 9:PUpdate:p5.state = 1
Case 10:p5.state = 1:p5.state = 0
Case 11:PUpdate:p6.state = 1
Case 12:p6.state = 1:p6.state = 0
End Select
End Sub

Sub PUpdate
p1.state = 0
p2.state = 0
p3.state = 0
p4.state = 0
p5.state = 0
p6.state = 0
End Sub



Instructions: In the editor, select the plunger object named Plunger; check the "Enable Mechanical Plunger" box, check the "Timer Enabled" box and set the interval to 40.

My usual 'solution 2' will have to wait for later as this contains no impulse plunger to utilize... will edit this post when I get around to getting it set up correctly.

#48 Dazz

Dazz

    Pinball Fan

  • Banned
  • PipPipPipPip
  • 858 posts
  • Location:Keller, Texas

  • Flag: United States of America

  • Favorite Pinball: Twilight Zone and Cyclone

Posted 20 August 2012 - 10:03 PM

QUOTE (koadic @ Aug 20 2012, 04:39 PM) <{POST_SNAPBACK}>
F-14 TomCat FS B2S

Add code in RED

Solution 1:
CODE
Sub Table1_KeyDown(keycode)
...
If keycode = PlungerKey Then Plunger.Pullback:Pcount = 0:PTime.Enabled = 1:Plunger.TimerEnabled = 0
...

Sub Table1_KeyUp(ByVal keycode)
...
If keycode = PlungerKey Then Plunger.Fire:PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1:Plunger.TimerEnabled = 1
...

'(placed after End Sub from the Sub PTime2_Timer...)

Dim PlungerPos
Sub Plunger_Timer()
PlungerPos = INT(Plunger.Position/2)
If PlungerPos > 12 Then PlungerPos = 12
Select Case PlungerPos
Case 0:PUpdate:p1.state = 1
Case 1:p1.state = 1:p1.state = 0
Case 2, 3:PUpdate:p2.state = 1
Case 4:p2.state = 1:p2.state = 0
Case 5:PUpdate:p3.state = 1
Case 6:p3.state = 1:p3.state = 0
Case 7:PUpdate:p4.state = 1
Case 8:p4.state = 1:p4.state = 0
Case 9:PUpdate:p5.state = 1
Case 10:p5.state = 1:p5.state = 0
Case 11:PUpdate:p6.state = 1
Case 12:p6.state = 1:p6.state = 0
End Select
End Sub

Sub PUpdate
p1.state = 0
p2.state = 0
p3.state = 0
p4.state = 0
p5.state = 0
p6.state = 0
End Sub



Instructions: In the editor, select the plunger object named Plunger; check the "Enable Mechanical Plunger" box, check the "Timer Enabled" box and set the interval to 40.

My usual 'solution 2' will have to wait for later as this contains no impulse plunger to utilize... will edit this post when I get around to getting it set up correctly.

This works beautifully.

One more table would be Red & Ted's Roadshow. ID = 5028

I really wish I could figure out how to do these on my own... It's sortta difficult trying to determine what method the plunger uses on some of these tables.
Posted Image

#49 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 22 August 2012 - 11:14 AM

Sorry bout the delay Dazz... here is BK2K for ya...

BK2K_FS_B2S

Easier method requiring just some basic changes to script and table objects

Solution 1:
CODE
Sub Bk2000_KeyDown(keycode)
...
If keycode = PlungerKey Then Plunger.Pullback:Pcount = 0:PTime.Enabled = 1:Plunger.TimerEnabled=0
...

Sub Bk2000_KeyUp(ByVal keycode)
...
If keycode = PlungerKey Then Plunger.Fire:PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1:Plunger.TimerEnabled=1
...

'(placed after End Sub from the Sub PTime2_Timer...)
Dim PlungerPos,oPlungerPos
Sub Plunger_Timer()
PlungerPos=INT(Plunger.Position)
PTop.Y = PTopY+INT(PlungerPos)*3
PBottom.Y = PBottomY+INT(PlungerPos)*3
oPlungerPos=PlungerPos
End Sub
Instructions: In the editor, select the plunger object; check the "Enable Mechanical Plunger" box, check the "Timer Enabled" box and set the interval to 40. Then I suggest locking both the P1 and P2 kickers, as we are gonna have to move them a little, and easier if they don't move when you click them smile.gif... Select P1, change the position to the following - X: 948; Y - should remain 1827.125. Select P2, change the position to the following - X - 946.25; Y - 1882.125; Surface - 25h.

My usual 'solution 2' will have to wait for later as this contains no impulse plunger to utilize... will edit this post when I get around to getting it set up correctly.



If you want to make it look more like the newer plungers, you are gonna have to do a little more advanced editing...

Advanced method requiring script and table changes.

First, find a set of plunger images you would like to use, as this doesn't include any other than the 2 'ball' images that are used currently. When you grab them from another table, make sure they are images of just the plunger itself, as we are gonna use alpha ramps for the new animation. I will be working off of the assumption that there are going to be 12 images total...

Step 1: Delete exiting P1 and P2 kickers and remove the entire plunger section of the script (or comment it out, whatever works for you).
Step 2: Import plunger images into table. These should be named p1 - p12
Step 3: Create a ramp to be used for initial plunger image. To start, make the width about 35, and make it about 120 units long. Set it to alpha, image mode to wrap, set the image to the p1 image you just imported, set height to 45 for top and bottom (width should be 35 as mentioned earlier), set visible and physical walls to 0, and uncheck collidable. Position this ramp on the table in the area of the plunger and start the table to see how it looks. Tweak the position and size until it looks like it is placed correctly. You can then change the image to p12 temporarily to see how it would look pulled all the way back too, just make sure it gets changed back to p1.
Step 4: When initial ramp is placed correctly, lock it into position (to avoid any headaches later), and copy it with CTRL-C. Paste a new ramp onto the table. It should be in the exact location of the previous one with an incremented name, like p2. For this new ramp, change the image to the p2 image imported earlier (everything else is the same). Rinse and Repeat until you have 12 ramps total, making sure you change the images appropriately.
Step 5: Add a light to the table, choose ShapeCustom for the shape, change the Color to pure black (0, 0, 0; we don't actually want to see the light). Size and place accordingly to cover the ramps for the plunger, set the surface to p1. Rename this light 'PRefresh'.
Step 6: Change the name of the trigger 'sw53' to 'swPlunger'
Step 7: Add/Change the following code:
CODE
Sub Bk2000_KeyDown(ByVal keycode)
....
If keycode = PlungerKey Then Plunger.Pullback:Pcount = 0:PTime.Enabled = 1:Plunger.TimerEnabled=0
....

Sub Bk2000_KeyUp(ByVal keycode)
....
If keycode = PlungerKey Then
PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1:Plunger.Fire:Plunger.TimerEnabled=1
If(BallinPlunger = 1) then 'the ball is in the plunger lane
PlaySound "Plunger2"
Else
PlaySound "Plunger"
End if
End If

....

'(Use the following instead of the old plunger code)
'***********************
'Koadic's NewStyle Alpha Ramp Plunger Scripting
'(based heavily on and modified from JP's work)
'***********************

Dim Plungers:Plungers = Array(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p12)
Dim PlNewPos, PlOldPos, PCount, BallinPlunger
ResetPlungers

Sub swPlunger_Hit:BallinPlunger = 1:Controller.Switch(53) = 1:End Sub 'in this sub you may add a switch, for example Controller.Switch(14) = 1

Sub swPlunger_UnHit:BallinPlunger = 0:Controller.Switch(53) = 0:End Sub 'in this sub you may add a switch, for example Controller.Switch(14) = 0

Sub ResetPlungers
For x = 1 to 12:Plungers(x).alpha = 0:Next
Plungers(0).alpha = 1
Pcount = 0
PlNewPos = 0
PlOldPos = 0
PRefresh.state = ABS(PRefresh.state - 1)
End Sub

Sub PTime_Timer
If Pcount <12 Then
Plungers(Pcount).alpha = 0
Pcount = Pcount + 1
Plungers(Pcount).alpha = 1
PRefresh.state = ABS(PRefresh.state - 1)
End If
End Sub

Sub PTime2_Timer
Select Case Pcount
Case 0:ResetPlungers
Case 1:Plungers(0).alpha = 0:Plungers(2).alpha = 1:PRefresh.state = ABS(PRefresh.state - 1)
Case 2:ResetPlungers:Me.Enabled = 0
End Select
Pcount = Pcount + 1
End Sub

Sub Plunger_Timer()
Plungers(PlOldPos).alpha = 0
PlNewPos = INT(Plunger.Position/2)
If PlNewPos > 12 Then PlNewPos = 12
Plungers(PlNewPos).alpha = 1
PlOldPos = PlNewPos
PRefresh.state = ABS(PRefresh.state - 1)
End Sub

Then, of course, in the editor, select the plunger object; check the "Enable Mechanical Plunger" box, check the "Timer Enabled" box and set the interval to 40

#50 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 22 August 2012 - 12:32 PM

And Funhouse...

Funhouse_FS_B2S

CODE
Sub table1_KeyDown(ByVal Keycode)
...
If keycode = PlungerKey Then PlungerIM.Pullback:PlungerIM2.Pullback:Pcount = 0:PTime.Enabled = 1:Plunger.TimerEnabled = 0
...

Sub table1_KeyUp(ByVal Keycode)
...
If keycode = PlungerKey Then PlungerIM.Fire:PlungerIM2.Fire:PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1:Plunger.TimerEnabled = 1
...

'(placed after End Sub from the Sub PTime2_Timer...)
Dim PlungerPos
Sub Plunger_Timer()
Dim obj
If StepGate3.IsDropped=0 Then 'This IF statement will disable the animation when on the steps, if you want the animation to work, comment out this line and the End If below, leaving everything else alone
For each obj in Plungers:obj.IsDropped = 1:Next
PlungerPos = INT(Plunger.Position/2)
If PlungerPos > 12 Then PlungerPos = 12
Plungers(PlungerPos).IsDropped = 0
End If
End Sub
Instructions: In the editor, add a plunger object named Plunger on the right; uncheck the "Visable" box; check the "Enable Mechanical Plunger" box, check the "Timer Enabled" box and set the interval to 40. Make sure to position the plunger so it will hit the ball. Adjust MechStrength and Break Over Velocity to suit (may need to experiment to get it how you want). Add a plunger object named PlungerL on the left; uncheck the "Visable" box and check the "Enable Mechanical Plunger" box. Make sure to position the plunger so it will hit the ball. Adjust MechStrength and Break Over Velocity to suit (may need to experiment to get it how you want).

Will update this with my secondary solution later...

#51 Dazz

Dazz

    Pinball Fan

  • Banned
  • PipPipPipPip
  • 858 posts
  • Location:Keller, Texas

  • Flag: United States of America

  • Favorite Pinball: Twilight Zone and Cyclone

Posted 22 August 2012 - 07:54 PM

Thanks Koadic! I will use these for now, but anxiously awaiting Solution 2 as I think the impulse plungers are the way to go.
Posted Image

#52 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 24 August 2012 - 03:42 PM

Red & Ted's Road Show

Solution 1:
CODE
Sub table1_KeyDown(ByVal Keycode)
...
If keycode = PlungerKey Then Plunger.Pullback:Plunger2.Pullback:Pcount = 0:PTime.Enabled = 1:Plunger.TimerEnabled = 0
...

Sub table1_KeyUp(ByVal Keycode)
...
If keycode = PlungerKey Then Playsound"Plunger":Plunger.Fire:Plunger2.Fire:PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1:Plunger.TimerEnabled = 1
...

' Placed after End Sub from PTime2
Const BothPlungers=1 'Operate both plungers at same time, change to 0 for one at a time, switching to left plunger only when there is a ball there
Dim PlungerPos
Sub Plunger_Timer()
PlungerPos = INT(Plunger.Position/2)
If PlungerPos > 12 Then PlungerPos = 12
If BothPlungers Then
Select Case PlungerPos
Case 0:PUpdate:p1.state = 1:p1a.state = 1
Case 1:p1.state = 1:p1a.state = 1:p1.state = 0:p1a.state = 0
Case 2:PUpdate:p2.state = 1:p2a.state = 1
Case 3:p2.state = 1:p2a.state = 1:p2.state = 0:p2a.state = 0
Case 4:PUpdate:p3.state = 1:p3a.state = 1
Case 5:p3.state = 1:p3a.state = 1:p3.state = 0:p3a.state = 0
Case 6:PUpdate:p4.state = 1:p4a.state = 1
Case 7:p4.state = 1:p4a.state = 1:p4.state = 0:p4a.state = 0
Case 8:PUpdate:p5.state = 1:p5a.state = 1
Case 9:p5.state = 1:p5a.state = 1:p5.state = 0:p5a.state = 0
Case 10:PUpdate:p6.state = 1:p6a.state = 1
Case 11:p6.state = 1:p6a.state = 1:p6.state = 0:p6a.state = 0
Case 12:p6.state = 1:p6a.state = 1:p6.state = 0:p6a.state = 0
End Select
Else
If Controller.switch(58) Then
Select Case PlungerPos
Case 0:PUpdateL:p1a.state = 1
Case 1:p1a.state = 1:p1a.state = 0
Case 2:PUpdateL:p2a.state = 1
Case 3:p2a.state = 1:p2a.state = 0
Case 4:PUpdateL:p3a.state = 1
Case 5:p3a.state = 1:p3a.state = 0
Case 6:PUpdateL:p4a.state = 1
Case 7:p4a.state = 1:p4a.state = 0
Case 8:PUpdateL:p5a.state = 1
Case 9:p5a.state = 1:p5a.state = 0
Case 10:PUpdateL:p6a.state = 1
Case 11:p6a.state = 1:p6a.state = 0
Case 12:p6a.state = 1:p6a.state = 0
End Select
Else
Select Case PlungerPos
Case 0:PUpdateR:p1.state = 1
Case 1:p1.state = 1:p1.state = 0
Case 2:PUpdateR:p2.state = 1
Case 3:p2.state = 1:p2.state = 0
Case 4:PUpdateR:p3.state = 1
Case 5:p3.state = 1:p3.state = 0
Case 6:PUpdateR:p4.state = 1
Case 7:p4.state = 1:p4.state = 0
Case 8:PUpdateR:p5.state = 1
Case 9:p5.state = 1:p5.state = 0
Case 10:PUpdateR:p6.state = 1
Case 11:p6.state = 1:p6.state = 0
Case 12:p6.state = 1:p6.state = 0
End Select
End If
End If
End Sub

Dim PLights:PLights = Array(p1, p2, p3, p4, p5, p6, p1a, p2a, p3a, p4a, p5a, p6a)
Sub PUpdate
Dim obj
For each obj in PLights:obj.state = 0:Next
End Sub

Sub PUpdateR
Dim obj
For obj = 0 to 5:PLights(obj).state = 0:Next
End Sub

Sub PUpdateL
Dim obj
For obj = 6 to 11:PLights(obj).state = 0:Next
End Sub

'Replace current ResetPlungers Sub if you want, or you can leave it, is up to you...
Sub ResetPlungers
PUpdate
p1.state = 1
p1a.state = 1
End Sub
Instructions: In the editor, select the plunger object named 'Plunger; check the "Enable Mechanical Plunger" box, check the "Timer Enabled" box and set the interval to 40. Then select the plunger object named 'Plunger2' and check the "Enable Mechanical Plunger" box. Then Delete 'LeftPlunger' and 'RightPlunger' as these will cause you issues.


My usual 'solution 2' will have to wait for later as this contains no impulse plunger to utilize... will edit this post when I get around to getting it set up correctly.

Edited by koadic, 24 August 2012 - 04:57 PM.


#53 Gigagamesguy

Gigagamesguy

    Hobbyist

  • Members
  • PipPip
  • 31 posts
  • Location:Germany

  • Flag: Germany

  • Favorite Pinball: The Flintstones

  • PS3 Gamer Tag: GigaGamesGuy

Posted 29 August 2012 - 10:35 AM

hi what is my problem it says me syntax fehler in line XXX

here the changing what i have made by kodiac

End Select
Dim PlungerPos
Sub Plunger_Timer() here was the mistake
Dim obj
If StepGate3.IsDropped=0 Then 'This IF statement will disable the animation when on the steps, if you want the animation to work, comment out this line and the End If below, leaving everything else alone
For each obj in Plungers:obj.IsDropped = 1:Next
PlungerPos = INT(Plunger.Position/2)
If PlungerPos > 12 Then PlungerPos = 12
Plungers(PlungerPos).IsDropped = 0
End If
End Sub

Widebody Cab, Low reflection Playfield Glass, 32" Full HD Backglass Samsung TV, 46" Full HD Playfield Samsung TV,, 19" downer/DMD/Manufactory Frame, ASRock Fatality Gaming K B 450, AMD Ryzen 5 2600, PAtriot Viper 16GB Ram 3200 Mhz, 500 GB SSD M.2 3500 MB/s, 1060 Ti 4GB, Win10, use VPX, Steam FX3, Steam ProPinball Timeshock, Frontend Pinup Popper, PupPacks, Teufel Soundsystem Concept E 300 200 Watt Sinus 5.1 use it as 2.1, Pincontrol 2, Teensy, Backbox has 5 RGB Flasher and Strobe, The Playfield has around Teensy Stripe 144/mtr., RGB Untercab, RGB Flipper/Magna Button, 10 Solinoids, Knocker, Gear, Rumble, Original Coindoor with Coin Mod


#54 Gigagamesguy

Gigagamesguy

    Hobbyist

  • Members
  • PipPip
  • 31 posts
  • Location:Germany

  • Flag: Germany

  • Favorite Pinball: The Flintstones

  • PS3 Gamer Tag: GigaGamesGuy

Posted 29 August 2012 - 01:49 PM

ok i have cleard the problem

next question is the
Break Over Velocity __________________ i think this is the power from the plunger lower number less power, higher number i.e 250 more power, it this right

break over velocity ___________________ i have no idea however for this

can i use this example from taf or from funhouse for every table, there have a mechanical plunger, not for indiana jones T2 ect.

Widebody Cab, Low reflection Playfield Glass, 32" Full HD Backglass Samsung TV, 46" Full HD Playfield Samsung TV,, 19" downer/DMD/Manufactory Frame, ASRock Fatality Gaming K B 450, AMD Ryzen 5 2600, PAtriot Viper 16GB Ram 3200 Mhz, 500 GB SSD M.2 3500 MB/s, 1060 Ti 4GB, Win10, use VPX, Steam FX3, Steam ProPinball Timeshock, Frontend Pinup Popper, PupPacks, Teufel Soundsystem Concept E 300 200 Watt Sinus 5.1 use it as 2.1, Pincontrol 2, Teensy, Backbox has 5 RGB Flasher and Strobe, The Playfield has around Teensy Stripe 144/mtr., RGB Untercab, RGB Flipper/Magna Button, 10 Solinoids, Knocker, Gear, Rumble, Original Coindoor with Coin Mod


#55 Gigagamesguy

Gigagamesguy

    Hobbyist

  • Members
  • PipPip
  • 31 posts
  • Location:Germany

  • Flag: Germany

  • Favorite Pinball: The Flintstones

  • PS3 Gamer Tag: GigaGamesGuy

Posted 29 August 2012 - 03:54 PM

hi i have made the samething from funhouse to circus voilitiar, my issue is i have no sound for the flipper or bumpers any idea

Widebody Cab, Low reflection Playfield Glass, 32" Full HD Backglass Samsung TV, 46" Full HD Playfield Samsung TV,, 19" downer/DMD/Manufactory Frame, ASRock Fatality Gaming K B 450, AMD Ryzen 5 2600, PAtriot Viper 16GB Ram 3200 Mhz, 500 GB SSD M.2 3500 MB/s, 1060 Ti 4GB, Win10, use VPX, Steam FX3, Steam ProPinball Timeshock, Frontend Pinup Popper, PupPacks, Teufel Soundsystem Concept E 300 200 Watt Sinus 5.1 use it as 2.1, Pincontrol 2, Teensy, Backbox has 5 RGB Flasher and Strobe, The Playfield has around Teensy Stripe 144/mtr., RGB Untercab, RGB Flipper/Magna Button, 10 Solinoids, Knocker, Gear, Rumble, Original Coindoor with Coin Mod


#56 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 29 August 2012 - 11:00 PM

QUOTE (Gigagamesguy @ Aug 29 2012, 08:49 AM) <{POST_SNAPBACK}>
ok i have cleard the problem

next question is the
Break Over Velocity __________________ i think this is the power from the plunger lower number less power, higher number i.e 250 more power, it this right

break over velocity ___________________ i have no idea however for this

can i use this example from taf or from funhouse for every table, there have a mechanical plunger, not for indiana jones T2 ect.



QUOTE (Gigagamesguy @ Aug 29 2012, 10:54 AM) <{POST_SNAPBACK}>
hi i have made the samething from funhouse to circus voilitiar, my issue is i have no sound for the flipper or bumpers any idea


Glad you got FunHouse working.

You can reuse any examples that I have posted assuming that you are using them on tables with the same type of plunger animation. As I have stated previously, there are at least 5 commonly used types... Kickers, Drop Walls, Lights, Reels, and Alpha Ramps.

MechStrength controls the maximum power of the shot and Break Over Velocity is used to determine what constitutes a full speed release of the plunger which can also effect the power of the shot. A slow release will result in a softer shot.

As far as the issue with sounds on CV, I really am not sure what the issue may be and not really in the scope of this thread. You can always try asking in the support thread for that table.

#57 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 29 August 2012 - 11:22 PM

I tried experimenting with utilizing a standard plunger oject as a type of impulse plunger and came away unsucessful, because I was unable to find a good way to control the power settings digitally without plunger lag. Therefore, I have just decided to add this to the thread for those that want to add an impulse plunger to utilize my alternative method for using an analog plunger to control an impulse plunger for more shot consistantcy.

Adding an Impulse Plunger to an existing table where there is none:

First thing that needs to be done is declare the name of the impulse plunger at the top of the script. We are gonna use the name PlungerIM and are gonna put it before the Sub Table_Init. It can be placed on it's own line or added to another line, it doesn't matter.

Second thing that needs to be done is to set PlungerIM to be an Impulse Plunger. This will be added into the Sub Table_Init section. It can be placed at the beginning or the end, it doesn't matter, but for the sake of neatness, I usually put it right after the controller section at the top.

PlungerIM 'add this'

Sub Table_Init
vpmInit Me
With Controller
...
End With

' Impulse Plunger'
Const IMPowerSetting = 43 'Plunger Power'
Const IMTime = 0.4 'Time in seconds for Full Plunge'
Set plungerIM = New cvpmImpulseP
With plungerIM
.InitImpulseP swplunger, IMPowerSetting, IMTime
.Random 0.3
.InitExitSnd "plunger2", "plunger"
.CreateEvents "plungerIM"
End With

...
End Sub linenums:0'>Dim PlungerIM 'add this'Sub Table_Init vpmInit Me With Controller ... End With ' Impulse Plunger' Const IMPowerSetting = 43 'Plunger Power' Const IMTime = 0.4 'Time in seconds for Full Plunge' Set plungerIM = New cvpmImpulseP With plungerIM .InitImpulseP swplunger, IMPowerSetting, IMTime .Random 0.3 .InitExitSnd "plunger2", "plunger" .CreateEvents "plungerIM" End With ...End Sub

Description of variables above:
IMPowerSetting - strength of the plunger
IMTime - time to pull plunger back, take the PTime interval and multiply it by the number of steps it goes through for the plunger animation. For example, if the PTime interval is set to 33 (ms) and there are 12 steps to the animation, the resulting time would be 396ms, or about .4 seconds as shown above.
swplunger - the trigger used to launch the ball
.random - amount of play in the plunger strength

The last thing that needs to be done to finish adding an impulse plunger to a table is to add a trigger named swplunger in the plunger lane if it doesn't already exist. This will need to be placed where the ball will rest. Usually there will be some sort of trigger there already, so you should be able to just copy the existing trigger and paste a new one on top of it and rename it to 'swplunger'.

This can be repeated to add a second impulse plunger as well. Just add a 2 to PlungerIM, IMPowerSetting, IMTime, and swplunger

Converting existing script to utilize newly added Impulse Plunger:

In the KeyDown and KeyUp sections of the script, just change Plunger.pullback and Plunger.fire to PlungerIM.pullback and PlungerIM.fire, and they will then use the Impulse plunger for launching the ball instead of the Plunger Object.

If the table already incorporates analog plunger control, and you wish to utilize the Impulse Plunger for this purpose, you will need add the following script into the Sub Plunger_Timer section...
Dim PlungerPos2, PowerSetting, plcount : PowerSetting = PlungerIM.Strength '<-- added outside of the Plunger_Timer sub'

Sub Plunger_Timer
    ...
    'added inside of the Plunger_Timer sub at the end'
    If Plunger.Position < 2 and PlungerPos2 > 5 Then 'if current position is below 2 and reference position is above 5, will launch the ball'
        PlungerIM.Strength = (PlungerPos2/25*PowerSetting) 'sets launch strength based on reference position'
        PlungerIM.AutoFire 'launches the ball'
        PlungerIM.Strength = PowerSetting 'restores default power setting for use with digital plunger'
        PlungerPos2 = 0:plcount = 1
    End If
    If plcount mod 5 = 0 Then PlungerPos2 = Plunger.Position : plcount = 0 '<-- updates the reference position every 5th tick, or 200ms assuming a 40ms timer interval'
    plcount=plcount+1
End Sub

Edited by koadic, 26 September 2012 - 12:23 PM.


#58 Tulkstar

Tulkstar

    Hobbyist

  • Members
  • PipPip
  • 15 posts
  • Location:Perth Australia

  • Flag: ---------

  • Favorite Pinball: Medievil Madness

Posted 11 September 2012 - 10:56 PM

Yes the B2S version also would love cactus canyon and medieval madness script
thanks for your time
Jase
QUOTE (koadic @ Aug 15 2012, 10:00 AM) <{POST_SNAPBACK}>
QUOTE (Tulkstar @ Aug 15 2012, 01:44 AM) <{POST_SNAPBACK}>
have you done circus voltair? are all taables the same???


I have done Cirqus Voltaire personally, but not for this thread. Which version are you referring to? the B2S version?

And no, not all tables are the same, as it depends on which method is used to animate the plunger, as there are at least 6 different methods of doing so...
Kickers
Drop Walls
Reels
Lights
Alpha Ramps
Gates (but I think I am the only one who has messed with using these at all)

And depending on the method used, the method used for adding analog support differs as well. The only universal way is to completely scrap the existing plunger system and add the one you prefer (Alpha Ramps are probably the easiest of the bunch, as they can be a drop in replacement for all except the Reel method).


#59 koadic

koadic

    Pinball Fan

  • VIP
  • 1,363 posts
  • Location:Omaha, NE, USA

  • Flag: United States of America

  • Favorite Pinball: Addams Family/Fish Tales/Medieval Madness



Contributor

Posted 19 September 2012 - 11:02 AM

Yes the B2S version also would love cactus canyon and medieval madness script
thanks for your time
Jase


Sorry about getting back to you on this man, I will try to get around to this in the next day or so and post back.

#60 Dazz

Dazz

    Pinball Fan

  • Banned
  • PipPipPipPip
  • 858 posts
  • Location:Keller, Texas

  • Flag: United States of America

  • Favorite Pinball: Twilight Zone and Cyclone

Posted 12 October 2012 - 03:41 PM

Sorry bout the delay Dazz... here is BK2K for ya...

BK2K_FS_B2S

Easier method requiring just some basic changes to script and table objects

Solution 1:
CODE
Sub Bk2000_KeyDown(keycode)
...
If keycode = PlungerKey Then Plunger.Pullback:Pcount = 0:PTime.Enabled = 1:Plunger.TimerEnabled=0
...

Sub Bk2000_KeyUp(ByVal keycode)
...
If keycode = PlungerKey Then Plunger.Fire:PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1:Plunger.TimerEnabled=1
...

'(placed after End Sub from the Sub PTime2_Timer...)
Dim PlungerPos,oPlungerPos
Sub Plunger_Timer()
PlungerPos=INT(Plunger.Position)
PTop.Y = PTopY+INT(PlungerPos)*3
PBottom.Y = PBottomY+INT(PlungerPos)*3
oPlungerPos=PlungerPos
End Sub

Instructions: In the editor, select the plunger object; check the "Enable Mechanical Plunger" box, check the "Timer Enabled" box and set the interval to 40. Then I suggest locking both the P1 and P2 kickers, as we are gonna have to move them a little, and easier if they don't move when you click them style_emoticons/default/smile.gif... Select P1, change the position to the following - X: 948; Y - should remain 1827.125. Select P2, change the position to the following - X - 946.25; Y - 1882.125; Surface - 25h.

My usual 'solution 2' will have to wait for later as this contains no impulse plunger to utilize... will edit this post when I get around to getting it set up correctly.



If you want to make it look more like the newer plungers, you are gonna have to do a little more advanced editing...

Advanced method requiring script and table changes.

First, find a set of plunger images you would like to use, as this doesn't include any other than the 2 'ball' images that are used currently. When you grab them from another table, make sure they are images of just the plunger itself, as we are gonna use alpha ramps for the new animation. I will be working off of the assumption that there are going to be 12 images total...

Step 1: Delete exiting P1 and P2 kickers and remove the entire plunger section of the script (or comment it out, whatever works for you).
Step 2: Import plunger images into table. These should be named p1 - p12
Step 3: Create a ramp to be used for initial plunger image. To start, make the width about 35, and make it about 120 units long. Set it to alpha, image mode to wrap, set the image to the p1 image you just imported, set height to 45 for top and bottom (width should be 35 as mentioned earlier), set visible and physical walls to 0, and uncheck collidable. Position this ramp on the table in the area of the plunger and start the table to see how it looks. Tweak the position and size until it looks like it is placed correctly. You can then change the image to p12 temporarily to see how it would look pulled all the way back too, just make sure it gets changed back to p1.
Step 4: When initial ramp is placed correctly, lock it into position (to avoid any headaches later), and copy it with CTRL-C. Paste a new ramp onto the table. It should be in the exact location of the previous one with an incremented name, like p2. For this new ramp, change the image to the p2 image imported earlier (everything else is the same). Rinse and Repeat until you have 12 ramps total, making sure you change the images appropriately.
Step 5: Add a light to the table, choose ShapeCustom for the shape, change the Color to pure black (0, 0, 0; we don't actually want to see the light). Size and place accordingly to cover the ramps for the plunger, set the surface to p1. Rename this light 'PRefresh'.
Step 6: Change the name of the trigger 'sw53' to 'swPlunger'
Step 7: Add/Change the following code:

CODE
Sub Bk2000_KeyDown(ByVal keycode)
....
If keycode = PlungerKey Then Plunger.Pullback:Pcount = 0:PTime.Enabled = 1:Plunger.TimerEnabled=0
....

Sub Bk2000_KeyUp(ByVal keycode)
....
If keycode = PlungerKey Then
PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1:Plunger.Fire:Plunger.TimerEnabled=1
If(BallinPlunger = 1) then 'the ball is in the plunger lane
PlaySound "Plunger2"
Else
PlaySound "Plunger"
End if
End If

....

'(Use the following instead of the old plunger code)
'***********************
'Koadic's NewStyle Alpha Ramp Plunger Scripting
'(based heavily on and modified from JP's work)
'***********************

Dim Plungers:Plungers = Array(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p12)
Dim PlNewPos, PlOldPos, PCount, BallinPlunger
ResetPlungers

Sub swPlunger_Hit:BallinPlunger = 1:Controller.Switch(53) = 1:End Sub 'in this sub you may add a switch, for example Controller.Switch(14) = 1

Sub swPlunger_UnHit:BallinPlunger = 0:Controller.Switch(53) = 0:End Sub 'in this sub you may add a switch, for example Controller.Switch(14) = 0

Sub ResetPlungers
For x = 1 to 12:Plungers(x).alpha = 0:Next
Plungers(0).alpha = 1
Pcount = 0
PlNewPos = 0
PlOldPos = 0
PRefresh.state = ABS(PRefresh.state - 1)
End Sub

Sub PTime_Timer
If Pcount <12 Then
Plungers(Pcount).alpha = 0
Pcount = Pcount + 1
Plungers(Pcount).alpha = 1
PRefresh.state = ABS(PRefresh.state - 1)
End If
End Sub

Sub PTime2_Timer
Select Case Pcount
Case 0:ResetPlungers
Case 1:Plungers(0).alpha = 0:Plungers(2).alpha = 1:PRefresh.state = ABS(PRefresh.state - 1)
Case 2:ResetPlungers:Me.Enabled = 0
End Select
Pcount = Pcount + 1
End Sub

Sub Plunger_Timer()
Plungers(PlOldPos).alpha = 0
PlNewPos = INT(Plunger.Position/2)
If PlNewPos > 12 Then PlNewPos = 12
Plungers(PlNewPos).alpha = 1
PlOldPos = PlNewPos
PRefresh.state = ABS(PRefresh.state - 1)
End Sub

Then, of course, in the editor, select the plunger object; check the "Enable Mechanical Plunger" box, check the "Timer Enabled" box and set the interval to 40

Hey Man,

I'm finally getting around to doing this... I went the advanced route. Once everything is said and done I'm getting the following error:

Script Error
Line: 184
Object required: 'Plungers(...)'

Checking Line 184 shows

For x = 1 to 12:Plungers(x).alpha = 0:Next

I placed your code where the old plunger code was. Should it go at the bottom of the script instead?
Posted Image


Back to Visual Pinball