[중급] 직업 공통 스크립트 (3)


공용으로 사용할 스크립트 파일 공유 및 설명 드립니다.



앞으로 작성할 스크립트들은 여기에서 공유 드리는 스크립트를

기본적으로 #Include 한다고 가정하고 작성할 예정이므로 꼭 살펴 봐주시기 바랍니다.




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


common_func라고 되어 있는 파일에는 마법 관련된 함수들이 들어가 있습니다.


마법 관련 함수 list

 



사용 예시

 


기타 함수

 


script_control 에는 앞에서 많이 보았던 Reload, Suspend, Pause, ExitApp command hotkey들이 들어가 있습니다.



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


[v1.1] common_func_v1.ahk

#Requires AutoHotkey v1.1

; <<< key based functions
KeyStroke(KeyName, Delay := 100) {
    SendInput {%KeyName%}
    sleep %Delay%
    return
}

KeyHomeEnter(KeyName, Delay := 100) {
    sendinput {%KeyName%}{Home}{Enter}{ESC}
    sleep %Delay%
    return
}

KeyClickEnter(KeyName, Delay := 100) { ; 키 -> 마우스 왼쪽 클릭 -> Enter
    sendinput {%KeyName%}{Click}{Enter}{ESC}
    sleep %Delay%
    return
}

KeyArrowEnter(KeyName, Arrow := "Up") { ; 키 -> 방향키 -> Enter
    sendinput {%KeyName%}{%Arrow%}{Enter}{esc}
    return
}

KeyEnter(KeyName, Delay := 10) {
    sendinput {%KeyName%}{Enter}{ESC}
    sleep %Delay%
    return
}
; key based functions >>>

; <<< alphabet based functions
CastSpell(SpellChar, Delay := 100) {
    sendinput +{z}{%SpellChar%}
    sleep %Delay%
    return
}

SpellHomeEnter(SpellChar, Delay := 100) { ; 커서 나한테
    sendinput +{z}{%SpellChar%}{Home}{Enter}{ESC}
    sleep %Delay%
    return
}

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

SpellArrowEnter(SpellChar, Arrow := "Up") { ; shift+z로 마법 사용 -> 방향키 -> Enter
    sendinput +{z}{%SpellChar%}{%Arrow%}{Enter}{esc}
    return
}

SpellEnter(SpellChar, Delay := 100) {
    sendinput +{z}{%SpellChar%}{Enter}{ESC}
    sleep %Delay%
    return
}
; alphabet based functions >>>

; <<< etc
CheckSpell(SpellName, Delay := 100) { ; 딜 확인
    sendinput '/%SpellName%{Enter}{ESC}
    sleep %Delay%
    return
}

SpellTextEnter(SpellChar, Text, Delay := 100) {
    sendinput +{z}{%SpellChar%}%Text%{Enter}{ESC}
    sleep %Delay%
    return
}

CastnCheckSpell(SpellChar, SpellName, Delay := 100) {
    CastSpell(SpellChar, Delay)
    CheckSpell(SpellName, Delay)
    return
}
; etc >>>

; <<< item functions
UseItem(ItemChar, Delay := 10) { ; u로 아이템 사용
    sendinput {u}{%ItemChar%}
    sleep %Delay%
    return
}
ControlItem(ItemChar, Delay := 10) { ; ctrl로 아이템 사용
    sendinput ^{%ItemChar%}
    sleep %Delay%
    return
}
; item functions >>>


[v2.0] common_func_v2.ahk

#Requires AutoHotkey v2.0

; <<< key based functions
KeyStroke(KeyName, Delay := 100) {
    SendInput KeyName
    sleep Delay
}

KeyHomeEnter(KeyName, Delay := 100) {
    SendInput KeyName "{Home}{Enter}{ESC}"
    sleep Delay
}

KeyClickEnter(KeyName, Delay := 100) { ; 키 -> 마우스 왼쪽 클릭 -> Enter
    SendInput KeyName "{Click}{Enter}{ESC}"
    sleep Delay
}

KeyArrowEnter(KeyName, Arrow := "{Up}") { ; 키 -> 방향키 -> Enter
    SendInput KeyName Arrow "{Enter}{esc}"
}

KeyEnter(KeyName, Delay := 10) {
    SendInput KeyName "{Enter}{ESC}"
    sleep Delay
}
; key based functions >>>

; <<< alphabet based functions
CastSpell(SpellChar, Delay := 100) {
    SendInput "+{z}" SpellChar
    sleep Delay
}

SpellHomeEnter(SpellChar, Delay := 100) { ; 커서 나한테
    SendInput "+{z}" SpellChar "{Home}{Enter}{ESC}"
    sleep Delay
}

SpellClickEnter(SpellChar, Delay := 100) {
    SendInput "+{z}" SpellChar "{Click}{Enter}{ESC}"
    sleep Delay
}

SpellArrowEnter(SpellChar, Arrow := "{Up}") { ; shift+z로 마법 사용 -> 방향키 -> Enter
    SendInput "+{z}" SpellChar Arrow "{Enter}{ESC}"
}

SpellEnter(SpellChar, Delay := 100) {
    SendInput "+{z}" SpellChar "{Enter}{ESC}"
    sleep Delay
}
; alphabet based functions >>>

; <<< etc
CheckSpell(SpellName, Delay := 100) { ; 딜 확인
    SendInput "'/딜 " SpellName "{Enter}{ESC}"
    sleep Delay
}

SpellTextEnter(SpellChar, Text, Delay := 100) {
    SendInput "+{z}" SpellChar Text "{Enter}{ESC}"
    sleep Delay
}

CastnCheckSpell(SpellChar, SpellName, Delay := 100) {
    CastSpell(SpellChar, Delay)
    CheckSpell(SpellName, Delay)
}
; etc >>>

; <<< item functions
UseItem(ItemChar, Delay := 10) { ; u로 아이템 사용
    SendInput "{u}" ItemChar
    sleep Delay
}
ControlItem(ItemChar, Delay := 10) { ; ctrl로 아이템 사용
    SendInput "^" ItemChar
    sleep Delay
}
; item functions >>>




[v1.1] script_control_v1.ahk

#Requires AutoHotkey v1.1

F9::
    MsgBox "Reload"
    Reload
return

F10::Suspend
F11::Pause
F12::ExitApp



[v2.0] script_control_v2.ahk

#Requires AutoHotkey v2.0

F9::{
    MsgBox "Reload"
    Reload
}

#SuspendExempt
F10::Suspend
#SuspendExempt False

F11::Pause -1
F12::ExitApp




이렇게 공용으로 사용할 스크립트를 따로 빼두게 되면 앞에서 살펴봤던 도사 스크립트는 아래 처럼 됩니다.


그렇게 큰 티가 나진 않지만 조금 깔끔해진 느낌입니다.







댓글 0