《植物大战僵尸杂交版》闪退问题解决方法 闪退怎么解决


3楼猫 发布时间:2024-06-03 21:40:56 作者:Long战魂 Language

在游玩《植物大战僵尸杂交版》时,许多小伙伴遇到了闪退问题,那么这个问题应该怎么解决呢?下面是由“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

《植物大战僵尸杂交版》闪退问题解决方法 闪退怎么解决 - 第1张

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

《植物大战僵尸杂交版》闪退问题解决方法 闪退怎么解决 - 第2张

7、将start.bat和backup_pvz_data.bat放到pvz的安装根目录中

《植物大战僵尸杂交版》闪退问题解决方法 闪退怎么解决 - 第3张

8、修改桌面的pvz的快捷方式,将启动路径指向start.bat

《植物大战僵尸杂交版》闪退问题解决方法 闪退怎么解决 - 第4张

9、修改桌面的pvz的快捷方式,将图标指向pvz的安装根目录的logo.ico

《植物大战僵尸杂交版》闪退问题解决方法 闪退怎么解决 - 第5张

《植物大战僵尸杂交版》闪退问题解决方法 闪退怎么解决 - 第6张

这样,游戏闪退之后,直接重新启动就自动恢复数据了。


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com