2014-02-23 07:56| 查看: 7487 |作者: 小雪+陈雨
关于其他技能整合 除了一键输出,宏可以用来解决键位问题,主要用于辅助技能整理,两个门派技能键位整合。 /script N=GetClientPlayer() /script P=N.nAccumulateValue /script function use(id) A,B,C=N.GetSkillCDProgress(id,N.GetSkillLevel(id)) if C==0 then OnUseSkill(id,N.GetSkillLevel(id)) end end /script K=N.GetKungfuMount().dwSkillID /script if K==10080 or K==10081 then use(544) end /script if K==10014 and P>0 then use(303) end 第一二三四行为封装,不多解释。 第五行,如果内功为冰心或者云裳,则使用技能帝骖龙翔 第六行,如果内功为紫霞功(俗称气纯)以及气大于半格,则使用三才化生。 嗯,这是一个比较简单的不同门派内功绑定同一个键位的,由于这两种都是同一类型的技能,所以归类在一起。 内功的ID如下: 10002 洗髓经 10003 易筋经 10014 紫霞功 10015 太虚剑意 10021 花间游 10026 傲血战意 10028 离经易道 10062 铁牢律 10080 云裳心经 10081 冰心诀 10144 问水决 10145 山居剑意 判断其他内功的将那个数字替换就可以了,例如剑纯跟气纯的气场其实可以整合在一起。例如碎星辰+冲阴阳为一组等等,请自行组合。 喊话宏 /script for i=1,1 do GetClientPlayer().Talk(PLAYER_TALK_CHANNEL.NEARBY, "密语对象", {{type = "text", text = "请输入内容"}}) end; 简单明了,作用于循环喊话。 前面的for i=1,1 是喊话一次, for i=1,2 是喊话2次 另外一个比较简化的是一个封装,可以用作判断。 /script N=GetClientPlayer() /script function say() N.Talk(PLAYER_TALK_CHANNEL.NEARBY,"密语对象",{{type="text",text ="请输入内容"}}) end; 其他频道喊话只需要把NEARBY更换掉就好了(全部为大写): NEARBY 近聊 SENCE 地图 WORLD 世界 TEAM 队伍 RAID 团队 BATTLE 战场 TONG 帮会 SCHOOL 门派 CAMP 阵营 FRIENDS 好友 附带一个上马下马不同喊话的喊话宏: /script N=GetClientPlayer() /script function say1() N.Talk(PLAYER_TALK_CHANNEL.NEARBY,"",{{type="text",text ="我有一头小毛驴,但我从来也不骑"}}) end /script function say2() N.Talk(PLAYER_TALK_CHANNEL.NEARBY,"",{{type="text",text ="小毛驴累了"}}) end; /script function buff(mb,id,lvl) for _, D in pairs(mb.GetBuffList() or {}) do if D.dwID==id and (lvl==nil or D.dwLevel==lvl) then return true end end return false end /script OnUseSkill(605,1) /script if buff(N,244) then say2() else say1() end 或者是 /script N=GetClientPlayer() /script H=N.bOnHorse /script function say1()N.Talk(PLAYER_TALK_CHANNEL.NEARBY,"",{{type="text",text ="我有一头小毛驴,但我从来也不骑"}}) end /script function say2() N.Talk(PLAYER_TALK_CHANNEL.NEARBY,"",{{type="text",text ="小毛驴累了"}}) end; /script if H==true then say2() else say1() end /script OnUseSkill(605,1) 前者与后者的不同之处在于前者是判断骑马时的增益状态,后者是判断是否在马上。 喊话附带当前目标名字 /script N=GetClientPlayer() /script name=GetTargetName(N.GetTarget()) /script for i=1,3 do N.Talk(PLAYER_TALK_CHANNEL.NEARBY,"",{{type="text",text ="我已经对>>>"..name.."<<<舍身!!!!!"}}) end; /script OnUseSkill(258,1) 施展舍生并且喊话3次。内容为:我已经对>>>目标<<<舍身!!!!! 其中第二行就是获取目标名字的命令 这中间的两个点很重要,起到了连接的作用。 |