【问题标题】:Lua Timer DelayLua 定时器延迟
【发布时间】:2011-07-06 00:32:03
【问题描述】:

我正在尝试为 WoW 编写一个非常简单的插件。我需要知道是否有可能将一个函数延迟 30 秒或一分钟,然后调用另一个函数。

我尝试使用以下内容进行破解:

SLASH_PORTS1 = '/ports';
function pretalk()
  if currentTime==currentTime+1 then 
    talk();
  else
    talkagain();
  end
end
function talk()
  SendChatMessage("selling PORTS 9g ea. 1g cheaper than the rest! PST." ,"CHANNEL" ,"COMMON" ,"2");
  pretalk();
end 
function SlashCmdList.PORTS()
  currentTime = GetGameTime();
  talk();
end
function talkagain()
  pretalk();
end

但它不起作用。它会发送第一条聊天消息,然后无法收到第二条。

【问题讨论】:

  • 询问如何在游戏中发送垃圾邮件很少..
  • 对不起,我可以用一个简单的宏在一定程度上做到这一点。

标签: scripting timer lua add-on world-of-warcraft


【解决方案1】:

这不能按照您的看法来完成。

GetGameTime() 仅供参考。除了斜杠命令之外,您根本没有在代码中挂钩任何事件。 要始终被游戏轮询,您必须实现某种不可见的窗口并挂钩 Paint 事件,并记录每次时间,直到达到您的条件。或者,更好的是,找到为您完成工作的 3rd 方计时器库。 (例如,试试this one。)或者更好的是,使用Addon Kit 提取标准魔兽界面代码并检查内置闹钟和秒表功能的代码。

但是,我怀疑即使你让这个工作正常进行,你也会因为你不断向聊天频道发送垃圾邮件而激怒玩家或 GM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2020-09-22
    • 2011-03-04
    • 2021-07-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多