LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 406|回复: 1

[wowbee] 请问怎么在自动吃喝的时候暂停释放所有技能?

[复制链接]
发表于 2022-12-21 19:30:24 | 显示全部楼层 |阅读模式
if  BeeStringFind("格拉库的肉松蛋糕",buff) or BeeStringFind("饮水",buff)or BeeStringFind("喝水",buff) or BeeStringFind("进食",buff) or BeeStringFind("急救",buff) then
    return
end
if BeeUnitHealth("player","%")<100 and not BeeUnitAffectingCombat("player")and not BeeStringFind("格拉库的肉松蛋糕",buff) then BeeRun("/use 永久蛋糕")
end
if BeeUnitMana("player","%")<100 and not BeeUnitAffectingCombat("player")  and not BeeStringFind("格拉库的肉松蛋糕",buff) then BeeRun("/use 永久蛋糕")
end

如题,角色吃喝时候放其他技能从而没有吃喝。该怎么优化?

回复

使用道具 举报

发表于 2025-8-10 19:53:54 | 显示全部楼层
[Lua] 纯文本查看 复制代码
-- 自动吃喝脚本(基于buff判断的精准版本)
-- 核心逻辑:通过物品使用后产生的buff来控制,有对应buff时不重复使用

-- ==============================================
-- 配置参数(根据实际物品和buff名称调整)
-- ==============================================
local CONFIG = {
    FOOD_ITEM = "蜜饯鹿肉",       -- 回血物品名称
    DRINK_ITEM = "薄荷蜜茶",      -- 回蓝物品名称
    HEALTH_THRESHOLD = 95,        -- 生命值低于此值才考虑使用食物(%)
    MANA_THRESHOLD = 95,          -- 法力值低于此值才考虑使用饮料(%)
    FOOD_BUFF_KEYWORDS = {"进食", "食物", "蜜饯"},  -- 食物buff包含的关键词
    DRINK_BUFF_KEYWORDS = {"饮水", "喝水", "薄荷", "蜜茶"}  -- 饮料buff包含的关键词
}

-- ==============================================
-- 辅助函数
-- ==============================================

-- 检查玩家是否有指定类型的buff(通过关键词匹配)
local function hasRelatedBuff(keywords, buffList)
    for _, keyword in ipairs(keywords) do
        if BeeStringFind(keyword, buffList) then
            return true
        end
    end
    return false
end

-- ==============================================
-- 主逻辑
-- ==============================================

-- 获取玩家当前状态
local playerBuffs = BeeUnitBuffList("player")
local currentHealth = BeeUnitHealth("player", "%") or 0
local currentMana = BeeUnitMana("player", "%") or 0
local inCombat = BeeUnitAffectingCombat("player")

-- 战斗中直接中断(战斗状态下不吃喝)
if inCombat then
    return
end



-- ==============================================
-- 食物使用逻辑(回血)
-- ==============================================
if currentHealth < CONFIG.HEALTH_THRESHOLD then
    -- 没有食物相关buff且不在战斗中,才使用食物
    if not hasFoodBuff then
        BeeRun("/use " .. CONFIG.FOOD_ITEM)
        return
    end
end

-- ==============================================
-- 饮料使用逻辑(回蓝)
-- ==============================================
if currentMana < CONFIG.MANA_THRESHOLD then
    -- 没有饮料相关buff且不在战斗中,才使用饮料
    if not hasDrinkBuff then
        BeeRun("/use " .. CONFIG.DRINK_ITEM)
        return
    end
end

-- 检查是否有进食/饮水相关buff
local hasFoodBuff = hasRelatedBuff(CONFIG.FOOD_BUFF_KEYWORDS, playerBuffs)
local hasDrinkBuff = hasRelatedBuff(CONFIG.DRINK_BUFF_KEYWORDS, playerBuffs)
local hasFirstAidBuff = BeeStringFind("急救", playerBuffs)

-- 有急救buff时中断(避免与吃喝冲突)
if hasFirstAidBuff then
    return
end
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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

GMT+8, 2025-11-8 07:25 AM , Processed in 0.017583 second(s), 17 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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