Option Explicit LoadVPM "01120100","Sega.VBS",3.02 Sub LoadVPM(VPMver,VBSfile,VBSver) On Error Resume Next If ScriptEngineMajorVersion<5 Then MsgBox"VB Script Engine 5.0 or higher required" ExecuteGlobal GetTextFile(VBSfile) If Err Then MsgBox "Unable to open "&VBSfile&". Ensure that it is in the same folder as this table. "&vbNewLine&Err.Description Set Controller=CreateObject("VPinMAME.Controller") If Err Then MsgBox "Unable to load VPinMAME."&vbNewLine&Err.Description If VPMver>"" Then If Controller.Version"" Then Select Case Country Case 1:Controller.GameName="strikext":GN="strikext":OldGN=GN'USA Case 2:Controller.GameName="strxt_fr":GN="strxt_fr":OldGN=GN'France Case 3:Controller.GameName="strxt_gr":GN="strxt_gr":OldGN=GN'Germany Case 4:Controller.GameName="strxt_uk":GN="strxt_uk":OldGN=GN'Great Britain Case 5:Controller.GameName="strxt_it":GN="strxt_it":OldGN=GN'Italy Case 6:Controller.GameName="strxt_sp":GN="strxt_sp":OldGN=GN'Spain Case Else:Controller.GameName="strikext":GN="strikext":OldGN=GN:Country=1'USA End Select Controller.SplashInfoLine="Striker Xtreme"&vbNewLine&"Table by Joep-TAB-Destruk" Controller.ShowTitle=0 Controller.ShowDMDOnly=1 Controller.ShowFrame=0 Controller.HandleMechanics=0 SetDisplayToElement ScoreText On Error Resume Next Controller.Run GetPlayerHwnd If Err Then MsgBox Err.Description On Error Goto 0 Else editDips End If PinMAMETimer.Interval=PinMAMEInterval:PinMAMETimer.Enabled=1:vpmNudge.TiltSwitch=56:vpmNudge.Sensitivity=5 vpmNudge.TiltObj=Array(Bumper1,Bumper2,Bumper3,LeftSlingshot,RightSlingshot) Set bsTrough=New cvpmBallStack bsTrough.InitSw 0,14,13,12,11,0,0,0 bsTrough.InitKick BallRelease,55,4 bsTrough.InitEntrySnd "Solenoid","Solenoid" bsTrough.InitExitSnd "BallRel","Solenoid" bsTrough.Balls=4 Set bsCave=New cvpmBallStack bsCave.InitSw 0,45,0,0,0,0,0,0 bsCave.InitKick Kicker6,180,5 bsCave.InitEntrySnd "Solenoid","Solenoid" bsCave.InitExitSnd "Popper","Solenoid" Set bsUpperEject=New cvpmBallStack bsUpperEject.InitSw 0,46,0,0,0,0,0,0 bsUpperEject.InitKick Kicker3,0,10 bsUpperEject.InitEntrySnd "Solenoid","Solenoid" bsUpperEject.InitExitSnd "BallRel","Solenoid" Set Magnet1=New cvpmMagnet Magnet1.InitMagnet Trigger8,40 Magnet1.Solenoid=12 Set Magnet2=New cvpmMagnet Magnet2.InitMagnet RampMag,40 Magnet2.Solenoid=13 Magnet2.CreateEvents "Magnet2" Set VLLock=New cvpmVLock VLLock.InitVLock Array(Trigger14,Trigger13,Trigger12,Trigger11),Array(Kicker17,Kicker16,Kicker15,Kicker14),Array(24,23,22,21) VLLock.CreateEvents "VLLock" VLLock.InitSnd "Solenoid","Solenoid" Set dtDrop=New cvpmDropTarget dtDrop.InitDrop Array(Drop1,Drop2,Drop3,Drop4),Array(20,19,18,17) dtDrop.InitSnd "flapclos","flapopen" dtDrop.CreateEvents "dtDrop" Set mGoalie=New cvpmMech mGoalie.MType=vpmMechOneDirSol+vpmMechReverse+vpmMechLinear mGoalie.Sol1=25 mGoalie.Sol2=26 mGoalie.Length=20 mGoalie.Steps=8 mGoalie.AddSw 41,0,0 mGoalie.AddSw 47,3,4 mGoalie.AddSw 42,7,7 mGoalie.Callback=GetRef("UpdateGoalie") mGoalie.Start vpmMapLights AllLights End Sub Sub Table1_KeyDown(ByVal KeyCode) If KeyCode=KeyUpperLeft Then Controller.Switch(1)=1 If KeyCode=KeyUpperRight Then Controller.Switch(8)=1 If KeyDownHandler(KeyCode) Then Exit Sub If KeyCode=PlungerKey Then PlaySound"Plunger" Plunger.Fire End If End Sub Sub Table1_KeyUp(ByVal KeyCode) If KeyCode=KeyUpperLeft Then Controller.Switch(1)=0 If KeyCode=KeyUpperRight Then Controller.Switch(8)=0 If KeyUpHandler(KeyCode) Then Exit Sub If KeyCode=PlungerKey Then Plunger.Pullback End Sub Dim LBPlace,X LBPlace=Array(L0,L1,L2,L3,L4,L5,L6,L7) Sub UpdateGoalie(aNewPos,aSpeed,aLastPos) If aNewPos>-1 And aNewPos<8 Then For X=0 To 7:LBPlace(X).IsDropped=1:Next Select Case aNewPos Case 0:Magnet1.X=197.5:Magnet1.Y=427:LBPlace(0).IsDropped=0 Case 1:Magnet1.X=217.5:Magnet1.Y=422:LBPlace(1).IsDropped=0 Case 2:Magnet1.X=237.5:Magnet1.Y=417:LBPlace(2).IsDropped=0 Case 3:Magnet1.X=257.5:Magnet1.Y=412:LBPlace(3).IsDropped=0 Case 4:Magnet1.X=277.5:Magnet1.Y=407:LBPlace(4).IsDropped=0 Case 5:Magnet1.X=297.5:Magnet1.Y=402:LBPlace(5).IsDropped=0 Case 6:Magnet1.X=317.5:Magnet1.Y=397:LBPlace(6).IsDropped=0 Case 7:Magnet1.X=337.5:Magnet1.Y=392:LBPlace(7).IsDropped=0 End Select Magnet1.Size=40 End Sub Sub Spinner1_Spin:vpmTimer.PulseSw 9:End Sub Sub Drain_Hit:bsTrough.AddBall Me:End Sub Sub Trigger2_Hit:Controller.Switch(16)=1:Plunger.Pullback:End Sub Sub Trigger2_UnHit:Controller.Switch(16)=0:End Sub Sub L0_Hit:vpmTimer.PulseSw 25:End Sub Sub L1_Hit:vpmTimer.PulseSw 25:End Sub Sub L2_Hit:vpmTimer.PulseSw 25:End Sub Sub L3_Hit:vpmTimer.PulseSw 25:End Sub Sub L4_Hit:vpmTimer.PulseSw 25:End Sub Sub L5_Hit:vpmTimer.PulseSw 25:End Sub Sub L6_Hit:vpmTimer.PulseSw 25:End Sub Sub L7_Hit:vpmTimer.PulseSw 25:End Sub Sub Wall21_Hit:vpmTimer.PulseSw 26:End Sub Sub Wall6_Hit:vpmTimer.PulseSw 27:End Sub Sub Wall7_Hit:vpmTimer.PulseSw 28:End Sub Sub Wall5_Hit:vpmTimer.PulseSw 29:End Sub Sub Trigger4_Hit:Controller.Switch(31)=1:End Sub Sub Trigger4_UnHit:Controller.Switch(31)=0:End Sub Sub Trigger1_Hit:Controller.Switch(32)=1:End Sub Sub Trigger1_UnHit:Controller.Switch(32)=0:End Sub Sub A_Hit:Controller.Switch(33)=1:End Sub Sub A_UnHit:Controller.Switch(33)=0:End Sub Sub B_Hit:Controller.Switch(34)=1:End Sub Sub B_UnHit:Controller.Switch(34)=0:End Sub Sub C_Hit:Controller.Switch(35)=1:End Sub Sub C_UnHit:Controller.Switch(35)=0:End Sub Sub Trigger5_Hit:Controller.Switch(38)=1:End Sub Sub Trigger5_UnHit:Controller.Switch(38)=0:End Sub Sub Trigger6_Hit:Controller.Switch(39)=1:End Sub Sub Trigger6_UnHit:Controller.Switch(39)=0:End Sub Sub Trigger8_Hit:Magnet1.AddBall ActiveBall:Magnet1.AttractBall ActiveBall:Controller.Switch(43)=1:End Sub 'switch 43 is goalie magnet Sub Trigger8_UnHit:Magnet1.RemoveBall ActiveBall:Controller.Switch(43)=0:End Sub Sub Kicker7_Hit:Me.DestroyBall:vpmTimer.PulseSwitch 44,100,"HandleUnder":End Sub Sub Kicker8_Hit:Me.DestroyBall:vpmTimer.PulseSwitch 44,100,"HandleUnder":End Sub Sub kicker9_Hit:Me.DestroyBall:vpmTimer.PulseSwitch 44,100,"HandleUnder":End Sub Sub Kicker10_Hit:Me.DestroyBall:vpmTimer.PulseSwitch 44,100,"HandleUnder":End Sub Sub HandleUnder(swNo):bsUpperEject.AddBall 0:End Sub Sub Kicker1_Hit:bsCave.AddBall Me:End Sub'45 Sub Kicker2_Hit:bsUpperEject.AddBall Me:End Sub'46 Sub Trigger3_Hit:Controller.Switch(48)=1:End Sub Sub Trigger3_UnHit:Controller.Switch(48)=0:End Sub Sub Bumper1_Hit:vpmTimer.PulseSw 49:End Sub Sub Bumper2_Hit:vpmTimer.PulseSw 50:End Sub Sub Bumper3_Hit:vpmTimer.PulseSw 51:End Sub Sub wall2_Hit:vpmTimer.PulseSw 52:End Sub Sub LeftOutlane_Hit:Controller.Switch(57)=1:End Sub Sub LeftOutlane_UnHit:Controller.Switch(57)=0:End Sub Sub LeftInlane_Hit:Controller.Switch(58)=1:End Sub Sub LeftInLane_UnHit:Controller.Switch(58)=0:End Sub Sub LeftSlingShot_SlingShot:vpmTimer.PulseSw 59:End Sub Sub RightOutlane_Hit:Controller.Switch(60)=1:End Sub Sub RightOutlane_UnHit:Controller.Switch(60)=0:End Sub Sub RightInlane_Hit:Controller.Switch(61)=1:End Sub Sub RightInlane_UnHit:Controller.Switch(61)=0:End Sub Sub RightSlingShot_SlingShot:vpmTimer.PulseSw 62:End Sub Sub Trigger10_Hit:ActiveBall.VelX=-2:ActiveBall.VelY=-2:End Sub Dim Romset,OldGN,Selection OldGN=8 Sub editDips If GN="strikext" Then Romset=0 If GN="strxt_fr" Then Romset=1 If GN="strxt_gr" Then Romset=2 If GN="strxt_uk" Then Romset=3 If GN="strxt_it" Then Romset=4 If GN="strxt_sp" Then Romset=5 Dim vpmDips:Set vpmDips=New cvpmDips vpmDips.AddForm 100,240,"Select Rom" vpmDips.AddFrameExtra 0,0,80,"Romset",Romset+1,Array("USA",1,"France",2,"Germany",3,"Great Britain",4,"Italy",5,"Spain",6) Country=vpmDips.ViewDipsExtra(Romset+1) Romset=Country Select Case Country Case 1:GN="strikext"'USA Case 2:GN="strxt_fr"'France Case 3:GN="strxt_gr"'Germany Case 4:GN="strxt_uk"'Great Britain Case 5:GN="strxt_it"'Italy Case 6:GN="strxt_sp"'Spain End Select If OLDGN<>GN Then SaveValue "StrikerXtreme","Country",Country Controller.Stop Controller.GameName=GN Controller.SplashInfoLine="Striker Xtreme"&vbNewLine&"Table by Joep-TAB-Destruk" Controller.ShowTitle=0 Controller.ShowDMDOnly=1 Controller.ShowFrame=0 Controller.HandleMechanics=0 SetDisplayToElement ScoreText On Error Resume Next Controller.Run GetPlayerHwnd If Err Then MsgBox Err.Description On Error Goto 0 vpmTimer.Reset End If OldGN=GN End Sub Set vpmShowDips=GetRef("editDips")