魔兽世界Addon API Lua初学者



DoEmote("slap", "X")中,我希望x是发送初始emote消息的某种参数。我尝试了arg2、arg12和发送方之类的东西

我还试着做了一个变通,让你瞄准表情符号,然后用/扇耳光回应。但两者似乎都不起作用。

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为他们中的每一个返回的结果,尝试找到他们中的任何一个是否是你想要的玩家,并使用DoEmote和相应的ID。

如果你想要的玩家没有对应任何有效的UnitId,即没有被你的突袭/小队中的任何人(包括你自己)聚焦/锁定/连锁,那么你就无能为力了。您只能对与ID对应的单元执行操作。

你也可以使用SendChatMessageEMOTE通道来处理你想要的任何文本,直接写下"slaps Zalíssa"作为最后的论据。这将具有与/e聊天命令相同的效果,但有其所有缺点-您的文本将被逐字传输,不会为客户端的其他语言执行翻译,不会播放表情动画或声音,玩家名称不会在重要的语言中发生变化/婉拒。

相关内容

  • 没有找到相关文章

最新更新