Ragnarok Online 2

Ragnarok Online 2

Not enough ratings
Guide on fixing mouselook speed issues
By Alhoon
Ragnarok Online 2 uses DPI to determine mouselook speed. This creates issues where high DPI settings will cause mouselook to be too fast, while low settings will cause cursor speed to be too low. I will be addressing the issue in this guide.
   
Award
Favorite
Favorited
Unfavorite
Introduction
This guide is in-depth and very newbie friendly. It might take some effort but I will guide you through it. If you're advanced computer user and don't want to read through my wall of text, consult to the TLDR at the end of the guide.

Since I saw no solutions to this issue, I created one myself. It's not perfect but it's sufficient. For those who are not aware, the issue is that RO2 uses DPI to determine mouselook speed for some reason. The solution has two steps.

As a clarification, I'll be using two terms frequently in this guide, so I'll explain them right away as some may not be aware of what they mean. "Mouselook speed" is the speed at which you use your mouse to look around, by pressing either left or right mouse button and moving the mouse. "Cursor speed" is the speed at which your cursor moves on the screen when not pressing any buttons.

Without further ado, let's get to fix this issue.
Fixing the mouselook speed
First, you need to consult to your mouse software (Logitech Gaming Software, Razer Synapse or similar). If you don't have one, download the one that works for your mouse. If no such thing exists, you probably don't have high-end mouse that uses custom DPI settings anyways, and you shouldn't have this problem. These programs allow you to set custom DPI settings on game-to-game basis. Personally I use Logitech Gaming Software so this guide will be focusing on it, but these programs are usually very similar so try it out.

Open your Logitech Gaming Software, go to Customize Buttons using the menu on the bottom of the window. Under Profiles, press "+" sign and fill in "RO2" to name, then select the executable. By default, it's located in:
Steam\steamapps\common\Ragnarok Online\SHIPPING\Rag2.exe
Press OK. Go to Customize Pointer Settings again using the menu on the bottom of the window. Under Advanced, tick "Enable per profile pointer settings" if it's not already enabled. Now select the RO2 profile you just made. Lower the DPI Sensitivity to fairly low, mine is 400. If you feel this is too high or low, select a level that you prefer. Remember that you only need to worry about mouselook speed when selecting DPI, not the cursor speed. It will be jarringly slow before the next step. After this feel free to exit Logitech Gaming Software.
Fixing the cursor speed
Now, if you did everything correctly, your cursor should move at normal speed EXCEPT when playing Ragnarok Online 2. You could probably just go to Windows Control Panel and set sensitivity to appropriate levels, but this is not truly a solution as it'd have multiple problems with other games and so on. Instead, we use a macro program called Autohotkey to fix the issue.

You need to download Autohotkey from http://www.autohotkey.com/. It would also be possible for me to create exe file using Autohotkey to bypass this step, but I won't do it because making people download random exe programs from internet is really stupid.

After installing it, create a new text document on Windows (Right click -> New -> Text Document) and name it "RO2.ahk" without quotation marks. Right click the file and "Edit Script". Copy & paste the following script to your RO2.ahk file.

;Ragnarok Online 2 Mouse Speed Fix by Alhoon ro2win:="Ragnarok Online2 - Legend of The Second" DllCall("SystemParametersInfo", UInt, 0x70, UInt, 0, UIntP, Mouse_Speed_Orig, UInt, 0) Mouse_Speed_Fast := Mouse_Speed_Orig * 3 Mouse_Speed_Fast := Floor(Mouse_Speed_Fast) Loop { IfWinActive ahk_class %ro2win% DllCall("SystemParametersInfo", UInt, 0x71, UInt, 0, UInt, Mouse_Speed_Fast, UInt, 0) Else DllCall("SystemParametersInfo", UInt, 0x71, UInt, 0, UInt, Mouse_Speed_Orig, UInt, 0) Sleep, 0 }

Doubleclick RO2.ahk to execute the script and keep it running while playing Ragnarok Online 2.

One thing you might need to edit in the script is on line 4:
Mouse_Speed_Fast := Mouse_Speed_Orig * 3
The multiplier is 3 by default, but you might want to change it if you feel your cursor speed is too slow or too fast ingame. Lower values means slower cursor speed, higher values means faster cursor speed. It allows floating numbers with "." as separator (for example 2.5). Some values might cause overflow on Windows DLL side, if this happens you'll only see it as cursor speed not changing as if you did not have the script running. When changing this, remember to always save the file, right-click the Autohotkey on taskbar and select Reload Script.

If you're interested in how the script works, it loops to detect whether RO2 window is active, and when it is, it hooks to Windows "SystemParametersInfo" DLL that controls the cursor speed (among other things) and changes it. It also changes it back when the Window is no longer active, so this doesn't affect cursor speed when alt-tabbing or otherwise not playing the game.
Closing
Now your Cursor speed should be high and mouselook should be at playable levels, while other games and programs are unaffected.

As always, rate the guide and feel free to leave a comment.
TLDR
1. Create a game profile on your mouse software for Ragnarok Online 2 and put DPI around 400
2. Download Autohotkey if you don't have it
3. Make new .ahk file and copy & paste the code above into it
4. Always keep the .ahk file running while playing RO2