Lua的魔兽世界插件API初学者

World of warcraft Addon API Beginner at Lua

DoEmote("slap","X"),我希望x成为谁发送初始表情消息的某种参数。
我尝试了诸如arg2,arg12和sender

之类的东西

我还尝试了一些解决方法,使您以情绪激动者为目标,然后以/ slap响应。但是似乎都不起作用。

1
2
3
4
5
6
7
8
9
10
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)


与所有其他WOW API函数一样,DoEmote接受UnitId作为第二个参数。如果他们在您的队伍或团队中,您只能使用他们的名字(并对其采取行动)。

当您想要的玩家作为目标时,您只需DoEmote("slap","target")。如果不是,您可以尝试扫描您的聚会/突袭成员targettargettargetfocus单位,并通过比较每个UnitName的回报来尝试找到它们是否是您想要的玩家并使用具有相应ID的DoEmote

如果您想要的玩家与任何有效的UnitId不对应-即您的团队/团队中的任何人(包括您自己)都没有集中/瞄准/连锁目标,那么您将无能为力。您只能对与ID对应的单元进行操作。

您还可以将SendChatMessageEMOTE通道用于任何您想要的文本,直接编写" slap Zal?-ssa"。作为最后的手段。此功能与/e chat命令具有所有缺点,具有相同的效果-您的文本将按原样发送,不会为客户的其他语言进行翻译,不会播放表情动画或声音,并且不会影响播放器名称/以重要的语言拒绝。