gengxxx 发表于 2014-9-7 02:28:51

根据法术id来判断是否执行一系列动作

有个同学问了我一个问题, 不知道其他人是否用的到,发出来大家研究研究
他的要求是,根据自身buff,或者debuff 的法术id, 如果符合事先设定好的列表,则执行一系列操作。
譬如说,自己身上有定身类的debuff,就怎么怎么样,身上有昏迷类的debuff,就怎么怎么样。代码如下

local buffs, i = { }, 1
local buff = select(11,UnitBuff("player",i))   --这里是增益buff,,如有需要,可以换成 UnitDebuff
Library_Lock = "9734,16673,109773"            --事先设定好的buff 列表
while buff do                                                 --开始进入循环判断自己buff
    buffs[#buffs + 1] = buff                           --把所有buff加入 buffs 数组
    CollectionBuff=format(buffs)                  --把数值类的数据转化为字符串类型, BeeStringFind函数必须要字符串类型的数据才能查找
    if BeeStringFind(CollectionBuff,Library_Lock) then                  
      print("找到事先设定的buff id了")         -- 这一行可以换成你想执行的命令
    end
   
    i = i + 1
    buff = select(11,UnitBuff("player",i))
   
end



以上思路,供大家参考,希望有人用的

正视自我 发表于 2014-9-7 10:13:22

这个太棒了

God_Envy 发表于 2014-9-7 13:06:01

{:5_235:}膜拜大神

轩荩 发表于 2014-9-10 11:33:26

select 里有个11这个参数是啥意思

玄月无尘 发表于 2014-9-10 15:02:24

轩荩 发表于 2014-9-10 11:33
select 里有个11这个参数是啥意思

返回数组里第11个字段,也就是法术ID

末代 发表于 2024-11-10 10:42:53

新人前来学习,但是还不是太明白
页: [1]
查看完整版本: 根据法术id来判断是否执行一系列动作