2013년 5월 26일 일요일

Dota 2 Smartcast

LOL의 장점 중 하나였던 스마트키, 스마트캐스트였고, 도타 2로 넘어오면서 참 아쉬운 부분이었지만 설정하는 방법이 도타2 커뮤니티마다 쉽게 구할 수 있기때문에 포스팅할 필요성을 크게 느끼지 못했었다. (kael.cfg라고 검색하면 많이 나온다)

하지만 자기 세팅을 만들기 위해서 (별거아니지만) 풀어놓는 글을 써놓는 것도 나쁘지 않을 것 같아서 글을 남긴다.

패치를 통해서 능력과 아이템 관련 키 설정하는 부분의 '빠른 시전'을 통해서 스마트 캐스트를 설정할 수 있다.


이는 눌렀을때 바로 시전되는 타입으로, 누르고 있는 동안에는 시전되지 않는 방식으로 설정하고 싶다면 아래의 내용을 참조하면 된다.




들어가기에 앞서

  1. 설정에서 원하는 키를 해제시킨다.

    설정으로 지정하는 키 설정이 콘솔로 지정하는 것보다 우선순위에 있어서 우위에 있기때문에 설정해도 적용이 안된다.
    좌클릭으로 선택 후 우클릭을 하면 해제된다.
  2. Selfcast

    스마트키를 설정하면 안되는줄 알았는데 마우스 포인터로 타겟만 지정하지 않으면 예전처럼 자기 자신에게 실행된다.
    좌측 상단의 설정버튼 → 게임 → General
  3. 짐꾼 / 중립몹

    영웅 바인딩따르기를 해체시키고 따로 키 설정을 하지 않아도 정상적으로 움직인다. 아무래도 그 키 설정보다는 그 키가 실행시키는 명령에 따라 움직이는 것 같다.
  4. 능력자동시전의 경우 드로우레인저의 q스킬같은 것에 사용하는 것인데 정해진 조건이 맞을 경우 자동시전되는 것을 말하기때문에 스마트캐스트와는 다르다.
    자동시전이 가능한 경우 스킬의 설명에 명기되어 있다.



스마트캐스트 설정


autoexec.cfg파일을 도타2 폴더 아래있는 dota2\cfg폴더에 만들어서 그곳에서 내용을 설정하는 방식으로 사용한다.

스팀 → 라이브러리 → 도타 2 우클릭 후 속성 → 로컬파일 →로컬 컨텐츠 폴더보기를 하면 뜨는 폴더 하단에 dota2\cfg로 들어가면 된다.
윈도우7 64비트의 경우 일반적인 경로는
C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\dota\cfg
일 것이다.

단순한 경우엔 내부의 콘솔을 사용해서 설정하는 것도 괜찮지만 alias를 사용할 경우 지정한 내용을 유지할 방법이 없기때문에 autoexec.cfg를 사용하는 것을 권장한다.

스마트캐스트를 설정하는데 사용되는 것은 다음과 같다.

  1. 설정을 위한 콘솔 명령어
    1. bind
      1. 특정 키에 실행할 내용을 지정하기 위한 명령어
      2. 형태는 bind "키" "명령"
      3. 토글형 명령을 지정할때는 bindToggle이라는 명령어를 쓴다.
        1. 해당 키를 0 / 1로 지정해주는 곳에 사용한다.
      4. 해제할때는 unbind를 사용한다.
        1. unbind "해당 키"
    2. alias
      1. 특정 명령의 실행 순서를 간략한 단어로 지정한다.
      2. 형태는 alias 명칭 "명령"
      3. on/off형 명령을 설정하기 위해서 alias가 반드시 필요한 경우가 있다.
  2. 능력을 사용하기 위한 콘솔 명령어
    1. +dota_control_group
      1. 그룹관련 명령어
    2. dota_ability_execute
      1. 스킬관련 명령어
      2. 0~5까지 순서대로 일반적인 키 배열은 QWEDFR순이다
    3. dota_item_execute
      1. 아이템관련 명령어
      2. 0~5까지 순서대로 일반적인 키 배열은 ZXCVBN순이다
  3. 설정된 키를 확인하기 위한 명령어
    1. key_listboundkeys

기본적인 형태의 키 지정

이 방식은 설정에서 간단하게 설정할 수 있도록 바뀌었으므로, 콘솔에서 어떤 식으로 다뤄졌었는지 확인하는 정도로만 보면 될 것 같다.

위의 내용을 보면 알겠지만 일반적인 설정에서의 q는 bind "q" "dota_ability_execute 0"과 같다고 볼 수 있다. 이를 조금더 세밀하게 설정하는 것이다.


