3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 8835|回复: 6
打印 上一主题 下一主题

[分享] 找了半天找到的游戏弹药修改方法

[复制链接]

46

主题

1166

帖子

1513

积分

游戏狂人

Rank: 6Rank: 6

贡献度
58
金元
12808
积分
1513
精华
0
注册时间
2011-6-22
跳转到指定楼层
主题
发表于 2017-5-28 15:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用CE6.4以上版本,类型选择为array of byte,搜索这个字串:44 29 79 04 45 38 AE C8 07 00 00
找到以后,在地址上右键,disassemble this memory region,出来一个新窗口都是代码,选中的一行是
SteelDivision.exe+1474EF7 - 44 29 79 04           - sub [rcx+04],r15d

双击这行代码,在弹出的框里,把开头的命令sub改成add,其他部分保留不变。
进游戏试试是不是弹药只会增加不会减少了(敌我都有效)


顺便分享一下弹药的存储方式,供其它有兴趣修改的同学
游戏显示的武器弹药有5个地址,用4byte可以搜到,都是假的。其中有一个地址是源。
源地址的数值是以实际的倍数存在的,倍数大小根据武器类型不同。比如小兵的步枪是3倍,那么界面上显示的是80/80,搜到的五个地址都是240。
真实的游戏弹药量,是按照带弹量+弹夹内的子弹数量存储的,步枪弹夹是10,那么弹药实际上是70+10两个地址存储。
但是存储的时候又耍了手段,乘以了倍数5。所以真实的(只有一份内存地址)是350+50,每开一枪弹夹-5,弹夹为零时,会开始reload(界面可以看到)
以上代码,是修改的弹夹每次射击时-5的那一行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-25 12:06 , Processed in 0.025086 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表