传奇版本

 找回密码
 立即注册
20顶赞多版本畅玩暮云计算服务器腾讯云特价机器翎风引擎论坛
奇速论坛欢迎您!点击金币投放广告点击金币投放广告点击金币投放广告
查看: 633|回复: 4

再次求助一下大佬们关于一个脚本自定义参数的问题

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:328
  • 打卡总奖励:3044

33

主题

284

回帖

317

积分

中级会员

Rank: 3Rank: 3

元宝
0
金币
325
发表于 2023-2-13 14:40:03 | 显示全部楼层 |阅读模式
本帖最后由 18868059623 于 2023-2-13 14:46 编辑

[@main]
你想买点什么呢?\\
<麻痹戒指/@购物(20,麻痹戒指)> <重生戒指/@购物(20,重生戒指)>\
<护体戒指/@购物(20,护体戒指)> <魔道麻痹/@购物(20,魔道麻痹戒)>\
[@购物]
#OR
CHECKSCRIPTPARAM 20,麻痹戒指
CHECKSCRIPTPARAM 20,护体戒指
CHECKSCRIPTPARAM 20,重生戒指
CHECKSCRIPTPARAM 20,魔道麻痹戒
#ELSEACT
SENDMSG 6 非法的参数
break

#IF
CHECKGAMEGOLD <$SCRIPTPARAM1>
#ACT
GAMEGOLD - <$SCRIPTPARAM1>
GIVE <$SCRIPTPARAM2> 1
#ELSESAY
对不起!你的元宝不够!

这个<$SCRIPTPARAM>我看文本上是脚本自定义输入参数,看他写的是<$SCRIPTPARAM1>代表你身上游戏币数量,而<$SCRIPTPARAM2>却能代表物品。。我看上面又没写<$SCRIPTPARAM2>这个能代表什么。。今天看了这么多脚本,就这个完全搞不清楚,还有一个脚本也是用到这个指令,但是他却能代表属性值,但是我全脚本看下来,没有看到的一个数字。难道他是从npc对话注明中血量+15读取数字的么。。
[@收集完成给予属性]

#IF
#ACT
MOV S$收集完成给属性参数1 <$SCRIPTPARAM1>
MOV S$收集完成给属性参数2 <$SCRIPTPARAM2>
MOV S$收集完成给属性参数3 <$SCRIPTPARAM3>
MOV S$收集完成给属性参数4 <$SCRIPTPARAM4>
MOV S$收集完成给属性参数5 <$SCRIPTPARAM5>

#IF
CHECK [<$STR(S$收集完成给属性参数1)>] 1
#ACT
MESSAGEBOX 未知的错误!
BREAK

#IF
#ACT
MOV N$本页收集完毕标识 1
MOV N$本页收集标识集合 <$STR(S$收集完成给属性参数1)>
DEC N$本页收集标识集合 1
LOOPGOTO @_@收集完成校验  <$STR(N$<$STR(S$收集完成给属性参数5)>装备数量)>

#IF
EQUAL N$本页收集完毕标识 0
#ACT
MESSAGEBOX 你还未收集完毕!
BREAK

#IF
EQUAL S$收集完成给属性参数2 血量
#ACT
CHANGEHUMABILITYEX 11 + <$STR(S$收集完成给属性参数3)>
截图2.png




回复

使用道具 举报

  • 打卡等级:传奇老炮
  • 打卡总天数:579
  • 打卡总奖励:19555

3

主题

102

回帖

149

积分

版主

Rank: 7Rank: 7Rank: 7

元宝
22
金币
18592

老瑟批群友勋章

发表于 2023-2-13 17:40:07 | 显示全部楼层
<麻痹戒指/@购物(20(<$SCRIPTPARAM1>),麻痹戒指(<$SCRIPTPARAM2>))> <重生戒指/@购物(20(<$SCRIPTPARAM1>),重生戒指(<$SCRIPTPARAM2>))>\
<护体戒指/@购物(20(<$SCRIPTPARAM1>),护体戒指(<$SCRIPTPARAM2>))> <魔道麻痹/@购物(20(<$SCRIPTPARAM1>),魔道麻痹戒(<$SCRIPTPARAM2>))>\



