传奇版本

 找回密码
 立即注册
20顶赞多版本畅玩暮云计算服务器腾讯云特价机器翎风引擎论坛
点击金币投放广告点击金币投放广告点击金币投放广告点击金币投放广告
查看: 650|回复: 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
金币
18628

老瑟批群友勋章

发表于 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-12-4 01:16 , Processed in 0.044136 second(s), 15 queries , Gzip On, Redis On.

Powered by lspm2 X3.4

© 2001-2023 Discuz! Team.

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