阿月 发表于 2024-4-14 09:30:34

求助一个语句!有没魔峰高手帮个忙 !

有偿求助奖励!!!我攻击的目标,如果“免疫”了则执行 下一个语句”!例如我是战士攻击的怪物 转换到了 机械类的则不能上 撕裂,第一次打撕裂显示免疫,然后跳过撕裂执行下一个语句,“”不再执行撕裂”,其他语句正常执行!再有就是在打本 过程中普通怪物可以上断筋,到了BOSS 或者精英类不受控制之类 的怪物,打一次断筋发现免疫则跳过不再执行断筋,其他的语句正常执行该如何写!当然简单点“目标免疫”,“目标无效”的 语句是什么?小白求大神指点!

阿月 发表于 2024-4-14 09:37:21

再有就是目标已经眩晕了不在执行嘲讽!

vshrd 发表于 2024-4-14 09:40:21

你的需求需要事件实现
但更简单的做法是直接用官方库方法提前判断目标种族

电动男朋友 发表于 2024-4-14 10:03:21

UnitCreatureType("unit") - Returns the classification type of creature of the specified unit (e.g., "Beast").
这个好像是可以返回目标类型你试试 我没用过

bornkiller 发表于 2024-4-15 00:06:17

and not BeeStringFind(UnitCreatureType("target"),"机械")
撕裂那加一句。。

fuqianmeng 发表于 2024-4-16 17:33:19

一般这种小概率的。。最好就手动了

魔鬼筋肉人 发表于 2024-12-26 00:07:48

直接用官方库方法提前判断目标种族{:5_158:}

末代 发表于 2024-12-26 10:03:35

魔鬼筋肉人 发表于 2024-12-26 12:07 AM
直接用官方库方法提前判断目标种族

新人菜鸟。就像问问这个库要在哪里找。不然很多东西都搞不懂

genius20001127 发表于 2025-1-3 00:09:40

魔鬼筋肉人 发表于 2024-12-26 12:07 AM
直接用官方库方法提前判断目标种族

同问官方库在哪找啊?{:6_195:}

2050115 发表于 2025-5-24 19:35:59

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
查看完整版本: 求助一个语句!有没魔峰高手帮个忙 !