Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

From Software Dark Souls 2 mouse lag fix and other tweaks

Niektory

one of some
Patron
Joined
Mar 15, 2005
Messages
808
Location
the great potato in the sky
I've decided to make a new thread for easy reference. Please post any tweaks you found useful here.

Dark Souls 2 by default has an annoying built-in delay on left and right mouse buttons to allow double-click binding. I hope I don't have to explain how terrible idea that is. I know of two methods to fix it. You'll lose the double-click binds by doing this, but you don't need them anyway.

The first method is to use AutoHotkey to bind clicks to keyboard buttons. There's a good guide on Reddit so I'll just copy-paste it.
[PC Workaround] 5-Button mouse mapping/mouse lag workaround (self.DarkSouls2)

submitted 4 days ago * by abfinz

I created an AutoHotKey script to allow mapping more than the three mouse buttons DSII allows and to get rid of the mouse lag. It allows use of the mouse normally and only runs in the DSII window.

Installation

Install AutoHotKey.

Run the DSIIMouse.ahk using AutoHotKey.

Clear your mouse bindings (I still use middle/scroll mouse bindings)

In DSII's keybindings, bind each mouse button's corresponding keyboard key to the action you want that mouse button to perform.

G - Right Click

H - Left Click

J - Mouse Button 4

K - Mouse Button 5

L - Middle Mouse button

Press F12 to shut down the script when you're done.

AutoHotKey will intercept your mouse clicks and trigger a key press for those keys.

AutoHotKey Download: http://ahkscript.org/download/

Script Download : http://www.filedropper.com/dsiimouse12

Edit: Fixed links to AutoHotKey to go straight to the download page, and added a new, simpler version of the script (it's amazing what you can do with a little syntactic sugar) that fixes issues with zooming a bow with Shift.

Edit: Changed script link to a new version. Removed old script link as the new one has been tested and is proven to work.

Edit: I've been getting complaints that filedropper isn't working, so I'm going to post the script text here. However, I don't have access to it atm, so I'll wing it and fix anything I get wrong when I get home.

Notes (For any interested): "~" allows the original key to still function. "*" allows the hotkey to fire in spite of any modifier keys(Shift, Alt, Ctrl) that are pressed at the time. The #IfWinActive sections open and close the section of the script that only applies to ds2 (I originally had "#IfWinActive DARK SOULS II" as the first of these, but I fear that doesn't translate well).

Script text follows:

#IfWinActive ahk_class DarkSouls2

~*RButton::g

~*LButton::h

~*XButton1::j

~*XButton2::k

~*MButton::l

#IfWinActive

F12::ExitApp
It works mostly fine but binding to Shift/Ctrl+click may not work well. Also, clicking OK in some prompts will cause you to attack.

The second method is to use a memory editing program like Cheat Engine. The game stores the timestamp of the last click and compares it to the current time to determine when to stop waiting for the second click. If we freeze the timestamp to zero the game will think the click happened a long time ago and execute the single click action instantly instead of waiting.

To use it, first make a new *.CT file and paste the following:
Code:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="16">
  <CheatEntries>
    <CheatEntry>
      <ID>0</ID>
      <Description>"RMB (cracked 1.1)"</Description>
      <Color>80000008</Color>
      <VariableType>4 Bytes</VariableType>
      <Address>04C09968</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>1</ID>
      <Description>"LMB (cracked 1.1)"</Description>
      <Color>80000008</Color>
      <VariableType>4 Bytes</VariableType>
      <Address>04C09960</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>2</ID>
      <Description>"LMB (legit 1.2)"</Description>
      <Color>80000008</Color>
      <VariableType>4 Bytes</VariableType>
      <Address>07C29800</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>3</ID>
      <Description>"RMB (legit 1.2)"</Description>
      <Color>80000008</Color>
      <VariableType>4 Bytes</VariableType>
      <Address>07C29808</Address>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
Now run the game, then Alt+Tab to Cheat Engine, click the first toolbar button and choose the DS2 process. Then open the .CT file and check the checkboxes at the bottom left of the window according to your version. You can change the values to zero but it's not necessary (freezing them is enough).

What if the memory addresses in your version are different? Here's how you can find them (it's a bit tedious):
1. Run the game (preferably in full screen) and DON'T CLICK ANYTHING. Alt+Tab out.
2. Run Cheat Engine and attach to the DS2 process.
3. Select Scan Type: Exact Value, enter 0 as Value and click First Scan.
4. Alt+Tab to the game and right-click something.
5. Alt+Tab back, select Scan Type: Increased Value and click Next Scan.
6. Alt+Tab to the game, do something with the keyboard but DON'T CLICK.
7. Alt+Tab back, select Scan Type: Unchanged Value and click Next Scan.
8. Repeat steps 4-7 until you're left with a small number of addresses.
9. Try adding the remaining addresses one by one to the bottom list and locking them (via checkboxes) until you find the one that works. Only try ones with large values (in the billions).
10. Close the game, click New Scan and repeat the whole process for the left mouse button.
11. Save the addresses.
12. Brag about your 1337 h4x.
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom