传奇扩展NPC脚本:带参数触发与ESPCHECKSCRIPTPARAM命令详解

来源: 作者: 点击:

在传奇游戏的扩展脚本中,我们引入了一种新的功能,允许NPC脚本在执行特定动作时接收并处理参数。这不仅增强了脚本的灵活性,还引入了ESPCHECKSCRIPTPARAM命令,用于验证参数的合法性,防止非法操作。以下是关于这个新功能的详细说明。

功能介绍:

NPC标签与参数支持:

新增标签格式<测试/@测试(参数1参数2参数3...)>,括号内的内容可以包含10个参数,用逗号分隔。
<测试1/@测试(200030004000麻痹戒指5678910)>等示例展示了如何使用参数。
ESPCHECKSCRIPTPARAM命令:

新增命令ESPCHECKSCRIPTPARAM参数1,用于检测传入的参数是否正确。
例如:ESPCHECKSCRIPTPARAM200030004000麻痹戒指5678910,用于验证合成系统中的参数。
变量定义:

$ESPSCRIPTPARAM1至$ESPSCRIPTPARAM10是与传入参数一一对应的变量,用于后续操作。
<$ESPSCRIPTPARAM1>在标签后将显示参数1的值,如1000。
示例应用:

合成系统脚本:
<合成麻痹戒指/@合成(参数1参数2参数3...)>标签,配合ESPCHECKSCRIPTPARAM检查参数。
如果参数合法,执行合成操作并显示成功信息。
参数验证与操作:

在合成系统中,检查游戏资源(如元宝、金刚石、灵符等)是否满足参数要求,然后进行相应的减法和物品转移操作。

使用#if和#else条件判断,确保只有在参数满足条件时才执行合成操作,否则显示失败信息。 

扩展NPC脚本前往触发带参数
新增NPC标签跳转支持参数:<测试/@测试(12345678910)>

功能说明:
@测试(12345678910)括号里面的代表参数,可以支持10个参数,以泻号隔开

新增命令:ESPCHECKSCRIPTPARAM参数1
功能说明:用于检测参数是否正常,防止非法封包刷数据,参数1是标签中括号里面的内容

新增变量:<$ESPSCRIPTPARAM1>--<$ESPSCRIPTPARAM10>
功能说明:
@测试(12345678910)括号里面的内容分别对应<$ESPSCRIPTPARAM1>--<$ESPSCRIPTPARAM10>
在前往标签后:<$ESPSCRIPTPARAM1>变量内容为1,<$ESPSCRIPTPARAM2>变量为2,以此类推<$ESPSCRIPTPARAM10>变量为10,支持中文

例:
<测试1/@测试(200030004000麻痹戒指5678910)>\
<测试2/@测试(200030004000复活戒指5678910)>\
<测试3/@测试(200030004000护身戒指5678910)>\

[@测试]
#or
ESPCHECKSCRIPTPARAM200030004000麻痹戒指5678910
ESPCHECKSCRIPTPARAM200030004000复活戒指5678910
ESPCHECKSCRIPTPARAM200030004000护身戒指5678910
#act
sendmsg6<$ESPSCRIPTPARAM1>-<$ESPSCRIPTPARAM2>-<$ESPSCRIPTPARAM3>-<$ESPSCRIPTPARAM4>-<$ESPSCRIPTPARAM5>-<$ESPSCRIPTPARAM6>-<$ESPSCRIPTPARAM7>-<$ESPSCRIPTPARAM8>-<$ESPSCRIPTPARAM9>-<$ESPSCRIPTPARAM10>
break
#elseact
sendmsg6非法的参数

例:
[@main]
合成系统:\\
<合成麻痹戒指/@合成(100020003000圣战戒指麻痹戒指)>\\
<合成复活戒指/@合成(100020003000天尊戒指复活戒指)>\\
<合成护身戒指/@合成(100020003000天尊戒指护身戒指)>

[@合成]
#or
;检查参数是否这几组,防止有可能被刷数据
ESPCHECKSCRIPTPARAM100020003000圣战戒指麻痹戒指
ESPCHECKSCRIPTPARAM100020003000天尊戒指复活戒指
ESPCHECKSCRIPTPARAM100020003000天尊戒指护身戒指
#ELSEACT
;有人用抓包工具刷数据并跳过了检测
sendmsg6非法的参数
break

#if
CHECKGAMEGOLD><$ESPSCRIPTPARAM1>
CHECKGAMEDIAMOND><$ESPSCRIPTPARAM2>
CHECKGAMEGIRD><$ESPSCRIPTPARAM3>
checkitem<$ESPSCRIPTPARAM4>2
#act
Gamegold-<$ESPSCRIPTPARAM1>
GAMEDIAMOND-<$ESPSCRIPTPARAM2>
GAMEGIRD-<$ESPSCRIPTPARAM3>
take<$ESPSCRIPTPARAM4>2
Give<$ESPSCRIPTPARAM5>1
sendmsg6恭喜合成<$ESPSCRIPTPARAM5>成功。
break
#elsesay
合成<$ESPSCRIPTPARAM5>失败。\
合成<$ESPSCRIPTPARAM5>需要:\
元宝:[<$ESPSCRIPTPARAM1>],金刚石:[<$ESPSCRIPTPARAM2>],灵符:[<$ESPSCRIPTPARAM3>],[<$ESPSCRIPTPARAM4>]:2个。

[顶部]