Исправление управления
Как только игра вышла на PC, зразу стало понятно, что с компьютерной мышью не поиграешь, ибо это невозможно.
Одни скажут "нафиг клаву и мышь, у меня геймпад", другие будут играть только на клавиатуре.
Однако, есть те, кто из принципа не хочет играть в твистер на клавиатуре или не хочет (не может) взять в руки геймпад. Так вот, благодаря Vulpes Inculta, решение есть, пусть и требующее некоторых усилий и времени. Теперь объясню поподробнее.
Решение заключается в использовании программы Autohotkey.org. Скачиваем, устанавливаем, соглашаемся. В открывшемся файле Autohotkey.ahk полностью удаляем текст и заменяем его списком команд, который я приведу ниже. После этого сохраняем файл, запускаем программу, запускаем DS2. Профит!
Управление станет частично аналогичным первой части, частично изменится.
- Меняем язык раскладки "по умолчанию" на английский, ссылка в помощь
- Скачиваем установщик по этой ссылке
- Устанавливаем программу
- Запускаем приложение
- Открываем файл со скриптами
- Удаляем весь текст, вставляем список скриптов, мой приведен в следующем спойлере
- Сохраняем
- Перезагружаем скрипт, запускаем игру.
[line]
#SingleInstance Force
#MaxHotkeysPerInterval 99999
#IfWinActive ahk_class DarkSouls2
; Hold to block with a shield in left hand
LShift::Send {u down}
LShift Up::Send {u up}
; Strong attack (left hand) / Parry
e::y
; Attack (left hand)
XButton2::send {u down}
XButton2 up::send {u up}
; Boss key
LAlt & Tab::AltTab
; Wield right weapon two-handed (hold for left weapon)
LAlt::n
; Attack (right hand)
$LButton::
send {h down}
send {LButton down}
return
$LButton up::
send {h up}
send {LButton up}
return
; Strong attack (right hand)
$RButton::
send {g down}
send {RButton down}
return
$RButton up::
send {g up}
send {RButton up}
return
; Equipment menu
1::
send {Escape down}
sleep 30
send {Escape up}
send {ENTER down}
sleep 30
send {ENTER up}
return
; Inventory menu
2::
send {Escape down}
sleep 30
send {Escape up}
send {right down}
sleep 30
send {right up}
send {ENTER down}
sleep 40
send {ENTER up}
return
; Player status menu
3::
send {Escape down}
sleep 30
send {Escape up}
send {right down}
sleep 30
send {right up}
send {right down}
sleep 30
send {right up}
send {ENTER down}
sleep 40
send {ENTER up}
return
; Message menu
4::
send {Escape down}
sleep 40
send {Escape up}
send {right down}
sleep 40
send {right up}
send {right down}
sleep 40
send {right up}
send {right down}
sleep 40
send {right up}
send {ENTER down}
sleep 40
send {ENTER up}
return
; Interact (open doors, speak to the NPCs)
Tab::ENTER
; Use item (drink dat estus)
q::e
; Guard break
c::
^LButton::
send {w up}
send {w down}
send {h down}
send {w up}
send {h up}
return
; Jump attack
r::
^RButton::
send {w up}
send {w down}
send {g down}
send {w up}
send {g up}
return
; Switch left weapon
x::
WheelLeft::
send {left down}
send {left up}
return
; Switch right weapon
v::
WheelRight::
send {right down}
send {right up}
return
F1::Suspend
^!r::Reload
Tab
Взаимодействие
Q
Использование предмета
Left Alt
Взять оружие из правой руки в обе (удержание - из левой руки)
E
Парирование (Тяжелая атака левой рукой)
R
Удар правой рукой в прыжке
С
Толчок (сбивание щита)
X/V
Смена оружия в левой/правой руке
1/2/3/4
Открывают меню
[tr]
Плюсы данного управления видны невооруженным глазом: никаких сочетаний клавишь. Однако есть и недостатки. Например что бы сделать удар в прыжке или толчок щитом (комбинация удара и клавиш движения) отпустить клавиши движения и подождать секунду, иначе будет одна из двух стандартных атак правой рукой. Кроме того в этом управлении нет удара в прыжке щитом (да-да, такой удар есть).
Некоторые детали
- Включите настройках по умолчанию английскую расскладку. В противном случае возникнет ошибка.
- Замечено выключение скрипта, но начиналось оно обычно после посещения костра, и было не фатально, сочетание Ctrl+Alt+R перезагрузит скрипт, сочетание можно переназначить в текстовом файле.
[line]
Данное управление не идеально, и кто-то захочет назначить другие клавиши. Поэтому постараюсь объяснить как это сделать.
Самый простой вариант назначения:
q::e , это значит если нажать Q, в игре будет нажата E. Таким образом вы может назначить все простые кнопки, не требующие зажатия клавиши (щит, движение)
Более сложный пример:
; Jump attack
r::
^RButton::
send {w down}
send {g down}
send {w up}
send {g up}
return
; Jump attack
коментарий
r::
клавиша, на которую назначается действие (R)
^RButton::
сочетание, на которое назначается действие (Ctrl+C)
Далее команды, которые отправляются скриптом
send {w down}
зажать клавишу W
send {g down}
зажать клавишу G
send {w up}
отжать клавишу W
send {w up}
отжать клавишу W
send {g up}
отжать клавишу G
return {g up}
закрывает функцию, требуется, если вы создаете сразу несколько действий одним нажатием клавиши
отдельные команды
sleep 40
задержка перед следующей командой
Советы: Если у вас продвинутая мышь, рекомендую пару движений настроить на боковые кнопки, парирование, пробить щит.
[line]
P.S. Я продолжаю экспериментировать со скриптами и постараюсь исправить недостатки