西伯利亚的忠犬 发表于 2023-7-28 02:31:06

脚本封挂的一个实现思路

   对于大部分白嫖GM来说,封挂主要是依靠G63网关或者翎风发布的免费网关。但我个人对网关进行了一些实际应用之后发现,有的时候似乎不是那么准确,最麻烦的一点在于,你开启检测容易误伤网络波动大的玩家,但不开启又会让挂逼逍遥法外。



      之前在翎风群里讨论过之后,有位兄弟提出了一个不错的想法,我觉得这个方式是可行的,于是就把这个想法给实现了,但我本人没有实际测试过,只能说逻辑上行得通,但具体还是看情况。

思路:
       根据客户端的攻速设置来进行计算,算出人物每10秒能出多少刀,每隔10秒钟赋值,将允许出刀的数量重置,攻击触发时刀数-1,为0时则将伤害清零,无法造成任何伤害,直到下次定时器重新赋值出刀数量。
             这样做的好处在于,就算玩家网络波动大也不会实际造成影响,就算玩家开挂了,也不会对游戏有什么实质性的伤害。比如我设置的他10秒内最多砍20刀,普通玩家刚好10秒砍完,而开挂玩家3秒砍完,但剩下的7秒,他也无法对敌方造成任何伤害了。

脚本示例如下:

通用触发段.txt:


[@_@获取人物允许攻击次数]
#IF
#ACT
MUL N$防加速人物攻速加成 <$ATTACKSPEED> 5
MOV N$防加速人物实际攻速间隔 1100
DEC N$防加速人物实际攻速间隔 <$STR(N$防加速人物攻速加成)>
DIV N$防加速允许人物10秒攻击次数 10000 <$STR(N$防加速人物实际攻速间隔)>
INC N$防加速允许人物10秒攻击次数 1   ;这里加1次是留给定时器的容错率
SendCenterMsg 180 70 你获得了{[<$STR(N$防加速允许人物10秒攻击次数)>]|253}次攻击次数! 0 2

;这个算式对应本人M2的速度设置



QM:
[@LOGIN]
#IF
#ACT
SETONTIMER 1 10
#CALL [通用触发段.txt] @_@获取人物允许攻击次数    ;定时器要10秒后生效,所以登录时先计算一次


[@ONTIMER4]
#CALL [通用触发段.txt] @_@获取人物允许攻击次数


QF:
[@Attack]

#IF
LARGE N$防加速允许人物10秒攻击次数 0
#ACT
DEC N$防加速允许人物10秒攻击次数 1

#IF
SMALL N$防加速允许人物10秒攻击次数 1
#ACT
SendCenterMsg 180 70 你的攻击次数已耗尽,请等待刷新! 0 2
BREAK

;写在ATTACK的最前面,防止切割脚本生效


[@ATTACKDAMAGE]
#IF
SMALL N$防加速允许人物10秒攻击次数 1
#ACT
SendCenterMsg 180 70 你的攻击次数已耗尽,请等待刷新! 0 2
ChangeDamageValue 1 - 100   ;伤害清零
BREAK

至尊宝 发表于 2023-7-28 02:37:49

感谢分享,,我先占沙发

回旋之叶 发表于 2023-7-28 06:06:07

各种Aoe类型如何区分?

haom2 发表于 2023-7-28 10:20:46

非常好的思路   吴老黑已经用了几天了!

h1217 发表于 2023-7-28 10:47:48

{:3_46:}很好的思路,细节完善一下感觉完全可行

lfzyh 发表于 2023-7-28 18:26:09

开挂后PK砍3秒就跑,过7秒再来砍3秒;P

d5533141 发表于 2023-7-28 19:14:17

只能用于单职业战士版本,而且不能隔位刺杀,开天、逐日打到多目标,不然直接叠加次数,感觉改为使用技能前计数才会准确,群体技能也能使用了。

传奇客家 发表于 2023-7-28 20:06:11

很厉害~!!!

西伯利亚的忠犬 发表于 2023-7-28 20:08:25

d5533141 发表于 2023-7-28 19:14
只能用于单职业战士版本,而且不能隔位刺杀,开天、逐日打到多目标,不然直接叠加次数,感觉改为使用技能前 ...

施法前也做了,没丢出来而已,就是个思路,细节还是需要自己想哈{:2_33:}

天天传奇丶 发表于 2023-7-29 08:05:10

不错的思路,狗哥还是狗哥啊。
页: [1] 2 3 4
查看完整版本: 脚本封挂的一个实现思路