pvzclass icon indicating copy to clipboard operation
pvzclass copied to clipboard

关卡事件无法准确地监听

Open FxmlesXD opened this issue 3 years ago • 4 comments

除了LevelLeave、LevelWave这两个关卡监听事件有效,LevelOpen、LevelStart事件无法准确监听,只有第一次打开关卡,或退出关卡重新进入才可以监听到,在关卡内重启开始无法监听到,请问如何修复?

FxmlesXD avatar Feb 26 '21 03:02 FxmlesXD

在关卡内重启开始的确做不到 因为LevelOpen与LevelStart事件是以pvz->BaseAddress变为非NULL值后触发的 目前没有发现在关卡内重启开始会导致什么值变化 如果您有余力的话可以尝试去寻找相应的值 毕竟PvzClass是位于PVZ之外的 只能靠其内部状态的一些改变来判断触发了什么

theflysong avatar Feb 27 '21 13:02 theflysong

在关卡内重启开始的确做不到 因为LevelOpen与LevelStart事件是以pvz->BaseAddress变为非NULL值后触发的 目前没有发现在关卡内重启开始会导致什么值变化 如果您有余力的话可以尝试去寻找相应的值 毕竟PvzClass是位于PVZ之外的 只能靠其内部状态的一些改变来判断触发了什么

那么能不能在每次在关卡外打开关卡后吧address的值记录到另一个变量中,然后循环检测006a9ec0+768的值,如果6a9ec0+768的值和刚才存的变量不相等,address=6a9ec0+768的值,且判断为LevelOpen

FxmlesXD avatar Feb 28 '21 10:02 FxmlesXD

也许可以 你可以尝试一下 如果可以 你可以试着交一个pr

theflysong avatar Mar 06 '21 17:03 theflysong

如果不使用hook,仅靠内存数据很难准确监听事件

63enjoy avatar Jul 23 '21 13:07 63enjoy