注意观察,<$SCRIPTPARAM1>,<$SCRIPTPARAM2>,<$SCRIPTPARAM3>,<$SCRIPTPARAM4>依次代表函数的各个参数,按顺序来的,


比如@函数名字(参数1,参数2,参数3),那么
<$SCRIPTPARAM1>=参数1,<$SCRIPTPARAM2>=参数2,<$SCRIPTPARAM3>=参数3
回复

使用道具 举报

  • 打卡等级:热心大叔
  • 打卡总天数:328
  • 打卡总奖励:3044

33

主题

284

回帖

317

积分

中级会员

Rank: 3Rank: 3

元宝
0
金币
325
 楼主| 发表于 2023-2-13 19:47:15 | 显示全部楼层
本帖最后由 18868059623 于 2023-2-13 19:48 编辑

大佬上面这个你解释我看懂了,但是下面这个脚本我还是没看懂。。。。
[@main]


#IF
#ACT
GOTO @主界面(普通,沃玛)

[@主界面]
#IF
#ACT
GOTO @_@判断界面(<$SCRIPTPARAM1>,<$SCRIPTPARAM2>)
#SAY
<$STR(S$界面级别)>\
<------------------------------------------------------------/SCOLOR=250>\
<$STR(S$界面类别)>\
<------------------------------------------------------------/SCOLOR=250>\
<$STR(S$装备收集展示)>\
<------------------------------------------------------------/SCOLOR=250>\
<$STR(S$收集完成加属性)>

[@_@判断界面]
#IF
#ACT
MOV S$界面级别
MOV S$界面类别
MOV S$装备收集展示
MOV S$收集完成加属性
MOV S$当前级别 <$SCRIPTPARAM1>
MOV S$当前类别 <$SCRIPTPARAM2>
MOV N$收集界面级别循环标识 600
TEXTSPLIT | 普通|优良|精致|完美|传说|神话 S600
LOOPGOTO @_@构造级别界面 6
clearVar S600 6

#IF
#ACT
MOV N$收集界面类别循环标识 600
TEXTSPLIT | 沃玛|祖玛|赤月|武器|服装 S600
LOOPGOTO @_@构造类别界面 5
clearVar S600 5

#IF
#ACT
MOV N$装备展示换行标识 0
MOV N$收集界面装备循环标识 600
TEXTSPLIT | <$STR(S$<$STR(S$当前类别)>装备列表)> S600
LOOPGOTO @_@构造装备界面 <$STR(N$<$STR(S$当前类别)>装备数量)>
clearVar S600 <$STR(N$<$STR(S$当前类别)>装备数量)>

#IF
CHECK [<$STR(N$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性标识)>] 1
#ACT
INC S$收集完成加属性 <本页已收集完成|70#本页已收集完成,<$STR(S$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性代码)>+<$STR(N$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性数值)>已生效!/SCOLOR=249>
#ELSEACT
INC S$收集完成加属性 <我已收集完成,请赐予我力量吧|70#本页收集完成奖励<$STR(S$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性代码)>+<$STR(N$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性数值)>/@收集完成给予属性(<$STR(N$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性标识)>,<$STR(S$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性代码)>,<$STR(N$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性数值)>,<$STR(S$当前级别)>,<$STR(S$当前类别)>)>


[@_@构造装备界面]

#IF
CHECK [<$STR(N$<$STR(S$当前级别)><$STR(S<$STR(N$收集界面装备循环标识)>)>收集标识)>] 1
#ACT
INC S$装备收集展示 <[<$STR(S$当前级别)><$STR(S<$STR(N$收集界面装备循环标识)>)>]/SCOLOR=249> 
#ELSEACT
INC S$装备收集展示 <[<$STR(S$当前级别)><$STR(S<$STR(N$收集界面装备循环标识)>)>]/@开始收集装备(<$STR(N$<$STR(S$当前级别)><$STR(S<$STR(N$收集界面装备循环标识)>)>收集标识)>,<$STR(S$当前级别)>,<$STR(S$当前类别)>,<$STR(S<$STR(N$收集界面装备循环标识)>)>)> 

