Nice graphical update! I was pretty happy with the old one, but this is noticeably sharper and clearer. Nice work!
Here's some code for folks with analog plungers. Look for the Elvira_Keydown sub and replace everything up until the '**** Nudge system comments in green. You can also change the plunger object's timer interval to 40 in the table editor to make it update a little smoother, but it's not really required.
*Edit* This is for the "night" mod. The day version has completely different plunger code! 
Sub Elvira_KeyDown(ByVal Keycode)
If keycode = RightFlipperKey Then Controller.Switch(57) = 1
If keycode = LeftFlipperKey Then Controller.Switch(58) = 1
If keycode = LeftTiltKey Then LeftNudge 80, 1.2, 20:PlaySound "nudge_left"
If keycode = RightTiltKey Then RightNudge 280, 1.2, 20:PlaySound "nudge_right"
If keycode = CenterTiltKey Then CenterNudge 0, 1.6, 25:PlaySound "nudge_forward"
If keycode = 45 Then LeftNudge 80, 2, 30:PlaySound "nudge_left"
If keycode = 52 Then RightNudge 280, 2, 30:PlaySound "nudge_right"
If vpmKeyDown(keycode) Then Exit Sub
If keycode = PlungerKey Then Plunger.TimerEnabled = 0:Plunger.Pullback:Pcount = 0:PTime.Enabled = 1
If keycode = KeyRules Then Rules
End Sub
Sub Elvira_KeyUp(ByVal Keycode)
If keycode = RightFlipperKey Then Controller.Switch(57) = 0
If keycode = LeftFlipperKey Then Controller.Switch(58) = 0
If vpmKeyUp(keycode) Then Exit Sub
If keycode = PlungerKey Then Plunger.TimerEnabled = 1:Plunger.Fire:PTime.Enabled = 0:Pcount = 0:PTime2.Enabled = 1
End Sub
'********
'Plunger
'********
dim POldPos:POldPos = -1
dim PCount:Pcount = 0
Sub UpdatePlunger(Pos)
if Pos <> POldPos then
ResetPlungers
Select Case Pos
Case 0:p1.state = 1
Case 1:p1.state = 1 : p1.state = 0
Case 2:p2.state = 1
Case 3:p2.state = 1
Case 4:p2.state = 1 : p2.state = 0
Case 5:p3.state = 1
Case 6:p3.state = 1 : p3.state = 0
Case 7:p4.state = 1
Case 8:p4.state = 1 : p4.state = 0
Case 9:p5.state = 1
Case 10:p5.state = 1 : p5.state = 0
Case 11:p6.state = 1
Case 12:p6.state = 1: p6.state = 0
End Select
POldPos = Pos
end if
End Sub
Sub PTime_Timer
UpdatePlunger(Pcount)
if Pcount = 12 then Me.Enabled = 0
Pcount = Pcount + 1
End Sub
Sub PTime2_Timer
Select Case Pcount
Case 0:UpdatePlunger(0):PlaySound "plunger"
Case 1:UpdatePlunger(1)
Case 2:UpdatePlunger(0):Me.Enabled = 0
End Select
Pcount = Pcount + 1
End Sub
Sub ResetPlungers
p1.state = 0
p2.state = 0
p3.state = 0
p4.state = 0
p5.state = 0
p6.state = 0
End Sub
If Plunger.MotionDevice> 0 Then
Plunger.TimerEnabled = 1
Plunger.MechPlunger = 1
End If
Sub Plunger_Timer()
If Plunger.MotionDevice> 0 Then
UpdatePlunger(int(Plunger.Position / 2))
End If
End Sub
Edited by DJRobX, 21 January 2014 - 03:55 AM.