Jump to content



Submitter

SUPPORT TOPIC File Information

  • Submitted: Mar 17 2013 12:53 PM
  • Last Updated: Mar 17 2013 12:53 PM
  • File Size: 8.5MB
  • Views: 3507
  • Downloads: 371

Download Sky Kings (Bally 1973) [HP MEDIA PACK]

- - - - -



Screenshots
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
 





Other files you may be interested in ..





  • 18,155 Total Files
  • 57 Total Categories
  • 868 Total Authors
  • 24,616,157 Total Downloads
  • Miss O (Williams-1969) Latest File
  • Popotte Latest Submitter

user(s) are online (in the past 15 minutes)

members, guests, anonymous users