2011-02-28 4 views
-2

저는 와우를위한 매우 간단한 애드온을 작성하려고합니다. 30 초 또는 1 분 동안 기능을 지연시킨 다음 다른 기능을 호출하는 것이 가능한지 알아야합니다. 루아 타이머 지연

나는 다음과 해킹 작업을 수행하려고 :

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 

을하지만 그것은 작동하지 않습니다. 첫 번째 채팅 메시지를 보내면 두 번째 채팅 메시지를 가져올 수 없습니다.

+4

게임에서 스팸하는 방법을 묻는 질문이 –

+0

미안하지만, 간단한 매크로로 어느 정도 할 수 있습니다. –

답변

4

이 방법은 사용자가보고있는대로 수행 할 수 없습니다.

GetGameTime()은 단지 정보 용입니다. 슬래시 명령을 제외하고 코드에서 어떤 이벤트도 연결하지 않습니다. 게임에서 지속적으로 폴링하려면 보이지 않는 윈도우를 구현하고 Paint 이벤트를 연결하고 매번 시간을 기록해야합니다. 아니면, 더 나은, 당신을 위해 일한 제 3 자 타이머 라이브러리를 찾으십시오. 예를 들어 this one을 시도하십시오. 더 나은 방법은 Addon Kit을 사용하여 표준 WoW 인터페이스 코드를 추출하고 내장 된 알람 시계 및 스톱워치 기능 코드를 검사하는 것입니다.

그러나 나는 이것이 작동한다고해도 일정한 페이스로 일정한 스팸 채팅 채널에 관해서 플레이어 또는 GM의 분노를 느끼게됩니다.