跳转至

视情况而定的选项

与前面的选项不同,其余选项的设置取决于你的具体情况。以下是每个选项的最佳配置方法:

用收集到的堆数据改进指针扫描(Improve pointerscan with gathered heap data)允许 Cheat Engine 使用堆分配记录来确定偏移量限制,通过清除许多误报来有效加速扫描。如果你遇到使用自定义内存分配器的游戏(这越来越常见),这个选项实际上可能适得其反。在初始扫描中可以保留这个设置,但当你找不到可靠路径时,它应该是最先被关闭的。

路径中只允许静态和堆地址(Only allow static and heap addresses in the path)使所有无法用堆数据优化的路径失效,让这种方法更激进。

每个节点的最大不同偏移量(Max different offsets per node)限制扫描器检查的同值指针数量。也就是说,如果有 n 个不同地址指向 0x0BADF00D,这个选项告诉 Cheat Engine 只考虑前 m 个地址。当你无法缩小结果集时,这会非常有用。在其他情况下,你可能想禁用它,因为它会错过许多有效路径。

允许将第一个线程的栈地址视为静态(Allow stack addresses of the first thread(s) to be handled as static)扫描游戏中最早 m 个线程的调用栈,考虑每个栈的前 n 个字节。这允许 Cheat Engine 扫描游戏调用链中函数的参数和局部变量(目标是找到游戏主循环使用的变量)。用这个选项找到的路径既可能高度易变,也可能极其有用;我只在找不到堆地址时才使用它。

仅将栈地址视为静态地址(Stack addresses as only static address)把上一个选项推得更远,只允许指针路径中出现栈地址。

指针必须以特定偏移量结尾(Pointers must end with specific offsets)如果你知道有效路径末尾的偏移量,这个选项很有用。它允许你指定这些偏移量(从最后一个偏移量开始),大幅缩小扫描范围。

扫描线程数(Nr of threads scanning)决定扫描器使用的线程数。等于处理器核心数的数值通常效果最好。下拉菜单允许你指定每个线程的优先级。「空闲」适合让扫描缓慢地进行,「普通」适合大多数扫描,「时间关键」适合长时间扫描,但会让你的电脑在扫描期间无法使用。

最大偏移量值(Maximum offset value)决定路径中每个偏移量的最大值。(还记得清单 1-1 中的 maxAdd 变量吗?)我通常从一个较小的值开始,只有在扫描失败时才增大它;128 是一个不错的起始值。请记住,如果你使用堆优化选项,这个值大多会被忽略。

 如果同时启用「路径中只允许静态和堆地址」和「仅将栈地址视为静态地址」,扫描会一无所获吗?这似乎是一个有趣但无用的实验。