请问怎么在自动吃喝的时候暂停释放所有技能?
ifBeeStringFind("格拉库的肉松蛋糕",buff) or BeeStringFind("饮水",buff)or BeeStringFind("喝水",buff) or BeeStringFind("进食",buff) or BeeStringFind("急救",buff) thenreturn
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
如题,角色吃喝时候放其他技能从而没有吃喝。该怎么优化?
-- 自动吃喝脚本(基于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
页:
[1]