求助一个语句!有没魔峰高手帮个忙 !
有偿求助奖励!!!我攻击的目标,如果“免疫”了则执行 下一个语句”!例如我是战士攻击的怪物 转换到了 机械类的则不能上 撕裂,第一次打撕裂显示免疫,然后跳过撕裂执行下一个语句,“”不再执行撕裂”,其他语句正常执行!再有就是在打本 过程中普通怪物可以上断筋,到了BOSS 或者精英类不受控制之类 的怪物,打一次断筋发现免疫则跳过不再执行断筋,其他的语句正常执行该如何写!当然简单点“目标免疫”,“目标无效”的 语句是什么?小白求大神指点!再有就是目标已经眩晕了不在执行嘲讽! 你的需求需要事件实现
但更简单的做法是直接用官方库方法提前判断目标种族 UnitCreatureType("unit") - Returns the classification type of creature of the specified unit (e.g., "Beast").
这个好像是可以返回目标类型你试试 我没用过
and not BeeStringFind(UnitCreatureType("target"),"机械")
撕裂那加一句。。 一般这种小概率的。。最好就手动了 直接用官方库方法提前判断目标种族{:5_158:} 魔鬼筋肉人 发表于 2024-12-26 12:07 AM
直接用官方库方法提前判断目标种族
新人菜鸟。就像问问这个库要在哪里找。不然很多东西都搞不懂 魔鬼筋肉人 发表于 2024-12-26 12:07 AM
直接用官方库方法提前判断目标种族
同问官方库在哪找啊?{:6_195:} local function CastSpellIfNotImmune(spellName, target)
local _, _, _, _, _, _, _, _, spellID = GetSpellInfo(spellName)
if IsSpellBlocked(spellID, target) then
return false -- 目标免疫,不执行技能
else
CastSpellByName(spellName, target)
return true -- 技能成功施放
end
end
while true do
-- 检查目标是否在攻击范围内
local inRange = IsSpellInRange("攻击技能", "target")
if not inRange then
AttackStop()
return
end
-- 尝试施放撕裂,如果目标免疫则跳过
if not CastSpellIfNotImmune("撕裂", "target") then
-- 目标免疫撕裂,跳过
else
-- 撕裂成功施放
end
-- 尝试施放断筋,如果是Boss或免疫则跳过
if UnitIsBoss("target") or not CastSpellIfNotImmune("断筋", "target") then
-- 目标是Boss或免疫断筋,跳过
else
-- 断筋成功施放
end
-- 其他攻击技能
-- ...
AttackStop() -- 停止自动攻击,防止重复攻击
return
end
页:
[1]
2