思路旅程
01:bee开着,骑鸟在天上飞着飞着,很容易被拍buff掉下来,比如小力量、圣印啥的。容易摔死,所以我就想找是否在坐骑上的判断命令,但是我只有《魔蜂中文函数手册(第四版)》这个资料,找来找去看到只能用buff字符串判断,但是不同的鸟,不同的服的坐骑不一样,很难判断。后来问了AI,用IsMounted("player")函数判断。
于是我在所有战斗脚本前加了如下代码:
[Lua] 纯文本查看 复制代码 --骑行和没进战斗,以下都不执行
if IsMounted("player") or not BeeUnitAffectingCombat("player") then
return
end
02:飞行中会自己加buff摔死的问题解决了,但是飞的时候,下马的时候切光环,很难受,于是我就写了如下代码
[Lua] 纯文本查看 复制代码 --骑行切光环 后面不执行
--局部参数赋值角色的buff字符串
local Tbl = BeeUnitBuffList("player")
if not BeeStringFind("十字军光环" , Tbl) and IsMounted("player") and not BeeUnitAffectingCombat("player") then
BeeRun("十字军光环")
return
end
--不骑行换回当前天赋光环,均用最终天赋点判断
local rank1, maxRank1 = BeeTalentInfo("神圣风暴")
local rank2, maxRank2 = BeeTalentInfo("正义之锤")
if rank1 and not IsMounted("player") then
BeeRun("惩戒光环")
return
end
if rank2 and not IsMounted("player") then
BeeRun("虔诚光环")
return
end
实际运行下来,上面代码不执行,后来问AI检查以上代码俩问题:一是第2、3个判断如果执行,会一直执行,陷入循环;二是BeeTalentInfo("神圣风暴")命令具体返回参数,可能和我的《魔蜂中文函数手册(第四版)》资料写的不一致,导致没法执行(这个我也是没弄明白)。
后来AI建议换BeeSpellIsLearned("技能名称")来代替BeeTalentInfo("天赋名称"),我换了还是不好使。
再后来,我想到,可以用技能冷却时间BeeSpellCoolDown("神圣风暴")来判断啊,并且已有代码已经证实可以执行。
然后就成功了。
03:整个思路如下:
1、获取角色buff名称,将字符串赋值局部变量。
2、判断:如果 在马上 且 没开十字军光环 且 没进战斗,则开十字军光环,跳出脚本;否则执行下面命令;
3、判断:如果没骑马 且 没开惩戒光环 且 神圣暴技能cd冷却时间是0 ,则开惩戒光环,跳出脚本;否则执行下面命令。
4、判断:如果没骑马 且 没开虔诚光环 且 正义之锤技能cd冷却时间是0 ,则开虔诚光环,跳出脚本;否则执行下面命令。
04:思路见03,可参考的代码见02,请自己写,如果懒省劲,见附件,伸手费10。
05:个人问题,请路过版主或好心人帮忙回答下
一、《魔蜂中文函数手册(第四版)》里面的函数说明,好像并不是完全正确的,我到哪里获得正确的函数库?插件文件web里面自己一个个看和理解,太难了。
二、IsMounted,这种函数上哪里查找?我觉得,除了魔蜂的函数,wow自带的函数应该更为庞大。
|