Arngrim

punk dof

Nov 11th, 2016
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.11 KB | None | 0 0
  1. Option Explicit
  2.  
  3. On Error Resume Next
  4. ExecuteGlobal GetTextFile("controller.vbs")
  5. If Err Then MsgBox "You need the controller.vbs in order to run this table, available in the vp10 package"
  6. On Error Goto 0
  7.  
  8. Const cGameName="punk",UseSolenoids=1,UseLamps=1,UseGI=0,SSolenoidOn="SolOn",SSolenoidOff="SolOff",SFlipperOn="Flipper2",SFlipperOff="Flipper"
  9. Const SCoin="coin3",cCredits=""
  10.  
  11. LoadVPM "01120100","sys80.vbs",3.02
  12. Set LampCallback=GetRef("UpdateMultipleLamps")
  13.  
  14.  
  15. Sub Table1_KeyDown(ByVal keycode)
  16. If keycode=RightFlipperKey Then Controller.Switch(35)=1
  17. If vpmKeyDown(KeyCode) Then Exit Sub
  18. If keycode=PlungerKey Then Plunger.Pullback
  19. End Sub
  20.  
  21. Sub Table1_KeyUp(ByVal keycode)
  22. If keycode=RightFlipperKey Then Controller.Switch(35)=0
  23. If vpmKeyUp(KeyCode) Then Exit Sub
  24. If keycode=PlungerKey Then Plunger.Fire:playsound "plunger"
  25. End Sub
  26.  
  27. Const sTopBank=1
  28. Const sLeftBank=2
  29. Const sCLBank=3
  30. Const sCRBank=4
  31. Const sSaucer=5
  32. Const sSaucer2=6
  33. Const sknocker=8
  34. Const sOutHole=9
  35.  
  36. SolCallback(sTopBank)="dtT.SolDropUp"
  37. SolCallback(sLeftBank)="dtL.SolDropUp"
  38. SolCallback(sCLBank)="dtCL.SolDropUp"
  39. SolCallback(sCRBank)="dtCR.SolDropUp"
  40. SolCallback(sSaucer)="bsSaucer.SolOut"
  41. SolCallback(sSaucer2)="bsSaucer2.SolOut"
  42. SolCallback(sKnocker)="VpmSolSound SoundFX(""knocker"",DOFKnocker),"
  43. SolCallback(sOutHole)="SolTrough"
  44. 'SolCallback(sLLFlipper)="VpmSolFlipper LeftFlipper,Flipper2,"
  45. 'SolCallback(sLRFlipper)="VpmSolFlipper RightFlipper,Flipper1,"
  46.  
  47. SolCallback(sLRFlipper) = "SolRFlipper"
  48. SolCallback(sLLFlipper) = "SolLFlipper"
  49.  
  50. Sub SolLFlipper(Enabled)
  51. If Enabled Then
  52. PlaySound SoundFX("FlipperUp",DOFFlippers):LeftFlipper.RotateToEnd:Flipper2.RotateToEnd
  53. Else
  54. PlaySound SoundFX("FlipperDown",DOFFlippers):LeftFlipper.RotateToStart:Flipper2.RotateToStart
  55. End If
  56. End Sub
  57.  
  58. Sub SolRFlipper(Enabled)
  59. If Enabled Then
  60. PlaySound SoundFX("FlipperUp",DOFFlippers):RightFlipper.RotateToEnd:Flipper1.RotateToEnd
  61. Else
  62. PlaySound SoundFX("FlipperDown",DOFFlippers):RightFlipper.RotateToStart:Flipper1.RotateToStart
  63. End If
  64. End Sub
  65.  
  66. Dim bsSaucer,bsSaucer2,dtL,dtT,dtCL,dtCR
  67.  
  68. Dim BallR,OldBallR
  69. BallR=0
  70.  
  71. Sub SolTrough(Enabled)
  72. If Enabled Then
  73. Controller.Switch(36)=0
  74. End If
  75. End Sub
  76.  
  77. Sub UpdateMultipleLamps
  78. BallR=Light12.State
  79. If BallR<>OldBallR Then
  80. If BallR=1 Then
  81. BallsInPlay=BallsInPlay+1
  82. BallRelease.CreateBall
  83. BallRelease.Kick 100,1
  84. Controller.Switch(54)=0
  85. End If
  86. OldBallR=BallR
  87. End If
  88. End Sub
  89.  
  90. Sub Table1_Init
  91. Controller.Games(cGameName).Settings.Value("dmd_red")=7
  92. Controller.Games(cGameName).Settings.Value("dmd_green")=194
  93. Controller.Games(cGameName).Settings.Value("dmd_blue")=78
  94. On Error Resume Next
  95. With Controller
  96. .GameName=cGameName
  97. If Err Then MsgBox "Can't start Game" & cGameName & vbNewLine & Err.Description : Exit Sub
  98. .SplashInfoLine="Punk!"
  99. .HandleMechanics=0
  100. .HandleKeyboard=0
  101. .ShowDMDOnly=1
  102. .ShowFrame=1
  103. .ShowTitle=0
  104. .Hidden=1
  105. If Err Then MsgBox Err.Description
  106. End With
  107. On Error Goto 0
  108. Controller.SolMask(0)=0
  109. vpmTimer.AddTimer 2000,"Controller.SolMask(0)=&Hffffffff'" 'ignore all solenoids - then add the timer to renable all the solenoids after 2 seconds
  110. Controller.Run
  111.  
  112.  
  113. Controller.Dip(0) = (0*1 + 0*2 + 0*4 + 0*8 + 0*16 + 0*32 + 0*64 + 0*128) '01-08
  114. Controller.Dip(1) = (0*1 + 0*2 + 0*4 + 0*8 + 0*16 + 1*32 + 1*64 + 1*128) '09-16
  115. Controller.Dip(2) = (0*1 + 0*2 + 0*4 + 0*8 + 0*16 + 1*32 + 1*64 + 1*128) '17-24
  116. Controller.Dip(3) = (1*1 + 1*2 + 1*4 + 0*8 + 0*16 + 0*32 + 1*64 + 1*128) '25-32
  117.  
  118. 'Switch 25 Number Of Balls
  119. ' ON = 3
  120. ' OFF = 5
  121.  
  122. PinMAMETimer.Interval=PinMAMEInterval
  123. PinMAMETimer.Enabled=1
  124.  
  125. vpmNudge.TiltSwitch=57
  126. vpmNudge.Sensitivity=5
  127. vpmNudge.TiltObj=Array(LeftSlingshot,RightSlingshot,Bumper1,Bumper2,Bumper3,Bumper4,Bumper5,Wall20,Wall21,Wall22)
  128.  
  129. Set bsSaucer=New cvpmBallStack
  130. bsSaucer.InitSaucer Kicker1,5,180,5
  131. bsSaucer.InitExitSnd SoundFX("popper",DOFContactors),SoundFX("popper",DOFContactors)
  132.  
  133. Set bsSaucer2=New cvpmBallStack
  134. bsSaucer2.InitSaucer Kicker2,6,180,5
  135. bsSaucer2.InitExitSnd SoundFX("popper",DOFContactors),SoundFX("popper",DOFContactors)
  136.  
  137. set dtL=New cvpmDropTarget
  138. dtL.InitDrop Array(Wall1,Wall2,Wall3),Array(1,11,21)
  139. dtL.initsnd SoundFX("flapclos",DOFContactors),SoundFX("flapopen",DOFContactors)
  140.  
  141. set dtT=New cvpmDropTarget
  142. dtT.InitDrop Array(Wall4,Wall5,Wall6),Array(0,10,20)
  143. dtT.initsnd SoundFX("flapclos",DOFContactors),SoundFX("flapopen",DOFContactors)
  144.  
  145. set dtCL=New cvpmDropTarget
  146. dtCL.InitDrop Array(Wall7,Wall8,Wall9),Array(2,12,22)
  147. dtCL.initsnd SoundFX("flapclos",DOFContactors),SoundFX("flapopen",DOFContactors)
  148.  
  149. set dtCR=New cvpmDropTarget
  150. dtCR.InitDrop Array(Wall10,Wall11,Wall12),Array(3,13,23)
  151. dtCR.initsnd SoundFX("flapclos",DOFContactors),SoundFX("flapopen",DOFContactors)
  152.  
  153. Controller.Switch(36)=1
  154. Controller.Switch(54)=1
  155. End Sub
  156.  
  157. Sub Wall4_Hit:dtT.Hit 1:End Sub
  158. Sub Wall1_Hit:dtL.Hit 1:End Sub
  159. Sub Wall7_Hit:dtCL.Hit 1:End Sub
  160. Sub Wall10_Hit:dtCR.Hit 1:End Sub
  161. Sub Trigger1_Hit:Controller.Switch(4)=1:End Sub
  162. Sub Trigger1_unHit:Controller.Switch(4)=0:End Sub
  163. Sub Kicker1_Hit:bsSaucer.AddBall 0:End Sub '5
  164. Sub Kicker2_Hit:bsSaucer2.AddBall 0:End Sub '6
  165. Sub Wall5_Hit:dtT.Hit 2:End Sub
  166. Sub Wall2_Hit:dtL.Hit 2:End Sub
  167. Sub Wall8_Hit:dtCL.Hit 2:End Sub
  168. Sub Wall11_Hit:dtCR.Hit 2:End Sub
  169. Sub Trigger2_Hit:Controller.Switch(14)=1:End Sub
  170. Sub Trigger2_unHit:Controller.Switch(14)=0:End Sub
  171. Sub Trigger4_Hit:Controller.Switch(15)=1:End Sub
  172. Sub Trigger4_unHit:Controller.Switch(15)=0:End Sub
  173. Sub Trigger5_Hit:Controller.Switch(16)=1:End Sub
  174. Sub Trigger5_unHit:Controller.Switch(16)=0:End Sub
  175. Sub Wall6_Hit:dtT.Hit 3:End Sub
  176. Sub Wall3_Hit:dtL.Hit 3:End Sub
  177. Sub Wall9_Hit:dtCL.Hit 3:End Sub
  178. Sub Wall12_Hit:dtCR.Hit 3:End Sub
  179. Sub Trigger3_Hit:Controller.Switch(24)=1:End Sub
  180. Sub Trigger3_unHit:Controller.Switch(24)=0:End Sub
  181. Sub Wall15_Hit:vpmTimer.PulseSw 25:DOF 101, DOFPulse:End Sub
  182. Sub Wall16_Hit:vpmTimer.PulseSw 25:DOF 102, DOFPulse:End Sub
  183. Sub Wall17_Hit:vpmTimer.PulseSw 25:DOF 102, DOFPulse:End Sub
  184. Sub Wall18_Hit:vpmTimer.PulseSw 25:DOF 103, DOFPulse:End Sub
  185. Sub Wall19_Hit:vpmTimer.PulseSw 25:DOF 103, DOFPulse:End Sub
  186. Sub Wall22_Slingshot:PlaySound SoundFXDOF("sling",111,DOFPulse,DOFContactors):VpmTimer.PulseSw 26:End Sub
  187. Sub LeftSlingshot_Slingshot:PlaySound SoundFXDOF("sling",104,DOFPulse,DOFContactors):VpmTimer.PulseSw 26:End Sub
  188. Sub RightSlingshot_Slingshot:PlaySound SoundFXDOF("sling",105,DOFPulse,DOFContactors):VpmTimer.PulseSw 26:End Sub
  189. Sub LeftInlane_Hit:Controller.Switch(30)=1:End Sub
  190. Sub LeftInlane_unHit:Controller.switch(30)=0:End Sub
  191. Sub RightInlane_Hit:Controller.Switch(31)=1:End Sub
  192. Sub RightInlane_UnHit:Controller.Switch(31)=0:End Sub
  193. Sub Wall13_Hit:vpmTimer.PulseSw 32:End Sub
  194. Sub Wall20_Slingshot:vpmTimer.PulseSw 33:PlaySound SoundFXDOF("jet3",112,DOFPulse,DOFContactors):End Sub
  195. Sub Wall21_Slingshot:vpmTimer.PulseSw 33:PlaySound SoundFXDOF("jet3",111,DOFPulse,DOFContactors):End Sub
  196. Sub Bumper3_Hit:VpmTimer.PulseSw 34:PlaySound SoundFXDOF("jet1",108,DOFPulse,DOFContactors):End Sub
  197. Sub Bumper4_Hit:VpmTimer.PulseSw 34:PlaySound SoundFXDOF("jet1",109,DOFPulse,DOFContactors):End Sub
  198. Sub Bumper5_Hit:VpmTimer.PulseSw 34:PlaySound SoundFXDOF("jet1",110,DOFPulse,DOFContactors):End Sub
  199.  
  200. Dim BallsInPlay
  201. BallsInPlay=0
  202.  
  203. Sub Drain_Hit
  204. Me.DestroyBall
  205. BallsInPlay=BallsInPlay-1
  206. Controller.Switch(36)=1
  207. If BallsInPlay=0 Then Controller.Switch(54)=1
  208. End Sub
  209. Sub LeftOutlane_Hit:Controller.Switch(50)=1:End Sub
  210. Sub LeftOutlane_unHit:Controller.Switch(50)=0:End Sub
  211. Sub RightOutlane_Hit:Controller.Switch(51)=1:End Sub
  212. Sub RightOutlane_unHit:Controller.switch(51)=0:End Sub
  213. Sub Wall14_Hit:vpmTimer.PulseSw 52:End Sub
  214. Sub Bumper1_Hit:VpmTimer.PulseSw 53:PlaySound SoundFXDOF("jet1",106,DOFPulse,DOFContactors):End Sub
  215. Sub Bumper2_Hit:VpmTimer.PulseSw 53:PlaySound SoundFXDOF("jet1",107,DOFPulse,DOFContactors):End Sub
  216.  
  217. set lights(3)=Light3
  218. set lights(4)=Light4
  219. set lights(5)=Light5
  220. set lights(6)=Light6
  221. set lights(7)=Light7
  222. set lights(8)=Light8
  223. set lights(13)=Light13
  224. set lights(14)=Light14
  225. set lights(15)=Light15
  226. set lights(16)=Light16
  227. set lights(17)=Light17
  228. set lights(18)=Light18
  229. set lights(19)=Light19
  230. set lights(20)=Light20
  231. set lights(21)=Light21
  232. set lights(22)=light22
  233. set lights(23)=light23
  234. set lights(24)=light24
  235. set lights(25)=light25
  236. set lights(26)=light26
  237. set lights(27)=light27
  238. set lights(28)=light28
  239. set lights(29)=light29
  240. set lights(30)=light30
  241. set lights(31)=light31
  242. set lights(32)=light32
  243. set lights(33)=light33
  244. set lights(34)=light34
  245. set lights(35)=light35
  246. set lights(36)=light36
  247. set lights(37)=light37
  248. set lights(38)=light38
  249. set lights(39)=light39
  250. set lights(40)=light40
  251. set lights(41)=light41
  252. set lights(42)=light42
  253. set lights(43)=light43
  254. set lights(44)=light44
  255. set lights(45)=light45
  256.  
  257. Set Lights(12)=Light12
  258.  
  259. Dim Digits(31)
  260. Digits(0)=Array(D1,D2,D3,D4,D5,D6,D7,D8,D9)
  261. Digits(1)=Array(D11,D12,D13,D14,D15,D16,D17,D18,D19)
  262. Digits(2)=Array(D21,D22,D23,D24,D25,D26,D27,D28,D29)
  263. Digits(3)=Array(D31,D32,D33,D34,D35,D36,D37,D38,D39)
  264. Digits(4)=Array(D41,D42,D43,D44,D45,D46,D47,D48,D49)
  265. Digits(5)=Array(D51,D52,D53,D54,D55,D56,D57,D58,D59)
  266. Digits(6)=Array(D61,D62,D63,D64,D65,D66,D67,D68,D69)
  267. Digits(7)=Array(D71,D72,D73,D74,D75,D76,D77,D78,D79)
  268. Digits(8)=Array(D81,D82,D83,D84,D85,D86,D87,D88,D89)
  269. Digits(9)=Array(D91,D92,D93,D94,D95,D96,D97,D98,D99)
  270. Digits(10)=Array(D101,D102,D103,D104,D105,D106,D107,D108,D109)
  271. Digits(11)=Array(D111,D112,D113,D114,D115,D116,D117,D118,D119)
  272. Digits(12)=Array(D121,D122,D123,D124,D125,D126,D127,D128,D129)
  273. Digits(13)=Array(D131,D132,D133,D134,D135,D136,D137,D138,D139)
  274. Digits(14)=Array(D141,D142,D143,D144,D145,D146,D147,D148,D149)
  275. Digits(15)=Array(D151,D152,D153,D154,D155,D156,D157,D158,D159)
  276. Digits(16)=Array(D161,D162,D163,D164,D165,D166,D167,D168,D169)
  277. Digits(17)=Array(D171,D172,D173,D174,D175,D176,D177,D178,D179)
  278. Digits(18)=Array(D181,D182,D183,D184,D185,D186,D187,D188,D189)
  279. Digits(19)=Array(D191,D192,D193,D194,D195,D196,D197,D198,D199)
  280. Digits(20)=Array(D201,D202,D203,D204,D205,D206,D207,D208,D209)
  281. Digits(21)=Array(D211,D212,D213,D214,D215,D216,D217,D218,D219)
  282. Digits(22)=Array(D221,D222,D223,D224,D225,D226,D227,D228,D229)
  283. Digits(23)=Array(D231,D232,D233,D234,D235,D236,D237,D238,D239)
  284. Digits(24)=Array(D241,D242,D243,D244,D245,D246,D247,D248,D249)
  285. Digits(25)=Array(D251,D252,D253,D254,D255,D256,D257,D258,D259)
  286. Digits(26)=Array(D261,D262,D263,D264,D265,D266,D267,D268,D269)
  287. Digits(27)=Array(D271,D272,D273,D274,D275,D276,D277,D278,D279)
  288. Digits(28)=Array(D281,D282,D283,D284,D285,D286,D287)
  289. Digits(29)=Array(D291,D292,D293,D294,D295,D296,D297)
  290. Digits(30)=Array(D301,D302,D303,D304,D305,D306,D307)
  291. Digits(31)=Array(D311,D312,D313,D314,D315,D316,D317)
  292.  
  293. Sub DisplayTimer_Timer
  294. Dim ChgLED,ii,num,chg,stat,obj
  295. ChgLED=Controller.ChangedLEDs(&Hffffffff,&Hffffffff)
  296. If Not IsEmpty(ChgLED) Then
  297. For ii=0 To UBound(chgLED)
  298. num=chgLED(ii,0):chg=chgLED(ii,1):stat=chgLED(ii,2)
  299. For Each obj In Digits(num)
  300. If chg And 1 Then obj.State=stat And 1
  301. chg=chg\2:stat=stat\2
  302. Next
  303. Next
  304. End If
  305. End Sub
  306.  
  307. Sub Table1_exit()
  308. Controller.Pause = False
  309. Controller.Stop
  310. End Sub
Advertisement
Add Comment
Please, Sign In to add comment