V8/GEE传奇脚本免费分享-捡到更强的装备则向玩家提示

2022-12-27 17:03:15  阅读 50 次 评论 2 条

首先,效果如下:

优点:

使用了热血传奇官方十周年自带ui,安全健康绿色环保(ui_n.wzl)
具有装备位置判断,是武器就比较捡起的武器和正在使用的武器
具有职业判断,比如角色是法师,就比较捡起的装备和地上的装备两者的魔法攻击力
具有等级判断,如果等级太高则不弹出提示框
具有性别判断(衣服),比如男角色捡起女衣服时不会弹出

建议有一定脚本基础的人根据以下提示使用脚本:
将此脚本安装于QF中,作为捡取事件[@PickUpItemEX]中的一部分
演示图片中对话框里的图片素材需要自己调整,不会的话请自行搜索或请教他人
演示图片中的对话框,位置是可调的,只需找到OPENMERCHANTBIGDLG语句,修改它的第五第六个参数(是X,Y的微调参数)
脚本中使用了变量P0P1P2S0S1S2等,其实是很不建议这么做的;请在文本编辑器内使用ctrl+h,把每个变量替换成你想用的变量(建议自定义变量,比如n$捡起并比较0,S$捡起并比较0等

请注意和其他脚本冲突的情况.比如这个脚本放在拾取鉴定脚本之后继续执行才比较合适

扩展须知:
此脚本只认装备的攻击力魔法力和精神力值(先看最大值再看最小值),如果想加入其他属性的比较(比如防御)…就自个看着办吧
此脚本只认等级大小的判断,如果想加入其他判断,比如职业&等级那种…还是自个看着办吧,但比上一个简单

以上功能是可以做到的,但脚本技术上和逻辑上稍微有些难度,,萌新可能搞不定

[@PickUpItemEX]
#act
LINKPICKUPITEM
mov p0 0
GetItemFieldValue -1 needlevel p0
GetItemFieldValue -1 need p1
#if
equal p1 0
small <$Level> <$STR(P0)>
#act
break
#elseact
mov p0 0
GetItemFieldValue -1 stdmode p0
#if
equal <$GENDER> 0
equal <$STR(P0)> 10
#act
goto @捡物比较(0,<$Job>)
#if
equal <$GENDER> 1
equal <$STR(P0)> 11
#act
goto @捡物比较(0,<$Job>)
#or
equal <$STR(P0)> 5
equal <$STR(P0)> 6
#act
goto @捡物比较(1,<$Job>)
#if
equal <$STR(P0)> 30
#act
goto @捡物比较(2,<$Job>)
#or
equal <$STR(P0)> 19
equal <$STR(P0)> 20
equal <$STR(P0)> 21
#act
goto @捡物比较(3,<$Job>)
#or
equal <$STR(P0)> 15
#act
goto @捡物比较(4,<$Job>)
#or
equal <$STR(P0)> 24
equal <$STR(P0)> 26
#act
goto @捡物比较(5,<$Job>)
#or
equal <$STR(P0)> 22
equal <$STR(P0)> 23
#act
goto @捡物比较(7,<$Job>)
#if
equal <$STR(P0)> 25
#act
goto @捡物比较(9,<$Job>)
#if
equal <$STR(P0)> 64
#act
goto @捡物比较(10,<$Job>)
#if
equal <$STR(P0)> 62
#act
goto @捡物比较(11,<$Job>)
#if
equal <$STR(P0)> 63
#act
goto @捡物比较(12,<$Job>)
[@捡物比较]
#act
mov p0 <$SCRIPTPARAM1>
mov p1 <$SCRIPTPARAM2>
#if
equal p1 0
#act
mov s0 dc
#if
equal p1 1
#act
mov s0 mc
#if
equal p1 2
#act
mov s0 sc
#if
#act
MOV p1 0
mov p2 0
GetItemFieldValue -1 h<$STR(S0)> p1
GetItemFieldValue <$SCRIPTPARAM1> h<$STR(S0)> p2
#if
large p1 <$STR(P2)>
#act
goto @捡物对话框提示
break
#elseact
GetItemFieldValue -1 1<$STR(S0)> p1
GetItemFieldValue <$SCRIPTPARAM1> 1<$STR(S0)> p2
#if
large p1 <$STR(P2)>
#act
goto @捡物对话框提示
break
#or
equal p0 5
equal p0 7
#act
inc p0 1
goto @捡物比较(<$STR(P0)>,<$Job>)
[@捡物对话框提示]
#act
OPENMERCHANTBIGDLG 1 1590 0 3 -100 -250 1 380 3 0
mov s1 无
mov s2 无
GetItemFieldValue -1 name_g s1
GetUserItemName <$STR(P0)> S2
GetItemFieldValue -1 idx p1
clearLinkItem
mov s0 <ItemShow:<$STR(P1)>:0:18:23:0:3>
inc s0
MOV S3 <ImgEx:1:1668:1669:1670:5:-25:/@捡物换装备(
INC S3 <$STR(S1)>,<$STR(P0)>)>
#say
<$STR(S0)> \
      恭喜你获得更强的装备[<$STR(S1)>]\
      是否替换身上正在穿的[<$STR(S2)>]?\
          是          否\
       <$STR(S3)>    <ImgEx:1:1668:1669:1670:12:-25:/@EXIT>
[@捡物换装备]
#act
close
mov s0 <$SCRIPTPARAM1>
mov p0 <$SCRIPTPARAM2>
#if
CheckItem <$STR(S0)> 1 0 1
#act
TakeOnItem <$STR(S0)> <$STR(p0)>
#elseact
sendmsg 5 你的背包里已没有此装备!


20221215最新更新

优化了脚本(减少变量的占用,和解除一了不必要的装备绑定状态)
因为好多人都在给我赞,所以我受到了鼓励!
然后就花了很多精力来优化它

[@PickUpItemEX]
#act
LINKPICKUPITEM 
mov p0 0
GetItemFieldValue -1 needlevel p0
GetItemFieldValue -1 need p1
#if
equal p1 0
small <$Level> <$STR(P0)>
#act
updateitem -1
clearLinkItem
break
#elseact
mov p0 0
GetItemFieldValue -1 stdmode p0
#if
equal <$GENDER> 0
equal <$STR(P0)> 10
#act
goto @捡物比较(0)
break
#if
equal <$GENDER> 1
equal <$STR(P0)> 11
#act
goto @捡物比较(0)
break
#or
equal <$STR(P0)> 5
equal <$STR(P0)> 6
#act
goto @捡物比较(1)
break
#if
equal <$STR(P0)> 30
#act
goto @捡物比较(2)
break
#or
equal <$STR(P0)> 19
equal <$STR(P0)> 20
equal <$STR(P0)> 21
#act
goto @捡物比较(3)
break
#or
equal <$STR(P0)> 15
#act
goto @捡物比较(4)
break
#or
equal <$STR(P0)> 24
equal <$STR(P0)> 26
#act
goto @捡物比较(5)
break
#or
equal <$STR(P0)> 22
equal <$STR(P0)> 23
#act
goto @捡物比较(7)
break
#if
equal <$STR(P0)> 25
#act
goto @捡物比较(9)
break
#if
equal <$STR(P0)> 64
#act
goto @捡物比较(10)
break
#if
equal <$STR(P0)> 62
#act
goto @捡物比较(11)
break
#if
equal <$STR(P0)> 63
#act
goto @捡物比较(12)
break
[@捡物比较]
#act
mov p0 <$SCRIPTPARAM1>
#if
equal <$Job> 0
#act
mov s0 dc
#if
equal <$Job> 1
#act
mov s0 mc
#if
equal <$Job> 2
#act
mov s0 sc
#if
#act
MOV p1 0
mov p2 0
GetItemFieldValue -1 h<$STR(S0)> p1
GetItemFieldValue <$SCRIPTPARAM1> h<$STR(S0)> p2
#if
large p1 <$STR(P2)>
#act
goto @捡物对话框提示
break
#elseact
GetItemFieldValue -1 1<$STR(S0)> p3
inc p1 <$STR(p3)>
GetItemFieldValue <$SCRIPTPARAM1> 1<$STR(S0)> p3
inc p2 <$STR(p3)>
#if
large p1 <$STR(P2)>
#act
goto @捡物对话框提示
break
#or
equal p0 5
equal p0 7
#act
inc p0 1
goto @捡物比较(<$STR(P0)>)
#elseact
updateitem -1
clearLinkItem
[@捡物对话框提示]
#act
OPENMERCHANTBIGDLG 1 1590 0 3 -100 -250 1 380 3 0
mov s1 无
mov s2 无
GetItemFieldValue -1 name_g s1
GetUserItemName <$STR(P0)> S2
GetItemFieldValue -1 idx p1
updateitem -1
clearLinkItem
mov s0 <ItemShow:<$STR(P1)>:0:18:23:0:3>
inc s0 
MOV S3 <ImgEx:1:1668:1669:1670:5:-25:/@捡物换装备(
INC S3 <$STR(S1)>,<$STR(P0)>)>
#say
<$STR(S0)> \
      恭喜你获得新装备[<$STR(S1)>]\
      是否替换身上的[<$STR(S2)>]?\
          是          否\
       <$STR(S3)>    <ImgEx:1:1668:1669:1670:12:-25:/@EXIT>
[@捡物换装备]
#act
close
mov s0 <$SCRIPTPARAM1>
mov p0 <$SCRIPTPARAM2>
#if
CheckItem <$STR(S0)> 1 0 1
#act
TakeOnItem <$STR(S0)> <$STR(p0)>
#elseact
sendmsg 5 你的背包里已没有此装备!


本文地址:http://www.uc845.com/post/1444.html
版权声明:本文为原创文章,版权归 游戏开发者 所有,欢迎分享本文,转载请保留出处!
  • 盟重
  • 您需要 登录账户 后才能发表评论

    发表评论


    表情

    评论列表

    1. 爱上猫的耗子²⁰²¹
      爱上猫的耗子²⁰²¹  @回复
      感谢感谢 ~~~~拿走了!
    2. 暗黑单职业传奇
      暗黑单职业传奇  @回复
      下载下来,学习下看看能不能搞到自己的传奇版本里面 face_02 face_22