일반적으로 q스킬을 bind만 사용해서 스마트캐스트를 만든다고 한다면 다음과 같은 형태가 될 것이다.
bind "q" "dota_ability_execute 0;+sixense_left_click;-sixense_left_click"
여기서 +sixense_left_click은 마우스 좌클릭이 눌린 상태를 말하는 것이고, -sixense_left_click은 마우스 좌클릭이 떨어진 상태를 말하는 것이다. 참고로 윈도우 설정의 왼손잡이 설정으로 클릭을 바꿔놓고 사용하는 경우엔 +-sixense_right_click으로 설정해야한다.
(+attack,-attack이 먹히는줄 알았는데 그렇지도 않다. 참고로 sixense는 Razer Hydra같은 장치를 말하는 것같다.)

보면 알겠지만 위의 명령으로 q키에 설정된 내용은, 기존의 q키를 누르고, 좌클릭을 눌렀다가 떼는 것을 지정한 것과 같다. 이런 형태로 QWEDFR순으로 dota_ability_execute를 0~5까지 지정하면 되고, 아이템도 마찬가지이다.


누르는 동안은 발동되지 않도록 지정

하지만 LOL처럼 누르고 있는 동안은 스킬이 발동되지 않고, 취소시킬 수 있으며, 키를 떼야만 발동되도록 만들고 싶다면 alias를 통해서 지정해줘야 한다.

마우스의 명령을 보고 눈치챈 분이 있었겠지만, alias로 이런 형태를 지정해줄 수 있다.
아래는 q 스킬을 LOL식으로 스마트캐스트 지정해줄 때의 내용이다.

alias +qSmart "dota_ability_execute 0;"
alias -qSmart "+sixense_left_click;-sixense_left_click"

bind "q" "+qSmart"
alias로 지정해놓은 +명령은 키가 눌렸을때, -일때는 키를 놓았을때의 행동으로 지정해서 bind 명령에는 키가 눌렸을때만 지정해놓으면 된다.

이런 식으로 QWEDFR순으로 지정해 놓으면 모든 스킬을 LOL식으로 사용할 수 있다.


여기에 특정키를 스마트키 on/off를 위한 키로 지정한 뒤 사용하는 방식도 종종 눈에 띄는데 다음과 같은 형태로 만들면 될 것이다.
alias +qSmart "dota_ability_execute 0;"
alias -qSmart "+sixense_left_click;-sixense_left_click"

alias +wSmart "dota_ability_execute 1;"
alias -wSmart "+sixense_left_click;-sixense_left_click"

alias +eSmart "dota_ability_execute 2;"
alias -eSmart "+sixense_left_click;-sixense_left_click"

alias +dSmart "dota_ability_execute 3;"
alias -dSmart "+sixense_left_click;-sixense_left_click"

alias +fSmart "dota_ability_execute 4;"
alias -fSmart "+sixense_left_click;-sixense_left_click"

alias +rSmart "dota_ability_execute 5;"
alias -rSmart "+sixense_left_click;-sixense_left_click"

bind "q" "+qSmart"
bind "w" "+wSmart"
bind "e" "+eSmart"
bind "d" "+dSmart"
bind "f" "+fSmart"
bind "r" "+rSmart"

alias qExec "dota_ability_execute 0"
alias wExec "dota_ability_execute 1"
alias eExec "dota_ability_execute 2"
alias dExec "dota_ability_execute 3"
alias fExec "dota_ability_execute 4"
alias rExec "dota_ability_execute 5"

alias SmartOn "bind q +qSmart; bind w +wSmart; bind e +eSmart; bind d +dSmart; bind f +fSmart; bind r +rSmart;bind i SmartOff;"

alias SmartOff "bind q qExec; bind w wExec; bind e eExec; bind d dExec; bind f fExec; bind r rExec; bind i SmartOn;"

bind "i" "SmartOff"

Exec를 따로 지정해놓은 이유는 alias 내부에 큰 따옴표를 사용하지 않고 그냥 bind q dota_ability_execute 0라고 지정해놓으면 0앞의 띄어쓰기 부분때문에 인식이 안되기 때문이다.



그룹을 활용한 스킬

위 내용을 조금 응용한다면 재미있는 것을 만들 수 있는데 그것은 바로 미포(Meepo)의 Poof에 대한 설정으로 키를 누르는 만큼 미포가 Poof로 날아오도록 설정하는 것이다.
bind "i" "dota_cycle_selected;dota_ability_execute 1;+sixense_left_click;-sixense_left_click"
dota_cycle_selected는 탭키가 실행하는 명령이다. 보이는대로, i키를 누르면 다음 미포가 선택되고 그 미포가 w를 누르고, 좌클릭이 이뤄진다.


끝으로

위 내용을 바탕으로 캐릭터 별로 자신에게 맞는 스마트키 설정을 만든 뒤에 숫자패드등을 이용해서 각각의 세팅을 설정 한 뒤 상황에 맞게 사용하면 될 것 같다. 결국 별거 없는 내용이었는데 이번에도 길어졌다.

댓글 없음:

댓글 쓰기