很多人都怕自己做的地图被人加了HKE[严重影响rpg类地图] 下面我来叫你们简单的方法反HKE作弊 方法1:被添加了HKE之后无法初始化 这个方法很简单有效[高手想改,你还是无奈] 主要原理: 用初始化组数时的loop,来浪费多余的初始化函数的执行时间,让main处于超时的边缘。如果被加入了HKE的初始化内容,那main就超时了。 需要准备的东西: HKE添加器[后面测试的时候会用到] 你的地图备份[最好地图已经完成,要不然等你完成后又要重新测试] 以下是用一张标准对战图((4)LostTemple.w3x,就是冰封王座版的LT)来做例子,的步骤: 1、新建2个组数变量,比如整数,每个的大小是8192。假设这里是 A[8192],B[8192] 2、测试地图,结果发现超时,导致无法初始化。(原因是在初始化那两个组数的时候,把执行时间耗完了) 3、把其中一个组数的长度改小点(比如把B的长度改为8150)进游戏。 4、依然超时,再改。改了很多次后,找到一个大概的值,让地图刚好能初始化完。对于LT,让A的长度是8192,让B的长度是8000就可以刚好让初始化完成。 5、尝试给改好的地图注入HKE。然后地图肯定不能运行,否则再执行第三步…… 关键点: 1、对于自己的地图,要测试出需要浪费的执行时间。对于LT,初始化两个总长度是8192 + 8000的组数,就可以完成所有空余执行时间的浪费。如果是本身初始化内容非常多的RPG地图,那会少一点,比如两个8192 + 7000的组数初始化就已经把main的执行时间浪费的差不多了。[也就是说一开始预设的内容越多B的数值就越小(因为需要留出时间来读取) 2、反复测试,确保测出的值一定要让自己的初始化够完成,但又不要让HKE+自己的初始化完成。[也就是说留的时间不要太长,否则HKE也会初始化完成] 方法二: 判断触发器数量 因为HKE作弊会在地图里添加触发器,所以触发器数量如果可以判断出来那么就可以有效地防止HKE的添加。 之前我就想用这个方法,但是在判断触发器数量的时候卡壳了。[使用整数可以判断触发器队列,而设置队列很麻烦,而且和没用一样(我用的是[老狼UI])](如果有人可以解决联系我一下) 方法三: 让地图注入了HKE之后会出现同样的变量 HKE会在地图内注入变量,只要你在地图内设置一个同名的即可。[这个很多人都知道,就不多说了] 重大误区: 为什么我设置了同名变量还不好使? 我们没有办法抵抗道高一尺,魔高一丈的作弊。 比如你写了一个名为hke_Z01的触发器,但是还是抵抗不了HKE,因为WE会把这个变量变成以gg_xxxx开头的变量。 [反正这个方法基本没用] 方法四: 防止HKE被触发 这个可以有效阻止上上左下作弊器,思路就是让你永远也按不出正确的上上左下。 触发器: 事件- 键盘事件[检测玩家按了↑] 条件-无 动作- 强制玩家按UI键。[强制触发玩家按Down(这样他就变成↑↓↑↓←↓,就不可以正确的触发HKE的开启了)] 下面附有HKE作弊器 因为我的学识尚浅,目前只知道这些,如果火星了...... 我没有把内容设成隐藏的,但是我恨够了看帖不回者。 [attach]184773[/attach] |