我制作了一个角色文件,我的游戏从中提取数据和变量。看起来像这样:
playerName= Marche
playerRace= Elf
playerHP= 100
playerSPD= 200
playerATK= 120
playerDEF= 70
最终幻想参考任何人...?无论如何,当角色升级时,我需要一个批处理脚本来找到字符串“playerHP=100”。playerHP在脚本中设置为变量。基本上,它会占用当前的生命值,并将其乘以 120%,从而增加数量。如何回显该数学的结果以替换当前数字?
例如,如果这没有任何意义,我有 100 生命值。我升级了,因此我的生命值增加了 120%,所以现在我有 120 点生命值。我想找到字符串“playerHP = 100”并将其替换为“playerHP = 120”。
如果可以避免,我不想下载任何其他命令(我已经看过 sed 几次)。非常感谢
编辑:我没有搜索字符串并替换,而是接受了 jeb 的建议,只是删除了文件并重新回显了所有数据。它最终看起来像这样:
set /a LeveledUpPlayerHP=(%ppHP%* 12) / (10)
set /a LeveledUpPlayerSPD=(%ppSPD%* 12) / (10)
set /a LeveledUpPlayerATK=(%ppATK%* 12) / (10)
set /a LeveledUpPlayerDEF=(%ppDEF%* 12) / (10)
echo Updating stats...
del "C:\Users\%USERNAME%\Desktop\CMDRPG\player\playerData.dll
ping 1.1.1.1 -n 1 -w 500 > nul
echo playerName= %playerName%>playerData.dll
echo playerRace= %playerRace%>>playerData.dll
echo playerHP= %LeveledUpPlayerHP%>>playerData.dll
echo playerSPD= %LeveledUpPlayerSPD%>>playerData.dll
echo playerATK= %LeveledUpPlayerATK%>>playerData.dll
echo playerDEF= %LeveledUpPlayerDEF%>>playerData.dll
playerName 和 playerRace 都在这部分代码之前加载。Ping 仅用作等待功能,让文件在回显新数据之前删除。似乎工作正常。谢谢大家