lsm05042211 发表于 2024-4-28 11:27:37

DK双持三把刀自动换刀遇到同名刀如何调用的问题

本帖最后由 lsm05042211 于 2024-4-28 11:33 AM 编辑

-- 检查目标身上的'冰霜易伤'Debuff层数和持续时间,并在战斗中更换副手武器
local function CheckFrostVulnerabilityAndEquipOffHand()
    local frostVulnerabilityStacks = BeeUnitBuffCount("冰霜易伤", "target")
    local frostVulnerabilityTime = BeeUnitBuffTime("冰霜易伤", "target")

    if frostVulnerabilityStacks >= 5 then
      if frostVulnerabilityTime > 5 then
            -- 当“冰霜易伤”持续时间大于5秒时,尝试更换副手为疯狂之吻(附魔狂暴)
            BeeRun("/equipslot 17 疯狂之吻")
      elseif frostVulnerabilityTime <= 5 then
            -- 当“冰霜易伤”持续时间小于或等于5秒时,尝试更换副手为疯狂之吻(冰锋)
            BeeRun( "/equipslot 17 疯狂之吻")
      end
    end
end

-- 主函数,整合上述逻辑
local function Main()
    -- ...(其他脚本逻辑)...
    CheckFrostVulnerabilityAndEquipOffHand()
end

-- 启动脚本
Main()
由于本服的堕落十字军和狂暴附魔是无内置CD,随机触发的,所以考虑将冰锋的武器换下来,监控冰霜易伤的时间,上述脚本是由AI写的,实测可用需要作以下修改附魔冰锋和狂暴的武器名称最好不是同一个,这样脚本可以运行,即在上述脚本中将一把“疯狂之吻”换成其他武器冰对应附魔。

存在的问题:如果附魔冰锋和狂暴的武器名称是同一个,上述脚本中“疯狂之吻”就是同一把武器,分别附魔了狂暴和冰锋,如何解决调用的问题,请大神大佬们指导。


lsm05042211 发表于 2024-4-28 13:57:11

{:5_236:}{:5_236:}{:5_236:}{:5_236:}{:5_236:}{:5_236:}{:5_236:}
自己顶起来,分享和学习,感谢大佬们

notveryimba 发表于 2024-4-28 16:43:25

大概是要用到遍历背包+物品链接,就是Hitem那一串东西,你去查一下GetItemInfo和ItemLink相关的API吧

lsm05042211 发表于 2024-4-28 17:48:08

notveryimba 发表于 2024-4-28 04:43 PM
大概是要用到遍历背包+物品链接,就是Hitem那一串东西,你去查一下GetItemInfo和ItemLink相关的API吧

感谢大佬回复,然而我并不是特别懂

lbabey 发表于 2024-4-30 18:59:25

尝试用自带的换装,别直接换武器{:5_243:}

懒动行不行 发表于 2024-4-30 23:42:46

用UseContainerItem(bag,slot)
bag是背包的编号
slot是背包槽的编号

QQ_CAFE57 发表于 2024-5-2 18:23:58

PickupInventoryItem(17)EquipCursorItem(16)
拿起副手装备到主手
页: [1]
查看完整版本: DK双持三把刀自动换刀遇到同名刀如何调用的问题