#IF
EQUAL N$装备展示换行标识 3
#ACT
INC S$装备收集展示 \
MOV N$装备展示换行标识 0
#ELSEACT
INC N$装备展示换行标识 1

#IF
#ACT
INC N$收集界面装备循环标识 1

[@_@构造类别界面]
#IF
EQUAL S$当前类别 <$STR(S<$STR(N$收集界面类别循环标识)>)>
#ACT
INC S$界面类别 <[<$STR(S<$STR(N$收集界面类别循环标识)>)>类]/SCOLOR=249> 
#ELSEACT
INC S$界面类别 <[<$STR(S<$STR(N$收集界面类别循环标识)>)>类]/@主界面(<$STR(S$当前级别)>,<$STR(S<$STR(N$收集界面类别循环标识)>)>)> 

#IF
#ACT
INC N$收集界面类别循环标识 1

[@_@构造级别界面]
#IF
EQUAL S$当前级别 <$STR(S<$STR(N$收集界面级别循环标识)>)>
#ACT
INC S$界面级别 <[<$STR(S<$STR(N$收集界面级别循环标识)>)>级]/SCOLOR=249> 
#ELSEACT
INC S$界面级别 <[<$STR(S<$STR(N$收集界面级别循环标识)>)>级]|/@主界面(<$STR(S<$STR(N$收集界面级别循环标识)>)>,<$STR(S$当前类别)>)>   

#IF
#ACT
INC N$收集界面级别循环标识 1

[@开始收集装备]
#IF
EQUAL <$SCRIPTPARAM2> 普通
#ACT
MOV S$当前收集提交装备名 <$SCRIPTPARAM4>
#ELSEACT
MOV S$当前收集提交装备名 <$SCRIPTPARAM2><$SCRIPTPARAM4>

#IF
CHECKITEM <$STR(S$当前收集提交装备名)> 1
#ACT
TAKE <$STR(S$当前收集提交装备名)> 1
SET [<$SCRIPTPARAM1>] 1
SENDMSG 6 收集【<$SCRIPTPARAM2><$SCRIPTPARAM4>】成功!
GOTO @主界面(<$SCRIPTPARAM2>,<$SCRIPTPARAM3>)
#ELSEACT
MESSAGEBOX 你没有[<$SCRIPTPARAM4>]!

[@收集完成给予属性]

#IF
#ACT
MOV S$收集完成给属性参数1 <$SCRIPTPARAM1>
MOV S$收集完成给属性参数2 <$SCRIPTPARAM2>
MOV S$收集完成给属性参数3 <$SCRIPTPARAM3>
MOV S$收集完成给属性参数4 <$SCRIPTPARAM4>
MOV S$收集完成给属性参数5 <$SCRIPTPARAM5>

#IF
CHECK [<$STR(S$收集完成给属性参数1)>] 1
#ACT
MESSAGEBOX 未知的错误!
BREAK

#IF
#ACT
MOV N$本页收集完毕标识 1
MOV N$本页收集标识集合 <$STR(S$收集完成给属性参数1)>
DEC N$本页收集标识集合 1
LOOPGOTO @_@收集完成校验  <$STR(N$<$STR(S$收集完成给属性参数5)>装备数量)>

#IF
EQUAL N$本页收集完毕标识 0
#ACT
MESSAGEBOX 你还未收集完毕!
BREAK

#IF
EQUAL S$收集完成给属性参数2 血量
#ACT
CHANGEHUMABILITYEX 11 + <$STR(S$收集完成给属性参数3)>

#IF
EQUAL S$收集完成给属性参数2 防御
#ACT
CHANGEHUMABILITYEX 2 + <$STR(S$收集完成给属性参数3)>

