在传奇游戏服务器架设过程中,确保游戏安全性和稳定性至关重要。以下是一种有效的方法,用于防止玩家通过点击NPC触发非法字段,从而避免封包调用标签漏洞。

防止客户端非法跳转的脚本标签使用

为了防止客户端通过修改封包数据非法跳转到特定的脚本标签,可以在这些标签前加上特定的前缀 @ESP-。这样做可以禁止插件允许其他方式跳转到加前缀的标签。

例如,原本的脚本标签如下:

<点我给物品/@给物品>

Copy

可以修改为:

[@给物品]

#act

call @ESP-设置

Copy

在 @ESP-设置 标签中,即使玩家尝试通过修改封包数据来跳转,插件也不会允许这样的行为。

引擎内部触发字段的保护

在传奇引擎中,大部分触发字段都不允许玩家通过NPC触发,例如死亡触发 @PlayDie,物品触发 @StdModeFunc,套装触发 @GroupItemOn、@GroupItemOff,魔法触发 @MagTagFunc,以及穿脱装备触发 @TakeOn、@TakeOff 等。

以下是一个示例,说明如何保护这些内部触发字段:

[@PlayDie]

<下一页/@下一页>

[@下一页]

<返回/@PlayDie>

; 注意:这里的 “@PlayDie” 是引擎内部触发字段,不允许玩家通过NPC前往触发。

; 任何以 “@PlayDie” 开头的字段,如 “@PlayDie1”、“@PlayDie2”、“@PlayDie死亡” 等都将被禁止。

; 如果需要使用NPC前往触发,可以进行如下修改,使用 `goto` 进行跳转。

[@PlayDie]

<下一页/@下一页>

[@下一页]

<返回/@返回>

[@返回]

#ACT

goto @PlayDie

Copy

其他触发字段的保护

除了上述提到的触发字段,还有其他一些触发字段也需要进行类似的保护。例如:

DelayCall 5000 @再次复活

SendCenterMsg 180 251 还剩余%d发放新手给予. 0 30 @GiveNewHumanItem

Copy

在这里,@再次复活 和 @GiveNewHumanItem 也会变成引擎内部触发,不允许玩家通过NPC前往触发。

防客户端非法跳转脚本标签,GOGO、DELAYGOTO等不允许的脚本标签前缀可加 @ESP-

如:

<点我给物品/@给物品>\ \

[@给物品]

#act

call @ESP-设置

[@ESP-设置]

;加了前缀 @ESP-,插件就不会允许其他通过修改封包数据跳转到此标签,其他标签都可以这么使用,但是文字排版不能使用前缀

下面以一个死亡触发为例,不仅仅是死亡触发,引擎的大部分触发都不允许玩家前往NPC触发,

例如:物品触发[@StdModeFunc],套装触发[@GroupItemOn] [@GroupItemOff],魔法触发[@MagTagFunc],穿脱装备触发[@TakeOn] [@TakeOff]等等,就不一一举例了。

[@PlayDie]

<下一页/@下一页>

[@下一页]

<返回/@PlayDie>

;<返回/@PlayDie> 新引擎这里“@PlayDie”是引擎内部触发字段,禁止用户通过NPC前往来触发这个字段

;不仅仅“@PlayDie”不允许“@PlayDie1、 @PlayDie2、 @PlayDie死亡”等等都不允许,只有前面的字符和“@PlayDie”一样的后面不管增加什么字符都将不允许

;如果非要使用玩家前往NPC触发的,可以把上面的脚本改成如下,使用goto转一下

[@PlayDie]

<下一页/@下一页>

[@下一页]

<返回/@返回>

[@返回]

#ACT

goto @PlayDie

还有其他一些触发,也属于这类的,比如:

DelayCall 5000 @再次复活

SendCenterMsg 180 251 还剩余%d发放新手给予. 0 30 @GiveNewHumanItem

“@再次复活”和“@GiveNewHumanItem”就会变成引擎内部触发,也是不允许用使用NPC前往来触发的

还有一些其他脚本命令带字段触发的,就不一一举例了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。