기본적인 마법 사용 매크로

오호 08.18 22:20 조회 228 댓글 0


마법 별로 사용하는 방식이 조금씩 차이가 있는데, 각각의 경우를 살펴보고

이를 앞에서 살펴본 function으로 구현해보겠습니다.


- 마법 사용 방법 -


ㄱ. F10 -> Spell Macro에 지정된 10개의 마법을 0~9 Key로 바로 사용하는 방법

    ( Key로 사용한다고 하겠습니다 )

ㄴ. shift + z (외울 주문?)을 통해 a-zA-Z 까지의 character를 입력하여 마법을 사용하는 방법

    ( Spell 혹은 CastSpell 이라고 하겠습니다.)



- 마법 종류 -


A. 마법을 사용하는 순간 바로 캐스팅 되는 마법

    (파력무참, 귀염추혼소, 공력증강 등등 )


B. 마법을 사용하면 네모 커서가 생겨서 타겟을 지정하는 마법

    (혼마술, 파혼술, 탈명 등등)



B의 타겟팅은 또 이렇게 나뉠 수도 있습니다.

    1. 커서를 마우스로 지정후 {Enter} ( 혹은 더블클릭 )

    2. 커서를 키보드 방향키(상하좌우)로 이동 후 {Enter}

    3. 커서를 {Home}(본인)으로 옮겨서 {Enter}

    4. 커서를 움직이지 않고 그대로 {Enter}



이러한 각각의 마법 사용 macro들을 

함수로 바꾸면 이렇게 됩니다.


; [ㄱ]+[A]

KeyStroke(KeyName) {
    sendinput {%KeyName%}
    return
}



; [ㄴ]+[A]

CastSpell(SpellChar, Delay := 100) {
    sendinput +{z}{%SpellChar%}
    sleep %Delay%
    return
}


; [ㄴ]+[B -1]

SpellClickEnter(SpellChar, Delay := 100) {
    sendinput +{z}{%SpellChar%}{Click}{Enter}{Esc}
    sleep %Delay%
    return
}


; [ㄴ]+[B-2]

SpellArrowEnter(SpellChar, Arrow := "Up") {
    sendinput +{z}{%SpellChar%}{%Arrow%}{Enter}{esc}
    return
}


; [ㄴ]+[B-3]

SpellHomeEnter(SpellChar, Delay := 100) {
    sendinput +{z}{%SpellChar%}{Home}{Enter}{Esc}
    sleep %Delay%
    return
}


; [ㄴ]+[B-4]

SpellEnter(SpellChar, Delay := 100) {
    sendinput +{z}{%SpellChar%}{Enter}{Esc}
    sleep %Delay%
    return
}



[ㄱ]+[B-1],[ㄱ]+[B-2],[ㄱ]+[B-3],[ㄱ]+[B-4] 는 생략



이제 마법 쓸 준비는 다 되었고, Hotkey 적용만 해주면 됩니다.


여기부터는 취향의 영역입니다.



XButton1::KeyStroke(2)
        ; 마우스 뒤로가기 버튼으로 2번 마법 사용
        ; ex) 공력증강, 금강불체

TAB::CastSpell("A")
        ; TAB key로 "A" 마법 사용
        ; ex) 파력무참, 귀염추혼소

NumPad6::SpellClickEnter("g", 90)
        ; NumPad6 key로 현재 마우스 커서에 "g" 마법 사용
        ; ex) 지진, 파혼술, 부활

WheelUp::SpellArrowEnter("d", "Up")
        ; 마우스 WheelUp 으로 "d" 마법 커서 한칸 위
        ; ex) 혼마술, 중독, 마비

WheelDown::SpellArrowEnter("d", "Down")
        ; 마우스 WheelDown으로 "d" 마법 커서 한칸 아래
        ; ex) 혼마술, 중독, 마비

NumLock::SpellHomeEnter("g", 180)
        ; NumLock key로 자신에게 "g" 마법 사용
        ; ex) 파혼술, 부활
 


이런 식으로 사용하고 싶은 마법을

편하다고 느끼는 key에 지정해서 사용하면 됩니다.



-----------------------------------------------------

v2.0에서는 변수 사용법이 조금 다릅니다.

key를 parameter로 줄 때 "{Up}" 이런식으로 {}로 감싸서 입력으로 주는 것이 좋습니다.


WheelUp::SpellArrowEnter("d", "{Up}")

SpellArrowEnter(SpellChar, Arrow := "{Up}", Delay :=  200) {
    SendInput "+z" SpellChar Arrow "{Enter}{ESC}"
    sleep Delay
}



댓글 0