【CE实战-Raft】物品栏数量地址定位
▒ 目录 ▒
- 🛫 导读
- 基础教程
- 需求
- 开发环境
- 1️⃣ 单个物品栏物品个数
- 思路
- 步骤
- 验证
- 2️⃣ 所有的物品栏物品个数
- 思路
- 步骤
- 验证
- 🛬 文章小结
- 📖 参考资料
🛫 导读
基础教程
- 【CE】Mac下的CE教程Tutorial:基础篇(1-4关)https://blog.csdn.net/kinghzking/article/details/129776334
- 【CE】技巧和注意事项(持续更新) https://blog.csdn.net/kinghzking/article/details/129791107
需求
模仿某辅助,制作同款辅助。
功能列表(
不一定按照这个功能做,主要讲解辅助的整个制作流程
)
- Ctrl+Z 上帝模式
- Ctrl+X 无限饥饿
- Ctrl+C 无限饥渴
- Ctrl+V 无限疲劳
- Ctrl+B 无限标枪距离
- Ctrl+N 物品回复时间0
- Ctrl+M +100拾取
- Ctrl+A 简单击杀鲨鱼
- Ctrl+S 物品漂流更迅速
使用说明:
- 1、运行游戏
- 2、运行修改器
- 3、使用热键
开发环境
版本号 | 描述 | |
---|---|---|
文章日期 | 2023-03- | |
操作系统 | Win11 - 21H2 - 22000.1335 | |
Cheat Engine | 7.4 | |
Raft | 下载地址 |
1️⃣ 单个物品栏物品个数
CE基础操作请参考导读中的
基础教程
思路
- 物品栏,假设每个都有一个数量的变量。
- 移动物品栏数量会变化。
- 假定数据类型为4字节、单浮点、双浮点,使用
所有类型
进行搜索。
步骤
- 如下操作,执行首次扫描。
- 再次扫描
- 移动物品栏中物品,使第2个物品栏中物品数量产生
变化
(变为1)- CE搜索数值变为1
- 点击《再次扫描》按钮,对数值进行删选
- 重复第2部操作,直到数值减少到1个(
移除物品个数为0
)。
验证
- 将
木板
移入物品栏2中,修改地址21214950
的值为1000。- 将
木板
移动到物品栏4中,即可查看到物品个数已经变为1000了。(第1步其实已经修改成功了,只是游戏未主动刷新页面,第2步只是触发刷新了)。
2️⃣ 所有的物品栏物品个数
思路
像物品栏这样固定个数的
对象
,游戏编程中很多都是用数组进行存储的。
- 我们按照第二步,找到第三个物品栏的数量的地址
addr3
。
- 然后两个
物品数量的地址
相减(addr3 - addr2
),即可得到物品栏中单个物品的元素大小sizeOfItem
。
- 最后,我们根据
sizeOfItem
和addr2
就可以算出物品栏所有物品的数量地址了。
步骤
- 按照《单个物品栏物品个数》找到第三个物品的地址
addr3=212148F0
(第二个物品地址为addr2=0x21214950
)。
- 计算单个物品的元素大小
sizeOfItem
为0x212148F0 - 0x21214950 = -96
,十六进制就是-0x60
。
- 计算第一个地址,
addr1 = addr2 - sizeOfItem
,得到地址为0x212149b0
- 点击《手动添加地址》,增加物品栏1的地址。
验证
- 按照上文中《单个物品栏物品个数》的验证方式,将物品栏1的物品改为999,如下图所示:
- 增加其它物品栏的地址,并验证。如物品栏4的地址为
addr4 = addr3 + sizeOfItem
,即0x0x21214890
ps: 至此,所有的物品地址都都可以一个个算出来了。虽然单个物品的元素大小
sizeOfItem
是负数,有点奇怪,但是通过验证,的确是正确的,也就是说物品栏中物品是倒叙存储的。
🛬 文章小结
- 使用
所有类型
进行搜索,可以减少整体的搜索次数。- 像物品栏这样固定个数的
对象
,游戏编程中很多都是用数组
进行存储的。找到两个地址,就可以计算出数组中其他地址了。
📖 参考资料
- 【CE】Mac下的CE教程Tutorial:基础篇(1-4关)https://blog.csdn.net/kinghzking/article/details/129776334
- 【CE】技巧和注意事项(持续更新) https://blog.csdn.net/kinghzking/article/details/129791107
- CE嗨:从入门到精通辅助教程 https://www.bilibili.com/video/BV1tZ4y1H7EA?p=1
**ps:**文章中内容仅用于技术交流,请勿用于违规违法行为。