LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 443|回复: 0

[寻求帮助] 求资深1.12(插件/宏)达人帮忙完善,附魔一键分解~

[复制链接]
发表于 2022-3-17 09:35:30 | 显示全部楼层 |阅读模式
本帖最后由 squall 于 2022-3-17 09:53 AM 编辑

/施放 分解
/script for j=1,16 do PickupContainerItem(0,j); end
这条宏是在问了好久 有人告诉我的.后来我自己改成了/script for j=1,16 do for i=1,4 do PickupContainerItem(i,j); end end
但现在的问题是这两条宏在执行的时候都会遇到不能分解的物品就会卡住,然后我就又上网找,最终找到两个应该可以作为参考的案例(但不知道案例用的宏是不是支持1.12,但逻辑应该没问题)两个案例如下:
/cast 分解
/use 0 1
/脚本 P=PickupContainerItem for i=1,110 do q=GetContainerItemLink(i/23,i%23)if q then b={GetItemInfo(q)}if b[3]==2 and(b[6]=="护甲"or b[6]=="武器")then P(i/23,i%23)P(0,1)break end end end

这个案例里面就加入了物品类别的判断~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
目标:把前4个包的灵魂碎片全放到最后一个包内
/script
  bag=0 cw=1 sc=1   --定义好变量,bag是包的编号,cw表示查找包的槽位,sc指向最后一个包内的槽位
  for bag=0,3,1 do --从0号包开始,到3号包结束,最后一个包不搜索。
  for cw=1,16,1 do   --这里假设所有的包都是16个槽位的,如果没那么多槽位的包也可以用。
  if GetContainerItemLink(bag,cw)~=nil --判断这个槽位是否是空的,是空就直接跳到下一个槽位
    then
    if string.find(GetContainerItemInfo(bag,cw),"Gem") --判断这个槽位里是否是灵魂碎片
    then
      while string.find(GetContainerItemInfo(4,sc),"Gem") do sc=sc+1 end
            --判断最后一个包里原来是否已经有灵魂碎片,有的话就指向包的下一个槽位
      PickupContainerItem(bag,cw)
      PickupContainerItem(4,sc)
      PickupContainerItem(bag,cw)     --这3句控制灵魂碎片和最后一个包内物品的交换
      sc=sc+1   --每放置好一个碎片后把最后一个包的槽位指针指向下一个槽位
    end --(then end)
  end --(then end)
  end --(for end)
  end   --(for end 循环结束)
这个案例里面我看有个检索的循环,判断,然后跳到下一个槽位~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
自己瞎拼了一个但是一点用没有就不写出来了
所以请教1.12(插件/宏)达人,能不能帮忙搞一个分解宏,实现能够一键分解,在遇到不能分解的物品时,跳过~继续下一个槽位~
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2024-4-29 05:07 PM , Processed in 0.033567 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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