File Submitter: hmueck
File Submitted: 17 Mar 2013
File Category: HyperPin Media Packs
XML:
<game name="TableName goes here">
<description>Sky Kings (Bally 1973)</description>
<manufacturer>Bally</manufacturer>
<year>1973</year>
<type>EM</type>
</game>
The media pack contains an instruction card, a backglass image, a table image, a wheel image and a flyer.
Special thanks to:
IPDB.org - flyer
I included not the B2S backglass image, but a new one - for future dB2S use. Anyone there who would like to create the script changes to implement the neccesary dB2S routines?
Updated script with B2S autoloading:
'Skykings, 1973 by Bally - UPDATED FROM VP6 to VP9 by Druadic - Ver. 1.1
'
'Plunger rountine used from Rascal's plunger demo. Thanks Rascal!
'
'1970's Bally Apron used from Grizz. Thanks Grizz!
'Option Explicit
Randomize
ExecuteGlobal GetTextFile("core.vbs"):If Err Then MsgBox "Can't open ""core.vbs""" 'Impulse Plunger
ExecuteGlobal GetTextFile("b2s.vbs"):If Err Then MsgBox "Can't open ""b2s.vbs"""
Const LaunchB2SBackglass = true ' true/false
dim tm
dim i
Dim Active, ActBalls, Score, Credits, Bonus, DoubleBonus, Match, Score2
Dim B, BM1, BM2, BT1, BT2, B1, B2, T, T2, B5EB, HighScore, DefaultHighScore
Dim BALL, LOL, ROL, EB1, EB2, DBL, SPIN
Dim SECS, NUD, TILT, TI '<- for nudging
Dim pcounter 'Loop counter variable for plunger
Dim pullback 'Booleen variable for plunger
Dim plungerpos 'Variable to store plunger position
Dim ballready 'Booleen variable for when ball is in position
Dim plunger(4) 'Array for plunger balls
Dim bal 'Variable for ball object
Dim recoil 'Booleen variable for plunger recoil (Thanks Highrise for the suggestion)
Dim recoilpos 'Variable for recoil position
Dim Score10k, ScoreK, Score100, Score10, Score1 'Define 5 different score values for each reel to use
Dim ActivePlayer, roll
Dim reelpulseslocal(24,2) '(PulseQueue, ReelValue)
dim spinnum1
Sub Table1_Init()
ResetB2SData 0,49,0 'Initialise the b2s data area
LaunchBackGlass "Skykings_FS_VP911_B2S", LaunchB2SBackglass
recoil = False 'Set recoil booleen to False
plungerpos = 0 'Set plunger position to zero
pullback = False 'Set pullback booleen to False
ballready = False 'Set ballready booleen to False
Set plunger(1) = kicker5.CreateBall 'Create first ball in plunger, set to array item 1
Set plunger(2) = kicker6.CreateBall 'Create second ball in plunger, set to array item 2
Set plunger(3) = kicker7.CreateBall 'Create third ball in plunger, set to array item 3
Set plunger(4) = kicker8.CreateBall
plunger(1).Image = "plunger1" 'Set image on plunger(1) to plunger1 image in image collection
plunger(2).Image = "plunger2" 'Set image on plunger(2) to plunger1 image in image collection
plunger(3).Image = "plunger3" 'Set image on plunger(3) to plunger1 image in image collection
plunger(4).Image = "plunger3"
For pcounter = 1 to 4 'This counter raises the balls that make up the plunger to a height of 40
plunger(pcounter).z = 40
Next
Score=0
DefaultHighScore=10
HighScore=LoadValue("Table1","HighScore")
If HighScore="" then
HighScore=DefaultHighScore
Else
HighScore=Cdbl(HighScore)
End If
HScore.Text=HighScore
For Each i In BReels
i.SetValue 0
Next
BReels(48).SetValue 1 'Game Over
ActivePlayer=1
End Sub
Sub TimeBox_Timer
TimeBox.Text=Date&chr(13)&Time
End Sub
Active = False:Timer3.Enabled=False
Kicker2.CreateBall:Kicker2.Kick 135,4
Kicker3.CreateBall:Kicker3.Kick -135,4
TargetLB2.IsDropped=True:TargetRB2.IsDropped=True
TargetLT2.IsDropped=True:TargetRT2.IsDropped=True
Sub Table1_KeyDown(ByVal keycode)
If keycode = 6 and Active = False and Credits < 9 Then
PlaySound "CoinSound"
Credits = Credits + 2
EMReel3.AddValue(2)
End If
If keycode = 2 and Credits > 0 and Active = False Then
EMReel1.ResetToZero:EMReel2.ResetToZero:EMReel4.ResetToZero
'----------------------------------
For i = 1 To 24
reelpulseslocal (i,1)=0
reelpulseslocal (i,2)=0
Next
For i = 0 to 6
BReels(i).ResetToZero
Next
For i = 7 to 49
BReels(i).SetValue 0
Next
BReels(47).SetValue 10 'Match off
'------------------------------------
PlaySound "coin"
NUD = 0:TILT = 0:SECS = 100:TI = 0
Credits = Credits - 1
EMReel3.AddValue(-1)
Active = True
GameOver.Text = " "
Score = 0
Score2 = 0
EMReel2.AddValue (1)
Bonus = 1000
BonusLights
Score = 0
Match = 0
BALL = 1
B5EB = 0 '<- shuts off dbl bonus if extra ball at ball 5
B = 0
BM1 = 0
BM2 = 0
BT1 = 0
BT2 = 0
B1 = 0
B2 = 0
LOL = 0
ROL = 0
EB1 = 0
EB2 = 0
SPIN = 0
BReels(45).SetValue BALL
REM RESET ALL variables and lights here
ActBalls = 1
Timer3.Enabled = True
Set bal = Kicker4.CreateBall
'Kicker4.CreateBall
Kicker4.Kick 70,5
PlaySound "ballin"
RollTimer.Enabled=1
End If
If keycode = PlungerKey Then
pullback = True
End If
If keycode = LeftFlipperKey and Active = True Then
LeftFlipper.RotateToEnd
PlaySound "FlipperUp"
End If
If keycode = RightFlipperKey and Active = True Then
RightFlipper.RotateToEnd
PlaySound "FlipperUp"
End If
If keycode = LeftTiltKey and Active = True Then:Nudge 90,1.5:GoNudge:End If 'NUDGING
If keycode = RightTiltKey and Active = True Then:Nudge 270,1.5:GoNudge:End If
If keycode = CenterTiltKey and Active = True Then:Nudge 180,1.5:GoNudge:End If
If keycode=45 and Active = True Then:Nudge 90,1:GoNudge:End If
If keycode=52 and Active = True Then:Nudge 270,1:GoNudge:End If
If keycode=56 and Active = True or keycode=184 Then:Nudge 0,1:GoNudge:End If
If keycode = 19 Then
Playsound "info"
RulesText = " KEYPRESSES for - Skykings, 1973 Bally - VERSION 1.1 for VP9" & chr(13)
RulesText = RulesText + " UPDATED from VP6 to VP9 by druadic" & chr(13)
RulesText = RulesText + "" & chr(13)
RulesText = RulesText + " Press 5 to add credits - Press 1 to start a game." & chr(13)
RulesText = RulesText + "" & chr(13)
RulesText = RulesText + "NUDGE:" & chr(13)
RulesText = RulesText + "" & chr(13)
RulesText = RulesText + "Z and / to nudge left or right HARD." & chr(13)
RulesText = RulesText + "X and > to nudge left or right SOFT." & chr(13)
RulesText = RulesText + "" & chr(13)
RulesText = RulesText + "SPACE BAR nudge HARD UP - LEFT or RIGHT ALT nudge SOFT UP." & chr(13)
RulesText = RulesText + "" & chr(13)
RulesText = RulesText + "PLUNGER:" & chr(13)
RulesText = RulesText + "" & chr(13)
RulesText = RulesText + "RETURN or ENTER KEY to pull back or release the plunger." & chr(13)
RulesText = RulesText + "" & chr(13)
RulesText = RulesText + " For full rules read the document files included in the zip." & chr(13)
RulesText = RulesText + "" & chr(13)
MsgBox RulesText, vbOKonly, TableName
End If
End Sub
Sub Table1_KeyUp(ByVal keycode)
If keycode = PlungerKey Then
PlaySound "plungerspring"
PlaySound "BallRollSound"
pullback = False
End If
If keycode = LeftFlipperKey and Active = True Then
LeftFlipper.RotateToStart
PlaySound "FlipperDown"
End If
If keycode = RightFlipperKey and Active = True Then
RightFlipper.RotateToStart
PlaySound "FlipperDown"
End If
End Sub
Sub Drain_Hit()
If TILT = 1 Then '<- Tilt Reset
NUD = 0:TILT = 0:SECS = 100:TI = 0:TM=1
Bumper1.Disabled=False:Bumper2.Disabled=False:Bumper3.Disabled=False
Bumper4.Disabled=False:LeftSlingshot.Disabled=False
RightSlingshot.Disabled=False:LeftInlane.Enabled=True
RightInlane.Enabled=True:LeftOutlane.Enabled=True
RightOutlane.Enabled=True:Trigger1.Enabled=True
Trigger2.Enabled=True
End If
BonusBox.Text = "0"
PlaySound "ballout"
RollTimer.Enabled=0
Drain.DestroyBall
If BALL < 5 Then
BonusCheck
End If
Bumper3.State = LightStateOff:Bumper4.State = LightStateOff
Light7.State = LightStateOff:Light8.State = LightStateOff
Light9.State = LightStateOff:Light10.State = LightStateOff
Light11.State = LightStateOff:Light12.State = LightStateOff
Light13.State = LightStateOff:Light14.State = LightStateOff
Light15.State = LightStateOff:Light3.State = LightStateOff
Light4.State = LightStateOff:Light1.State = LightStateOff
Light2.State = LightStateOff:Light17.State = LightStateOff
Light18.State = LightStateOff:Light19.State = LightStateOff
Light20.State = LightStateOff:Light21.State = LightStateOff
Light22.State = LightStateOff:Light23.State = LightStateOff
Light24.State = LightStateOff:Light25.State = LightStateOff
Light26.State = LightStateOff:Light27.State = LightStateOff
Light28.State = LightStateOff
If BALL = 5 and B5EB = 0 Then
DoubleBonusCheck:DBL = 0
End If
If BALL = 5 and EB1 = 0 Then '<- GAME OVER
Active = False:ActBalls = 0:Timer3.Enabled=False
Kicker4.DestroyBall:Light5.State = LightStateOff
GameOver.Text = "Game Over":EMReel2.ResetToZero
BReels(48).SetValue 1
BReels(45).SetValue 0
LeftFlipper.RotateToStart:RightFlipper.RotateToStart
DoubleBonusCheck
Else
If EB1 = 2 Then '<- Extra Ball Awarded
DBL=0:Light5.State=LightStateOff:Light6.State=LightStateOff
GameOver.Text = "Shoot Again"
End If
If BALL <> 6 Then
Drain.TimerEnabled = True
Drain.TimerInterval = 1800
PlaySound "MekSound"
End If
End If
End Sub
Sub Drain_Timer()
Drain.TimerEnabled = False
Timer3.Enabled = True:Active = True:TiltBox.Text = ""
BReels(46).SetValue 0
PlaySound "ballin"
If BALL < 6 and EB1 = 0 Then
BALL = BALL + 1:EMReel2.AddValue (1)
BReels(45).SetValue BALL
End If
BM1 = 0:BM2 = 0:BT1 = 0:BT2 = 0:B1 = 0:B2 = 0:LOL = 0:ROL = 0
EB1 = 0:EB2 = 0:SPIN = 0:B = 0
Bonus = 1000
BonusLights
GameOver.Text = " "
BReels(49).SetValue 0
If BALL = 5 and B5EB = 1 Then
Light5.State = LightStateOff:DBL = 0
End If
If BALL = 5 and B5EB = 0 Then
Light5.State = LightStateOn:B5EB = 1:DBL = 1
End If
If BALL <> 6 Then
Set bal = Kicker4.CreateBall
Kicker4.Kick 80,5
RollTimer.Enabled=1
Timer3.Enabled = True
Active = True:TM = 1
End If
End Sub
Sub LeftSlingshot_Slingshot()
'PlaySound "bell10"
PlaySound "rsling"
EMReel1.AddValue (10)
AddScore (10) '<- add score for match
AddScore2 (10):NewScore 4,1 '10pts
End Sub
Sub RightSlingshot_Slingshot()
'PlaySound "bell10"
PlaySound "rsling"
EMReel1.AddValue (10)
AddScore (10) '<- add score for match
AddScore2 (10):NewScore 4,1 '10pts
End Sub
Sub Kicker1_Hit()
If TILT = 0 Then
EMReel1.AddValue (3000)
AddScore2 (3000):NewScore 2,3 '3000pts
'PlaySound "bell1000-3"
Light1.State = LightStateOn:Light2.State = LightStateOn
Bumper3.State=LightStateOn:Bumper4.State=LightStateOn
B1 = 1:B2 = 1
BM1 = 1:BM2 = 1
BT1 = 1:BT2 = 1
End If
Kicker1.TimerEnabled = True
Kicker1.TimerInterval = 500
End Sub
Sub Kicker1_Timer()
Kicker1.TimerEnabled = False
PlaySound "saucer"
Kicker1.Kick 192,5
End Sub
Sub Collection1_Hit(index) '<-right & left outlanes
'PlaySound "bell1000"
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
End Sub
Sub Collection2_Hit(index) '<-right & left inlanes
Bonus = Bonus + 1000
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
'PlaySound "bell1000"
BonusLights
End Sub
Sub Collection3_Hit(index) '<-all 10 point bump areas
If TILT = 0 Then
EMReel1.AddValue (10)
AddScore (10) '<- add score for match
AddScore2 (10):NewScore 4,1 '10pts
'PlaySound "bell10"
BonusLights
End If
End Sub
Sub Collection3_Hit(index)
PlaySound "rubberS"
End Sub
Sub Trigger1_Hit() '<- Yellow side trigger / yellow activation
Bumper3.State = LightStateOn:Light2.State = LightStateOn
If BM1 = 0 Then
EMReel1.AddValue (500)
AddScore2 (500):NewScore 3,5 '500pts
'PlaySound "bell100-5"
BM1 = 1':BM2 = 0
BT1 = 1':BT2 = 0
B1 = 1:B2 = 0
Else
If BM1 = 1 Then
EMReel1.AddValue (500)
AddScore2 (500):NewScore 3,5 '500pts
'PlaySound "bell100-5"
End If
End If
End Sub
Sub Trigger2_Hit() '<- Green side trigger / green activation
Bumper4.State = LightStateOn:Light1.State = LightStateOn
If BM2 = 0 Then
EMReel1.AddValue (500)
AddScore2 (500):NewScore 3,5 '500pts
'PlaySound "bell100-5"
BM2 = 1':BM1 = 0
BT2 = 1':BT1 = 0
B2 = 1:B1 = 0
Else
If BM2 = 1 Then
EMReel1.AddValue (500)
AddScore2 (500):NewScore 3,5 '500pts
'PlaySound "bell100-5"
End If
End If
End Sub
Sub Trigger3_Hit()
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
'PlaySound "bell1000"
Trigger3.Enabled=False
End Sub
Sub Trigger4_Hit()
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
'PlaySound "bell1000"
Trigger4.Enabled=False
End Sub
Sub Trigger5_Hit()
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
'PlaySound "bell1000"
Trigger5.Enabled=False
End Sub
Sub Trigger6_Hit()
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
'PlaySound "bell1000"
Trigger6.Enabled=False
End Sub
Sub Trigger7_Hit()
Trigger3.Enabled=True:Trigger4.Enabled=True
End Sub
Sub Trigger10_UnHit()
PlaySound "BallCollision1"
End Sub
Sub Trigger8_Hit()
Trigger5.Enabled=True:Trigger6.Enabled=True
End Sub
Sub Trigger11_UnHit()
PlaySound "BallCollision1"
End Sub
Sub Trigger9_Hit() '<- For plunger
ballready = True
End Sub
Sub Trigger9_Unhit() '<- For plunger
ballready = False
End Sub
Sub Bumper1_Hit() '<- Yellow mushroom bumper
Light2.State = LightStateOn:BT1 = 1:B1 = 1
PlaySound "nopoints"
End Sub
Sub Bumper2_Hit() '<- Green mushroom bumper
Light1.State = LightStateOn:BT2 = 1:B2 = 1
PlaySound "nopoints"
End Sub
Sub Bumper3_Hit() '<- Yellow TOP thumper bumper
If BM1 = 1 Then
EMReel1.AddValue (100)
AddScore2 (100):NewScore 3,1 '100pts
'PlaySound "bell100"
End If
If BM1 = 0 Then
EMReel1.AddValue (10)
AddScore2 (10):NewScore 4,1 '10pts
AddScore (10) '<- Score for match
'PlaySound "bell10"
End If
End Sub
Sub Bumper4_Hit() '<- Green TOP thumper bumper
If BM2 = 1 Then
EMReel1.AddValue (100)
AddScore2 (100):NewScore 3,1 '100pts
'PlaySound "bell100"
End If
If BM2 = 0 Then
EMReel1.AddValue (10)
AddScore2 (10):NewScore 4,1 '10pts
AddScore (10) '<- Score for match
'PlaySound "bell10"
End If
End Sub
Sub TargetRB1_Hit() ' <- bottom RIGHT FRONT target
T=0:Timer1.Enabled=True
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
'PlaySound "bell1000"
If ROL = 1 Then
EB1 = 2
Light4.State = LightStateOff
Light6.State = LightStateOn
BReels(49).SetValue 1
End If
TargetRB1.IsDropped=True:TargetRB2.IsDropped=False
End Sub
Sub TargetLB1_Hit() '<- bottom LEFT FRONT target
T=0:Timer1.Enabled=True
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
'PlaySound "bell1000"
If LOL = 1 Then
EB1 = 2
Light3.State = LightStateOff
Light6.State = LightStateOn
BReels(49).SetValue 1
End If
TargetLB1.IsDropped=True:TargetLB2.IsDropped=False
End Sub
Sub Timer1_Timer() '<-keeps track of BOTTOM moving targets
T=T+1
If T=2 Then
TargetRB2.IsDropped=True:TargetRB1.IsDropped=False
TargetLB2.IsDropped=True:TargetLB1.IsDropped=False
Timer1.Enabled=False:T=0
End If
End Sub
Sub TargetLT1_Hit() '<- top LEFT target
T2=0:Timer2.Enabled=True
'PlaySound "bell1000"
If Bonus >= 15000 and B = 1 Then '<- REPLAY PAID
B = 2:PlaySound "knocker"
EMReel3.AddValue (1)
Credits = Credits + 1
Light27.State = LightStateOff
Light28.State = LightStateOff
End If
If BT1 = 1 Then
Light27.State = LightStateOff
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
Bonus = Bonus + 1000
End If
TargetLT1.IsDropped=True:TargetLT2.IsDropped=False
BonusLights
End Sub
Sub TargetRT1_Hit() '<- top RIGHT target
T2=0:Timer2.Enabled=True
'PlaySound "bell1000"
If Bonus >= 15000 and B = 1 Then '<- REPLAY PAID
B = 2:PlaySound "knocker"
EMReel3.AddValue (1)
Credits = Credits + 1
Light27.State = LightStateOff
Light28.State = LightStateOff
End If
If BT2 = 1 Then
Light28.State = LightStateOff
EMReel1.AddValue (1000)
AddScore2 (1000):NewScore 2,1 '1000pts
Bonus = Bonus + 1000
End If
TargetRT1.IsDropped=True:TargetRT2.IsDropped=False
BonusLights
End Sub
Sub Timer2_Timer() '<-keeps track of TOP moving targets
T2=T2+1
If T2=2 Then
TargetRT2.IsDropped=True:TargetRT1.IsDropped=False
TargetLT2.IsDropped=True:TargetLT1.IsDropped=False
Timer2.Enabled=False:T2=0
End If
End Sub
Sub Spinner1_Spin()
If TILT = 0 Then
PlaySound "soloff"
EMReel1.AddValue (100)
AddScore2 (100):NewScore 3,1 '100pts
SpinNum1 = SpinNum1 + 1
SPIN = SPIN + 1
If SPIN = 1 Then Light17.State = LightStateOn:Light26.State = LightStateOff
If SPIN = 2 Then Light18.State = LightStateOn
If SPIN = 3 Then Light19.State = LightStateOn
If SPIN = 4 Then Light20.State = LightStateOn
If SPIN = 5 Then Light21.State = LightStateOn
If SPIN = 6 Then Light22.State = LightStateOn
If SPIN = 7 Then Light23.State = LightStateOn
If SPIN = 8 Then Light24.State = LightStateOn
If SPIN = 9 Then Light25.State = LightStateOn
If SPIN = 10 Then
Light26.State = LightStateOn
Light17.State = LightStateOff
Light18.State = LightStateOff
Light19.State = LightStateOff
Light20.State = LightStateOff
Light21.State = LightStateOff
Light22.State = LightStateOff
Light23.State = LightStateOff
Light24.State = LightStateOff
Light25.State = LightStateOff
SPIN = 0
Bonus = Bonus + 1000
BonusLights
End If
End If
End Sub
Sub Gate1_Hit()
PlaySound "Gate"
End Sub
Sub AddScore (points) '<- Check 10's in score only for free replay
Score = Score + points
If Score = 100 Then
Score = 0
End If
End Sub
Sub AddScore2 (points) '<- For Normal Scoring for Save
Score2 = Score2 + points
End Sub
Sub MatchCheck()
Randomize '<- Randomize the match points
Match = Int(Rnd(1) * 10)
BReels(47).SetValue Match-1
If Match = 1 Then:Match = 10:End If
If Match = 2 Then:Match = 20:End If
If Match = 3 Then:Match = 30:End If
If Match = 4 Then:Match = 40:End If
If Match = 5 Then:Match = 50:End If
If Match = 6 Then:Match = 60:End If
If Match = 7 Then:Match = 70:End If
If Match = 8 Then:Match = 80:End If
If Match = 9 Then:Match = 90:End If
If Match = 10 Then:Match = 00: End If
EMReel4.AddValue (Match)
If Score = Match Then '<- If Score = Match then award one replay
PlaySound "knocker"
EMReel3.AddValue (1)
Credits = Credits + 1
End If
CheckHighScore
End Sub
Sub BonusCheck() '<- Balls 1 - 4 ONLY
If Bonus >= 15000 Then
Bonus = 15000
End If
EMReel1.AddValue (Bonus)
AddScore2 Bonus
While bonus>9000
NewScore 1,1
bonus=bonus-10000
Wend
While bonus>0
NewScore 2,1
bonus=bonus-1000
Wend
Bonus = 0
End Sub
Sub DoubleBonusCheck() '<- Ball 5 ONLY
If Bonus >= 30000 Then
Bonus = 30000
End If
EMReel1.AddValue (Bonus)
AddScore2 Bonus
While bonus>9000
NewScore 1,1
bonus=bonus-10000
Wend
While bonus>0
NewScore 2,1
bonus=bonus-1000
Wend
Bonus = 0
MatchCheck
End Sub
'REM YELLOW BONUS: 8,000 / 10,000 / 12,000 / 14,000
'REM GREEN BONUS: 9,000 / 11,000 / 13,000
Sub BonusLights()
BonusBox.Text = ""&Bonus&""
If Bonus >= 15000 and B = 0 Then '<- SPECIAL LIT / Bonus at 15000
Light28.State = LightStateOn:Light27.State = LightStateOn:B = 1
End If
If Bonus >= 15000 and BALL <> 5 Then
BonusBox.Text = "15000"
End If
If Bonus >= 30000 and BALL = 5 Then
BonusBox.Text = "30000"
End If
If Bonus > 14000 Then
Light3.State = LightStateOff:Light4.State = LightStateOff
LOL = 0:ROL = 0
End If
'REM YELLOW EXTRA BALL ON (change sides ON)
If Bonus = 8000 or Bonus = 10000 or Bonus = 12000 or Bonus = 14000 Then
Light3.State = LightStateOn:Light4.State = LightStateOff
LOL = 1:ROL = 0
End If
'REM GREEN EXTRA BALL ON (change sides ON)
If Bonus = 9000 or Bonus = 11000 or Bonus = 13000 Then
Light4.State = LightStateOn:Light3.State = LightStateOff
ROL = 1:LOL = 0
End If
If EB1 = 2 or EB2 = 2 Then '<- Extra Ball GOT Check
Light3.State = LightStateOff:Light4.State = LightStateOff
LOL = 0:ROL = 0
End If
'REM CONTROLS BONUS LIGHTS BY 1000's / spinner (all below)
If Bonus = 10000 or Bonus = 20000 or Bonus = 30000 or Bonus = 40000 or Bonus = 50000 or Bonus = 60000 or Bonus = 70000 or Bonus = 80000 or Bonus = 90000 Or Bonus = 100000 Then
Light7.State = LightStateOn
Light8.State = LightStateOff
Light9.State = LightStateOff
Light10.State = LightStateOff
Light11.State = LightStateOff
Light12.State = LightStateOff
Light13.State = LightStateOff
Light14.State = LightStateOff
Light15.State = LightStateOff
Light16.State = LightStateOff
End If
If Bonus = 1000 or Bonus = 11000 or Bonus = 21000 or Bonus = 31000 or Bonus = 41000 or Bonus = 51000 or Bonus = 61000 or Bonus = 71000 or Bonus = 81000 or Bonus = 91000 Then
Light16.State = LightStateOn
End If
If Bonus = 2000 or Bonus = 12000 or Bonus = 22000 or Bonus = 32000 or Bonus = 42000 or Bonus = 52000 or Bonus = 62000 or Bonus = 72000 or Bonus = 82000 or Bonus = 92000 Then
Light15.State = LightStateOn
End If
If Bonus = 3000 or Bonus = 13000 or Bonus = 23000 or Bonus = 33000 or Bonus = 43000 or Bonus = 53000 or Bonus = 63000 or Bonus = 73000 or Bonus = 83000 or Bonus = 93000 Then
Light14.State = LightStateOn
End If
If Bonus = 4000 or Bonus = 14000 or Bonus = 24000 or Bonus = 34000 or Bonus = 44000 or Bonus = 54000 or Bonus = 64000 or Bonus = 74000 or Bonus = 84000 or Bonus = 94000 Then
Light13.State = LightStateOn
End If
If Bonus = 5000 or Bonus = 15000 or Bonus = 25000 or Bonus = 35000 or Bonus = 45000 or Bonus = 55000 or Bonus = 65000 or Bonus = 75000 or Bonus = 85000 or Bonus = 95000 Then
Light12.State = LightStateOn
End If
If Bonus = 6000 or Bonus = 16000 or Bonus = 26000 or Bonus = 36000 or Bonus = 46000 or Bonus = 56000 or Bonus = 66000 or Bonus = 76000 or Bonus = 86000 or Bonus = 96000 Then
Light11.State = LightStateOn
End If
If Bonus = 7000 or Bonus = 17000 or Bonus = 27000 or Bonus = 37000 or Bonus = 47000 or Bonus = 57000 or Bonus = 67000 or Bonus = 77000 or Bonus = 87000 or Bonus = 97000 Then
Light10.State = LightStateOn
End If
If Bonus = 8000 or Bonus = 18000 or Bonus = 28000 or Bonus = 38000 or Bonus = 48000 or Bonus = 58000 or Bonus = 68000 or Bonus = 78000 or Bonus = 88000 or Bonus = 98000 Then
Light9.State = LightStateOn
End If
If Bonus = 9000 or Bonus = 19000 or Bonus = 29000 or Bonus = 39000 or Bonus = 49000 or Bonus = 59000 or Bonus = 69000 or Bonus = 79000 or Bonus = 89000 or Bonus = 99000 Then
Light8.State = LightStateOn
End If
End Sub
Sub GoNudge '<- Table Nudging from keys
TI=TI+1
End Sub
Sub Timer3_Timer() '<- TILT "LEVEL" CHECK STATUS
SECS = SECS - 2
If TI=4 Then
TiltBox.Text = "-TILT-"
End If
If TI=3 Then
TiltBox.Text = "-TIL-"
End If
If TI=2 Then
TiltBox.Text = "-TI-"
End If
If TI=1 Then
TiltBox.Text = "-T-"
End If
If TI=0 Then
TiltBox.Text = ""
End If
If SECS=70 Then:TI=TI-1:End If
If SECS=40 Then:TI=TI-1:End If
If SECS=10 Then:TI=TI-1:End If
If SECS = 0 and TI < 9 or TI = 0 Then:SECS = 100:TI=0:End If
If TI = 4 and SECS <> 0 Then '<- TILTED
BReels(46).SetValue 1
PlaySound "solon"
TILT=1:Timer3.Enabled = False:Active = False:TiltBox.Text = "TILT"
Bumper1.Disabled=True:Bumper2.Disabled=True:Bumper3.Disabled=True
Bumper4.Disabled=True:LeftSlingshot.Disabled=True
RightSlingshot.Disabled=True:LeftInlane.Enabled=False
RightInlane.Enabled=False:LeftOutlane.Enabled=False
RightOutlane.Enabled=False:Trigger1.Enabled=False
Trigger2.Enabled=False
End If
End Sub
Sub plungertimer_Timer()
If recoil = True and recoilpos <> 0 then 'When recoil and recoil position is not zero
plungerpos = recoilpos 'Set plunger position to recoil position
recoilpos = 0 'Set recoil position to zero
For pcounter = 1 to 4 'For loop to move each plunger ball Y position to plunger position
plunger(pcounter).y = plunger(pcounter).y + plungerpos
Next
Exit Sub 'Exit the sub (recoil in showing, next pass, the plunger will go back to zero position)
End If
If pullback = True and plungerpos < 145 then 'When plungerkey is down and the plunger is not all the way back
plungerpos = plungerpos + 1 'Increment the plunger position by 1
For pcounter = 1 to 4 'For loop to move each plunger balls Y position by 1
plunger(pcounter).y = plunger(pcounter).y + 1
Next
ElseIf pullback = False and plungerpos <> 0 then 'Else if plungerkey released and plunger position is not 0
For pcounter = 1 to 4 'For loop to move each plunger ball back to it's original position
plunger(pcounter).y = plunger(pcounter).y - plungerpos
Next
If ballready = True then bal.vely = bal.vely - (plungerpos/3) 'If the ball is in position, fire ball at -Y velosity value of plunger position - 3
If recoil = False then 'If recoil is False then
plungertimer.Interval = 30 'Slow the plunger timer down to interval 30
recoilpos = plungerpos / 5 'Set the recoil position to a 5th of the plunger position
recoil = True 'Set recoil booleen to true (ready for recoil next pass through timer)
Else 'Else recoil is True
plungertimer.Interval = 10 'Set the plunger timer to normal interval of 10
recoil = False 'Set recoil booleen to False (recoil done)
End If
plungerpos = 0 'Set plunger position to zero
End If
End Sub
Sub CheckHighScore
If Score2>HighScore then
HighScore=Score2
HScore.Text=Score2
SaveValue "Table1", "HighScore", HighScore
End If
End Sub
'----------------------------------------------------------
Sub NewScore (ByVal reel,ByVal pulses)
Dim ri
'Reel Array --> reelpulseslocal(24,2) '(PulseQueue, ReelValue)
ri=(ActivePlayer-1)*6+reel
reelpulseslocal (ri,1)=reelpulseslocal (ri,1)+pulses
End Sub
Sub ScoreTimer_Timer()
Dim ri
BReels(42).SetValue Credits
If ActivePlayer>0 And TILT=0 Then
ri=(ActivePlayer-1)*6
For i =4 to 1 Step -1
If reelpulseslocal (ri+i,1)>0 Then
Select Case i
Case 4
PlaySound "CFchime1"
Case 3
PlaySound "CFchime2"
Case 2
PlaySound "CFchime3"
Case 1
PlaySound "CFchime2"
End Select
reelpulseslocal (ri+i,1)=reelpulseslocal (ri+i,1)-1
reelpulseslocal (ri+i,2)=reelpulseslocal (ri+i,2)+1
If reelpulseslocal (ri+i,2)=10 Then
If i=1 Then
' Overflow
reelpulseslocal (ri+i,1)=0
reelpulseslocal (ri+i,2)=0
' Coins=Coins+1
PlaySound "buzzer"
' PlaySound "Knocker"
BReels(37+ActivePlayer).SetValue 1
Else
reelpulseslocal (ri+i-1,1)=reelpulseslocal (ri+i-1,1)+1
reelpulseslocal (ri+i,2)=0
End If
End If
BReels(ri+i-1).SetValue reelpulseslocal (ri+i,2)
' If i=1 And reelpulseslocal (ri+i,2)=7 Then
' Coins=Coins+1
' PlaySound "Knocker"
' End If
End If
Next
End If
End Sub
Sub RollTimer_Timer()
' ****************************************************
' * Thanks to RASCAL for the rolling ball sound code *
' ****************************************************
If (Abs(int(bal.velx)) or Abs(int(bal.vely))) > 5 and roll = 0 then
roll = 1
StopSound "rollstop"
PlaySound "roll1"
ElseIf (Abs(int(bal.velx)) or Abs(int(bal.vely))) <= 6 and roll = 1 then
roll = 0
StopSound "roll1"
PlaySound "rollstop"
End If
End Sub
Click here to download this file




Contributor

Top








are all trademarks of VPFORUMS.