World of Warcraft의 Lua에서 두 가지 감정을 콤보로 만드는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1024960

  •  06-07-2019
  •  | 
  •  

문제

World of Warcraft의 Lua에서 두 가지 감정을 콤보로 만드는 방법은 무엇입니까?

function Button2_OnClick()
    PlaySoundFile("Interface\\Addons\\Fart\\common_fart[1].wav");
    DoEmote("moon");
    DoEmote("sit");
    DoEmote("dance");
    DoEmote("beckon");
end

WOW에서 WOW Addon Studio를 사용하여 WOW에서 방귀 응용 프로그램을 작성하고 있습니다. 나는이 기능을 사용했고, SIT 모션 만 보여 주었고, Beck 및 Moon은 채팅 창에서만 보여 주었다. 댄스 여태도는 아무데도 나타나지 않았습니다.

도움이 되었습니까?

해결책

블리자드는 금 채굴 또는 연삭 봇을 만드는 데 필수적인 요소이기 때문에 LUA를 기다리거나 일시 중지하는 데 사용할 수있는 모든 것을 명시 적으로 금지했습니다.

모든 CPU를 사용하지 않고 LUA를 기다릴 수있는 네이티브 (예 : LUA 전용) 방법은 없습니다. WOW 클라이언트 외부에서 사용할 것입니다 win.sleep 또는 호스트 응용 프로그램 또는 운영 체제 스레딩 기능을 호출하는 다른 타사 API 호출.

빈번한 이벤트 (예 : 채팅 창에 도착하는 텍스트)에서 코드가 실행되도록 대기를 시뮬레이션 한 다음 이벤트 핸들러에서 시퀀스에서 다음 명령을 실행할 수있는 충분한 시간이 통과되었는지 확인하는 이벤트 핸들러에서 대기를 시뮬레이션 할 수 있습니다. 이것은 아마도 매우 정확한 타이머가 아니며 일련의 명령, 각각의 명령, 현재 명령 등의 타이밍 등을 유지하기 위해 데이터 구조를 만들어야하므로 다소 복잡 할 것입니다.

다른 팁

이것은 게임 자동화 (Botting)에서 API의 의도적 인 제한 일 수 있습니다.

저를 위해 일한 것은 루프를 통해 증가하는 글로벌 변수를 갖는 것입니다. 와 같은

Integer count = 0;
function Button2_OnClick()
    i++
    switch
    case(1)
        PlaySoundFile("Interface\\Addons\\Fart\\common_fart[1].wav");
    case(2)
         DoEmote("moon");
    case(3)
         DoEmote("sit");
    case(4)
         DoEmote("dance");
    case(5)
         DoEmote("beckon");
    default
         i=0;
    end
end

그런 다음해야 할 일은 버튼을 여러 번 클릭하는 것입니다.

다음 감정 감정을하기 전에 시간을 기다리는 것이 좋습니다. 내가 아는 한, 서버는 너무 많이 스팸을 해제하면 연결을 끊습니다. 이것 ~할 것 같다 가끔 트리거하십시오.

그 외에도 고객이 그것을 막을 방법이있을 것 같아요? 두 경우 모두, 나는 당신이 감정에 어떤 종류의 분획 지연 지연을 추가하는 것이 좋습니다.

건배,
Amit Ron

앉아있는 동안 마지막 두 가지를 할 수 없을까요?

사실은, integer i = 0, 정수를 정의하고 'count'를 정의하고 사용하는 것이 잘못되기 때문에 잘못되기 때문입니다. :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top