Animusan2 Posted December 11, 2023 Posted December 11, 2023 The table "Mickey Maus Happy Chrismas 2022" uses the ROM "stest" When I start the table in VPX 10.8, the scores are not reset and the ancient game I was playing continues. If I delete the NVram file "stest.nv" before starting the game, everything is OK, the scores are all "0". Is there a way to delete this NVram file from my computer from the script of the table when starting or exiting a vpx table. Something like the TOTAN patch from Soul Reaver 1.2 script (which does not work here) Thanks. =========================================================================================================== ' NVram patch for Taito do Brasil tables by Pmax65 ' ' NVramPatchExit ' Must be placed before the Controler.Stop statement into the Table1_Exit Sub ' NVramPatchLoad ' Must be placed before the VPinMAME controller initialization ' NVramPatchKeyCheck' Must be placed in the lamptimer timer ' =========================================================================================================== Const GameOverLampID = 149 ' set this constant to the ID number of the game-over lamp Dim NVramPatchCoinCnt Function GetNVramPath() Dim WshShell Set WshShell = CreateObject("WScript.Shell") GetNVramPath = WshShell.RegRead("HKCU\Software\Freeware\Visual PinMame\globals\nvram_directory") End function Function FileExists(FileName) DIM FSO FileExists = False Set FSO = CreateObject("Scripting.FileSystemObject") FileExists = FSO.FileExists(FileName) Set FSO = Nothing End Function Sub Kill(FileName) Dim ObjFile, FSO On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject") Set ObjFile = FSO.GetFile(FileName) ObjFile.Delete On Error Goto 0 Set FSO = Nothing End Sub Sub Copy(SourceFileName, DestFileName) Dim FSO On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CopyFile SourceFileName, DestFileName, True On Error Goto 0 Set FSO = Nothing End Sub Sub NVramPatchLoad NVramPatchCoinCnt = 0 If FileExists(GetNVramPath + "\" + cGameName + ".nvb")Then Copy GetNVramPath + "\" + cGameName + ".nvb", GetNVramPath + "\" + cGameName + ".nv" Else Copy GetNVramPath + "\" + cGameName + ".nv", GetNVramPath + "\" + cGameName + ".nvb" End If End Sub Sub NVramPatchExit If LampState(GameOverLampID)Then Kill GetNVramPath + "\" + cGameName + ".nvb" Do LampTimer_Timer ' This loop is needed to avoid the NVram reset (losing the hi-score and credits) Loop Until LampState(20) = 1 ' when the game is over but the match procedure isn't still ended End If End Sub ' ============================================================================================================= ' To completely erase the NVram file keep the Start Game button pushed while inserting ' two coins into the first coin slit (this resets the high scores too) ' =========================================================================================================== Sub NVramPatchKeyCheck If Controller.Switch(swStartButton)then If Controller.Switch(swCoin1)then If NVramPatchCoinCnt = 2 Then Controller.Stop Kill GetNVramPath + "\" + cGameName + ".nv" Kill GetNVramPath + "\" + cGameName + ".nvb" QuitPlayer 2 Else NVramPatchCoinCnt = 1 End If Else If NVramPatchCoinCnt = 1 Then NVramPatchCoinCnt = 2 End If End If Else NVramPatchCoinCnt = 0 End If End Sub
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now