去年10月以後,Major League Baseball 2K12有一個砂鍋大的bug,就是要修改系統時間到102號之前才能進入遊戲,否則會卡在載入畫面。因為我凌晨正要玩,所以大概是全世界較早發現的人之一,還幫批踢踢上的網友解答。這個月官方終於釋出修正檔了,但是到目前為止,還沒有高手能破解官方的修正檔,因此安裝了一些哩哩叩叩介面的玩家,以及使用非正版的玩家仍然還要改時間。我以前曾經參考網友的寫法,改寫一個bat檔,功能是點擊後修改系統時間,然後進入遊戲,等到離開遊戲後再自動恢復系統時間。程式碼如下:

@echo off
set nowdate=%date%
date 2012-10-02
cd /d "D:\Major League Baseball 2K12"
Start /WAIT mlb2k12.exe
date %nowdate%
exit

這個程式的缺點是,當遊戲非正常離開,如當機、無預警跳出時,程式會失效,無法回復到系統目前時間。且在遊戲執行時為錯誤時間,可能會導致上網、雲端同步等程式當機。      

        所以我昨天又寫了一個修正版,因為批次檔沒有內建SLEEP 命令,所以就參考網路上普遍的用法,用自PING延遲30秒。點擊後修改系統時間,然後進入遊戲,30秒後便會自動恢復系統時間。程式碼如下:

@echo off
set nowdate=%date%
date 2012-10-02
cd /d "D:\Major League Baseball 2K12"
Start mlb2k12.exe
ping 127.0.0.1 -n 30>nul
GOTO :Stop

:Stop date %nowdate% exit

只要把程式碼複製到「記事本」,程式碼的"D:\Major League Baseball 2K12"要記得改成自己遊戲所在的目錄,然後「另存新檔」,存檔類型設定為「所有檔案」,檔名隨便取,副檔名為bat,例如:2K12.bat,要玩遊戲時,就點這個批次檔即可。

但仍有一個Bug,就是如果開啟遊戲的時間是在2359分30秒至59秒進入,程式是不會幫你換日的,這個還要用For迴圈擷取日期運算,我早就忘記相關的指令了,所以就算了吧。

arrow
arrow
    全站熱搜

    okplaymayday 發表在 痞客邦 留言(6) 人氣()