在DoEmote("slap", "X")
我希望x成为谁发送初始表情信息的某种论据。
我尝试过诸如arg2,arg12和sender
我也试过做一个工作,让你瞄准情绪,然后回应/ slap。但似乎都不起作用。
local p3 = CreateFrame("Frame")
p3:RegisterEvent("CHAT_MSG_TEXT_EMOTE", arg1, arg2, arg12)
p3:SetScript("OnEvent", function(self, event, arg1, arg2)
if event == ("CHAT_MSG_TEXT_EMOTE")
and strfind(arg1, "laughs")
and strfind(arg1, "you.")
and name == ("Zalíssa")
then DoEmote("slap", "")
end
end)
答案 0 :(得分:3)
与其他所有其他WoW API函数一样,DoEmote
接受UnitId作为第二个参数。如果他们在你的聚会或团队中,你只能使用个别玩家的名字(并对他们采取行动)。
当您想要的玩家成为目标时,您可以DoEmote("slap", "target")
。如果不是,您可以尝试扫描您的派对/团队成员target
,targettarget
和focus
单位,并尝试通过比较{{{{}来查找其中任何一个是否是您想要的玩家1}}返回每个,并使用UnitName
和相应的ID。
如果您所需的玩家与任何有效的UnitId不对应 - 即您的团队/聚会中的任何人(包括您自己)没有针对目标/目标/链定位,那么您就无法做任何事情。您只能对与ID对应的单位采取行动。
你也可以使用SendChatMessage
到DoEmote
频道,只需要你想要的任何文字,直接写“slasZalíssa”。作为最后的手段。这将与EMOTE
聊天命令具有相同的效果及其所有缺点 - 您的文本将逐字传输,不会对客户端的其他语言执行任何翻译,不会播放表情动画或声音,玩家名称也不会在重要的语言中被变形/拒绝。