#IF
EQUAL S$收集完成给属性参数2 主属性
#ACT
GETPLAYINFO Job N$玩家当前职业
CHANGEHUMABILITYEX <$STR(N$<$STR(N$玩家当前职业)>吃永久物品位置2)> + <$STR(S$收集完成给属性参数3)>

#IF
EQUAL S$收集完成给属性参数2 元宝
#ACT
GAMEGOLD + <$STR(S$收集完成给属性参数3)>

#IF
EQUAL S$收集完成给属性参数2 等级
#ACT
GOTO @_@收集加等级


#IF
#ACT
SET [<$STR(S$收集完成给属性参数1)>] 1
SENDMSG 0 <$USERNAME>已经收集【<$STR(S$收集完成给属性参数4)><$STR(S$收集完成给属性参数5)>】套装,奖励【<$STR(S$收集完成给属性参数2)>+<$STR(S$收集完成给属性参数3)>】
SENDMSG 0 <$USERNAME>已经收集【<$STR(S$收集完成给属性参数4)><$STR(S$收集完成给属性参数5)>】套装,奖励【<$STR(S$收集完成给属性参数2)>+<$STR(S$收集完成给属性参数3)>】
SENDMSG 0 <$USERNAME>已经收集【<$STR(S$收集完成给属性参数4)><$STR(S$收集完成给属性参数5)>】套装,奖励【<$STR(S$收集完成给属性参数2)>+<$STR(S$收集完成给属性参数3)>】
GOTO @主界面(<$STR(S$收集完成给属性参数4)>,<$STR(S$收集完成给属性参数5)>)


[@_@收集加等级]
#IF
CHECKLEVELEX > 47
CHECKLEVELEX < 50
#ACT
CHANGELEVEL + 1
#ELSEACT
MESSAGEBOX 你的等级未达到48!暂时储存,48以后小退即可升级!

[@_@收集完成校验]
#IF
CHECK [<$STR(N$本页收集标识集合)>] 0
#ACT
MOV N$本页收集完毕标识 0

#IF
#ACT
DEC N$本页收集标识集合 1
QQ截图20230213194811.png
回复

使用道具 举报

  • 打卡等级:热心大叔
  • 打卡总天数:114
  • 打卡总奖励:3348

3

主题

97

回帖

102

积分

版主

Rank: 7Rank: 7Rank: 7

元宝
1
金币
4985

老瑟批群友勋章

QQ
发表于 2023-2-14 14:22:56 | 显示全部楼层
这个脚本又不全.他还有2个变量从别的调用过来的
<$STR(S$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性代码)> + <$STR(N$<$STR(S$当前级别)><$STR(S$当前类别)>收集加属性数值)>
既传递的 <$SCRIPTPARAM1>和<$SCRIPTPARAM2>
意思是:<$STR(S$普通沃玛收集加属性代码)>+<$STR(S$普通沃玛收集加属性数值)>+

红瑟的字,会根据传递而改变,不同的变量.
-定制脚本-QQ270411387
回复

使用道具 举报

  • 打卡等级:热心大叔
  • 打卡总天数:328
  • 打卡总奖励:3044

33

主题

284

回帖

317

积分

中级会员

Rank: 3Rank: 3

元宝
0
金币
325
 楼主| 发表于 2023-2-14 16:37:04 | 显示全部楼层
442671 发表于 2023-2-14 14:22
这个脚本又不全.他还有2个变量从别的调用过来的
+
既传递的 和

红瑟的我看懂的确实是会因为条件改变,大佬,我看不懂的是他是如何血量+15的就是这个+15是怎么来的。。。我复制下来的是这个NPC完整脚本内容了,我也执行过是没问题的。还有2个变量从别的调用的么。。。额,这个没看出来,我再仔细研究下,谢谢大佬指点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

传奇新手专用服务器

Archiver|手机版|小黑屋|传奇版本 |网站地图

GMT+8, 2024-11-10 10:51 , Processed in 0.042769 second(s), 13 queries , Gzip On, Redis On.

Powered by lspm2 X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表