简单的反 AFK 插件

Simple Anti AFK AddOn

我试着写了一个简单的LUA魔兽世界插件来避免挂机

这是我尝试过的:

function SetNoLongerAFK()
    RunMacro("AntiAFK")
    IsPlayerAFK();
end

function IsPlayerAFK()
    while (UnitIsAFK("player") == false)    do 
        SetNoLongerAFK();
    end
end

function AntiAFKWelcomeMessage()
    print("|cff0080ffWelcome |cffd7df01"..playerName.." - "..realmName.."|r |cff0080ffto the AntiAFK AddOn!|r")
    local macroname = GetMacroInfo("AntiAFK")
    if (macroname == nil or macroname == "") then
        CreateMacro("AntiAFK", 134400, "/afk", 1)
    end
    IsPlayerAFK();
end

callWelcome();

但我猜 RunMacro API 函数被阻止了。有没有其他方法可以通过 WoW LUA-API?

是的,RunMacro 是一个受保护的函数,只有在按 key/button 按下时才能由用户代码调用。

在我继续之前,让我说我会小心尝试在暴雪的服务器上使用自定义的、自制的反 afk 方法,因为如果 Warden 注意到它可能会被视为自动化。

插件 Narcissus 有一个功能可以在你挂机时激活它的,呃,视口,还有一个选项施放 /stand 以防止在 AFK 时坐下。该设置表示它不会阻止 AFK 注销,但我 感觉 喜欢它确实会延长您最终注销的时间。这只是轶事,您的情况可能会有所不同。
但是您可以看看它是如何在插件中实现的并进行试验。