喊话宏
/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)
前者与后者的不同之处在于前者是判断骑马时的增益状态,后者是判断是否在马上。