Исправление управления

Как только игра вышла на 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. Я продолжаю экспериментировать со скриптами и постараюсь исправить недостатки

Источник