我的近況

還可以。

名片與連絡方式 | 徵書清單 | 留言 | 副站(漫遊於未來與現代之間 )

        去年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迴圈擷取日期運算,我早就忘記相關的指令了,所以就算了吧。

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


留言列表 (6)

發表留言
  • Lin Chen
  • 你好 首先感謝你分享修改時間的bat
    但我下載後打開 雖然可以自動改時間直接進入遊戲 但遊戲關閉後時間無法改回來
    它會顯示"系統無法顯示輸入的日期 輸入新日期: (yy-mm-dd)"
    所以我就看了一下程式~~~

    發現date %nowdate% 這段好像不能這樣打.....
    因為我電腦nowdate所儲存的數值跟date要求輸入的數值不一樣 所以會出錯

    例:
    nowdate儲存的數值~>05/21/2014 星期三
    date要求輸入的數值~>2014-05-21

    兩者不一樣 date不能用nowdate代入來回復原本的日期
    "05/21/2014 星期三"必須轉換成"2014-05-21"才可以代入...

    自動改時間進入遊戲 結果最後又要手動改時間回來
    感覺有改等於沒改 還是好麻煩QQ'''
  • 我猜您的時間格式可能有特別改過,這樣的話,去3DM論壇有出1.2的更新免光碟,直接用會比較方便。如果沒有特別需求,把時間格式改回預設即可,到右下角的日期選擇「更變行事曆設定」。

    okplaymayday 於 2014/05/21 20:43 回覆

  •  Lin Chen
  • 1.2有破解?0.0
    我找到的都1.0的說@@

    話說你程式碼 我稍微改過就可以用了~~
  • 請參考以下網址的下面幾樓,我忘記在哪一樓抓到的了。
    http://bbs.3dmgame.com/thread-3851397-1-1.html

    但是之前有安裝一些畫面左右下方出現選手參數的優化檔,那些優化有部分是寫在2K12.exe檔上,所以改用免光碟後就無法正常顯示,如有這種情況還是只能用bat檔。

    okplaymayday 於 2014/05/21 21:10 回覆

  • Lin Chen
  • 阿 我知道了 灌謎版xp時 時間格式就被改過了 難怪最後不能套用...
    不過沒關係 程式碼改一下就好囉^^

  • 您也可以提供您的寫法,給那些有相同問題的人參考。

    okplaymayday 於 2014/05/21 21:11 回覆

  • Lin Chen
  • 恩恩
    首先我找了一下我nowdate存的是什麼~

    ECHO off
    set nowdate=%date%


    GOTO :Stop

    :Stop

    ECHO off
    echo %nowdate%

    pause

    發現是05/21/2014 星期三 和date應該要輸入的2014-05-21不一樣
    所以原程式就直接改"date %nowdate%"這一行
    改成"date %nowdate:~6,4%-%nowdate:~0,2%-%nowdate:~3,2%"就可以用了~

    其實是要看電腦所設定的時間格式 再去改所合適的程式碼~
  • Lin Chen
  • 總結:
    nowdate顯示2014/05/21
    原程式不用改

    nowdate顯示05/21/2014
    date %nowdate%改成date %nowdate:~6,4%-%nowdate:~0,2%-%nowdate:~3,2%即可~
【 X 關閉 】

【PIXNET 痞客邦】國外旅遊調查
您是我們挑選到的讀者!

填完問卷將有機會獲得心動好禮哦(注意:關閉此視窗將不再出現)

立即填寫取消