自写脚本免费分享-捡到更强的装备则向玩家提示

2020-12-15 11:02:33  阅读 189 次 评论 1 条

首先,效果如下:

优点:

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

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

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

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


目前没有发现Bug,如果有bug请在帖子里反馈,我会及时修改
脚本:

  1. [@PickUpItemEX]

  2. #act

  3. LINKPICKUPITEM

  4. mov p0 0

  5. GetItemFieldValue -1 needlevel p0

  6. GetItemFieldValue -1 need p1

  7. #if

  8. equal p1 0

  9. small <$Level> <$STR(P0)>

  10. #act

  11. break

  12. #elseact

  13. mov p0 0

  14. GetItemFieldValue -1 stdmode p0

  15. #if

  16. equal <$GENDER> 0

  17. equal <$STR(P0)> 10

  18. #act

  19. goto @捡物比较(0,<$Job>)

  20. #if

  21. equal <$GENDER> 1

  22. equal <$STR(P0)> 11

  23. #act

  24. goto @捡物比较(0,<$Job>)

  25. #or

  26. equal <$STR(P0)> 5

  27. equal <$STR(P0)> 6

  28. #act

  29. goto @捡物比较(1,<$Job>)

  30. #if

  31. equal <$STR(P0)> 30

  32. #act

  33. goto @捡物比较(2,<$Job>)

  34. #or

  35. equal <$STR(P0)> 19

  36. equal <$STR(P0)> 20

  37. equal <$STR(P0)> 21

  38. #act

  39. goto @捡物比较(3,<$Job>)

  40. #or

  41. equal <$STR(P0)> 15

  42. #act

  43. goto @捡物比较(4,<$Job>)

  44. #or

  45. equal <$STR(P0)> 24

  46. equal <$STR(P0)> 26

  47. #act

  48. goto @捡物比较(5,<$Job>)

  49. #or

  50. equal <$STR(P0)> 22

  51. equal <$STR(P0)> 23

  52. #act

  53. goto @捡物比较(7,<$Job>)

  54. #if

  55. equal <$STR(P0)> 25

  56. #act

  57. goto @捡物比较(9,<$Job>)

  58. #if

  59. equal <$STR(P0)> 64

  60. #act

  61. goto @捡物比较(10,<$Job>)

  62. #if

  63. equal <$STR(P0)> 62

  64. #act

  65. goto @捡物比较(11,<$Job>)

  66. #if

  67. equal <$STR(P0)> 63

  68. #act

  69. goto @捡物比较(12,<$Job>)

  70. [@捡物比较]

  71. #act

  72. mov p0 <$SCRIPTPARAM1>

  73. mov p1 <$SCRIPTPARAM2>

  74. #if

  75. equal p1 0

  76. #act

  77. mov s0 dc

  78. #if

  79. equal p1 1

  80. #act

  81. mov s0 mc

  82. #if

  83. equal p1 2

  84. #act

  85. mov s0 sc

  86. #if

  87. #act

  88. MOV p1 0

  89. mov p2 0

  90. GetItemFieldValue -1 h<$STR(S0)> p1

  91. GetItemFieldValue <$SCRIPTPARAM1> h<$STR(S0)> p2

  92. #if

  93. large p1 <$STR(P2)>

  94. #act

  95. goto @捡物对话框提示

  96. break

  97. #elseact

  98. GetItemFieldValue -1 1<$STR(S0)> p1

  99. GetItemFieldValue <$SCRIPTPARAM1> 1<$STR(S0)> p2

  100. #if

  101. large p1 <$STR(P2)>

  102. #act

  103. goto @捡物对话框提示

  104. break

  105. #or

  106. equal p0 5

  107. equal p0 7

  108. #act

  109. inc p0 1

  110. goto @捡物比较(<$STR(P0)>,<$Job>)

  111. [@捡物对话框提示]

  112. #act

  113. OPENMERCHANTBIGDLG 1 1590 0 3 -100 -250 1 380 3 0

  114. mov s1 无

  115. mov s2 无

  116. GetItemFieldValue -1 name_g s1

  117. GetUserItemName <$STR(P0)> S2

  118. GetItemFieldValue -1 idx p1

  119. clearLinkItem

  120. mov s0 <ItemShow:<$STR(P1)>:0:18:23:0:3>

  121. inc s0

  122. MOV S3 <ImgEx:1:1668:1669:1670:5:-25:/@捡物换装备(

  123. INC S3 <$STR(S1)>,<$STR(P0)>)>

  124. #say

  125. <$STR(S0)> \

  126.       恭喜你获得更强的装备[<$STR(S1)>]\

  127.       是否替换身上正在穿的[<$STR(S2)>]?\

  128.           是          否\

  129.        <$STR(S3)>    <ImgEx:1:1668:1669:1670:12:-25:/@EXIT>

  130. [@捡物换装备]

  131. #act

  132. close

  133. mov s0 <$SCRIPTPARAM1>

  134. mov p0 <$SCRIPTPARAM2>

  135. #if

  136. CheckItem <$STR(S0)> 1 0 1

  137. #act

  138. TakeOnItem <$STR(S0)> <$STR(p0)>

  139. #elseact

  140. sendmsg 5 你的背包里已没有此装备!

复制代码



20201215最新更新

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


[@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/952.html
版权声明:本文为原创文章,版权归 qweqwe1121 所有,欢迎分享本文,转载请保留出处!
  • 盟重
  • 发表评论


    表情

    评论列表

    1. 暗黑单职业传奇
      暗黑单职业传奇  @回复
      下载下来,学习下看看能不能搞到自己的传奇版本里面 face_02 face_22