在遊玩《植物大戰殭屍雜交版》時,許多小夥伴遇到了閃退問題,那麼這個問題應該怎麼解決呢?下面是由“Long戰魂”為大家帶來的《植物大戰殭屍雜交版》閃退問題解決方法,希望可以幫助到大家。
雜交版v2.0.88(什麼版本無關,如果問題一樣就行)
遊戲閃退,數據丟失,關卡白打
寫bat腳本,自動定時備份數據即可,並且自動恢復數據,不用再下載其他工具
因為閃退的時候,會在PVZ的安裝根目錄在生成crash.txt文件,這是個關鍵點
可以在crash.txt文件存在時,才恢復數據,這樣可以減少定時期間的數據差
PVZ的數據默認存儲位置在:
C:\ProgramData\PopCap Games\PlantsVsZombies\pvzHE\yourdata
可能不同電腦,前面的名稱會不同,根據具體的路徑,修改代碼中的路徑即可
每30秒,將yourdata目錄中的所有文件複製備份到同目錄的yourdata_bak目錄中
根據個人需要,可以修改定時的時間,不建議修改的太少,30秒可以了
在啟動的時候,如果發現PVZ的安裝根目錄有crash.txt文件,那麼刪除該文件,並且將yourdata_bak目錄中的所有文件,複製到yourdata中覆蓋,這樣就實現了數據恢復
1、新建一個txt文件,名為start,即start.txt
2、將以下代碼複製到start.txt裡面,然後保存
@echo off
setlocal enabledelayedexpansion
REM 設置UTF-8編碼,防止下面的中文字符顯示亂碼
chcp 65001 >nul
REM 定義要修改的註冊表路徑和鍵值
set regPath=HKEY_CURRENT_USER\Software\PopCap\PlantsVsZombies
set regKey=ScreenMode
set regValue=0
REM 定義備份腳本的名稱和路徑
set backupScriptName=backup_pvz_data.bat
set backupScriptPath=%~dp0%backupScriptName%
REM 定義崩潰文件的名稱和路徑
set crashFileName=crash.txt
set crashFilePath=%~dp0%crashFileName%
REM 設置源目錄和備份目錄,這個路徑可能會有不同,根據實際修改
set "sourceDir=C:\ProgramData\PopCap Games\PlantsVsZombies\pvzHE\yourdata"
set "backupDir=C:\ProgramData\PopCap Games\PlantsVsZombies\pvzHE\yourdata_bak"
REM 檢查崩潰文件是否存在,如果存在則刪除,並且將備份文件複製到源數據目錄
if exist "%crashFilePath%" (
del "%crashFilePath%"
if exist "%backupDir%" (
xcopy /s /y "%backupDir%" "%sourceDir%" >nul 2>&1
)
)
REM 修改PVZ註冊表
reg add "%regPath%" /v "%regKey%" /t REG_DWORD /d %regValue% /f
REM 如果上面的命令成功執行,則啟動pvzHE-Launcher.exe
if %errorlevel% equ 0 (
REM 假設pvzHE-Launcher.exe與這個.bat文件在同一個目錄下
start "" "%~dp0pvzHE-Launcher.exe"
wmic path win32_process where "name='cmd.exe'" get CommandLine | findstr /I /C:"%backupScriptPath%" >nul
if !errorlevel! neq 0 (
REM 如果沒有找到備份進程,則啟動新的 backup_pvz_data.bat 進程
start "backup_pvz_data" /min "%backupScriptPath%"
)
) else (
echo 修改PVZ註冊表失敗,錯誤代碼:%errorlevel%
pause
)
endlocal
exit /b
3、然後修改後綴為bat,即得到start.bat
4、新建一個txt文件,名為backup_pvz_data,即backup_pvz_data.txt
5、將以下代碼複製到backup_pvz_data.txt裡面,然後保存
@echo off
setlocal
REM 設置源目錄和備份目錄,這個路徑可能會有不同,根據實際修改
set "sourceDir=C:\ProgramData\PopCap Games\PlantsVsZombies\pvzHE\yourdata"
set "backupDir=C:\ProgramData\PopCap Games\PlantsVsZombies\pvzHE\yourdata_bak"
REM 設置UTF-8編碼,防止下面的中文字符顯示亂碼
chcp 65001 >nul
echo 正在自動備份PVZ數據,默認每30秒備份一次,關閉本命令窗口後即停止備份(Backing up PVZ data)...
REM 等待5秒,確保遊戲已經運行
timeout /t 5 >nul
REM loop backup
:loop
REM 檢查 PlantsVsZombies.exe 是否已在運行,不運行則退出
tasklist /fi "imagename eq PlantsVsZombies.exe" | findstr /i "PlantsVsZombies.exe" >nul 2>&1
if %errorlevel% neq 0 (
exit
)
REM 確保備份目錄存在,如果不存在則創建
if not exist "%backupDir%" mkdir "%backupDir%"
REM 執行備份,使用xcopy命令,並直接覆蓋已存在的文件
xcopy /s /y "%sourceDir%" "%backupDir%" >nul 2>&1
if %errorlevel% neq 0 (
echo 備份失敗,請檢查源目錄和備份目錄是否存在,是否具有讀寫權限
pause
exit
)
timeout /t 30 /nobreak >nul
REM 返回循環繼續備份
goto loop
6、然後修改後綴為bat,即得到backup_pvz_data.bat
7、將start.bat和backup_pvz_data.bat放到pvz的安裝根目錄中
8、修改桌面的pvz的快捷方式,將啟動路徑指向start.bat
9、修改桌面的pvz的快捷方式,將圖標指向pvz的安裝根目錄的logo.ico
這樣,遊戲閃退之後,直接重新啟動就自動恢復數據了。