My Story: Personally, I used to hate riding on the horse before I discovered Alternate Horse Controls a mod made by KCS, ksolberg. Now I can spend hours doing absolutely nothing, just riding around on Roach, and still say that I had a great time playing.
I was hoping that they would've done something similar in the next gen update, to my disappointment, they didn't, and I don't think anyone deserves those outdated controls, not even console players.
The only thing that I feel bad about is not getting KCS, ksolberg permission first, but he hasn't been on in years, didn't think that I'd get a reply. Most of the code that is used was his, I updated it to next gen and added some improvements of my own.
KCS, ksolberg, Thanks for creating the most necessary mod for The Witcher 3!
Report bugs in the (BUGS) tab and be precise, example: were you on a horse? Etc.
When it comes to conflicts with other mods, I can't possibly download and test every mod, but I can try and make it compatible with said specific mod, but in order to do that, I need to know the name of the scripts that are conflicting.
"Also, when manually merging, for example selecting both B and C in kdiff, it's important to select them in the correct order. If you select B then C, that's the order it will add into the merge. You have to look at the scripts being compared and make sure that you aren't adding merged code into the middle of another function, for example.
If you're not familiar with script/code syntax, this may not make sense to you, but let me try: the most important thing is that when you see an opening curly brace, {there always needs to be a closing} to complete the code block. Let's say option C is the beginning part of a code block, and B is a separate line/block, you'll want to select B first, so it's above, then select C, so it comes after B. otherwise, B will be placed in the middle of the C code block, breaking the script." --exploiteddna
-- To add to this: most modders add the name of the mod in the code like this ( //ImprovedHorseControls ) to make it easier to find the changes, try to keep these parts of the code together whenever possible.
Hey all. I'm trying to merge this with W3EER (I know this mod is nearly incompatible with W3EER, but I did get it to work with a patch somewhere on this comment section, until it stopped working since the new update on both mods.) and I get these error messages now (managed to solve other errors):
Error [mod0000_mergedfiles]game\npc\npc.ws(2643): Function 'Kill' takes 4 parameter(s) which is inconsistent with base function (3). Error [modw3ee]game\player\playerwitcher.ws(9332): Function 'GetTotalWeaponDamage' takes 4 parameter(s) which is inconsistent with base function (3).
What did you alter? I can't get it to work and I'd love to get this working. Admittedly I could try harder, but I'm interested to see if you could let me in on your method. Thanks in advance
Thanks for the mods, horse control becomes very convenient. Tell me only I have such a problem, with slow movement, the animation seems to twitch a little when moving to the next step, it's a little noticeable from the side when the Roach is walking slowly enough
Do you have the "Mods" setting? Should be under the sub-setting "Gameplay Change". Also, the "Lite" doesn't have mod setting, it's by default the Immersive preset.
I see that new changes are being implemented, so here's some suggestions: - Option to hold up torch while riding. - Option to make the "forwards spurs mechanic" faster. - Option to control the speed (I'd actually make my Roach slower, personally). - Option to make Roach only summonable near Signposts. - Option to make Roach follow you when whistling. - Option to control the time it takes for Roach to park itself. - Option to control the range it takes for Roach to disappear. - Option to loot and interact with signsposts, signs and posters while mounted. - Option to travel while mounted on Roach, directly from the World Map. - Option to open the stash when holding the interact button on Roach, while not mounted.
For a more "immersive" way, you can make it so that when the player is overencumbered, the speed is limited to gallop speed (a step below canter speed), by replacing this line on "content\scripts\game\vehicles\horse\states\exploration.ws":
destSpeed = MinF( destSpeed, speedRestriction ); with this:
Whenever you are overencumbered, the horse will now be a step slower than the full speed. As an addition to that, it would be cool if you guys added this as an option in the mod menu.
I just double checked, if you have instant gallop enabled it still works.
If you are overencumbered: Holding shift (instant gallop enabled) will limit your speed to gallop speed. (even if you spam shift, you wont be able to canter) If you aren't overencumbered: Holding shift (instant gallop enabled) will get you to canter speed (max speed).
This change also applies in cities as well, if you're overencumbered you wont be able to canter in cities and vice versa (as long as you have galloping in cities enabled of course).
But in any case, the edit that I did shouldn't affect instant gallop in the first place in fact I don't think it affects any function of this mod.
Edit: For "less hardcore" players, you could add some more conditions on "if(thePlayer.HasBuff(EET_OverEncumbered))" like "!thePlayer.GetIsHorseRacing()" so that cantering will be enabled during horse races, for me though it would be unnecessary as it defeats the purpose..
Edit 2: If I find some free time tomorrow, I might work on the menu options as well, I have a couple of things in mind...
Can you please reformulate? I don't get whether the problem is because you have "Slow Motion" option from the main version, or were you asking if this option is gone?
I have a problem with the gamepad controls. When I hold the A button Roach goes into full gallop instead of cantering. Same happens when I double tap or triple tap A. On the other hand if I use my keyboard to hold Left Shift everything works correctly and Roach canters instead of gallops. Any ideas?
EDIT: I'm using the latest no slow-motion version. I also tried remapping galloping away from the A button to the Left Stick click, canter still refuses to work by holding A, but Roach doesn't gallop now either that way. Galloping worked by clicking Left Stick as intended.
I also have merged all the scripts successfully.
EDIT2: I tried uninstalling this mod and cantering worked by holding the A button as it should.
I also may have gotten galloping and cantering mixed up. What I mean with galloping is Roach going the fastest speed and cantering the second fastest lol. (Correct me if I'm wrong.)
Lots of edits, lots of confusion. I suggest you backup "input.setting", run the game to generate a new one. Then install the mod with Witcher 3 Mod Manager, as sole mod.
Let me know if that fix the inputs or the speed. After that, you can reinstall your mod list and merge them again.
I cannot test with a gamepad. But I can assure you Canter is faster than Gallop. When you hold the sprint command, you will reach Gallop speed, and you have to tab once again for Canter speed.
Anyway, I made a switch to Alternate Horse Controls, both the hold for gallop and double tap and hold for canter commands are working perfectly on gamepad with said mod.
All right. I plug my Switch Pro Controller. When I hold the A/Cross button, I reach the canter speed (which it's the max). So which speed is supposed to be? The gallop (fast and no stamina cost) or the canter (faster but stamina cost)?
Well I thought it was press and hold A = gallop and double tap and hold A = canter (which makes most sense to me and it is how Alternate Horse Controls mod works), but according to the main page it should be double tap A = gallop and triple tap A = canter.
Like I mentioned earlier no command would make Roach gallop during my testing, they all just made her go full canter speed.
EDIT: Oh and when I used keyboard Left Shift it did work like that. (Hold Left Shift = gallop, double tap and hold = canter) Description page has wrong info.
Thank you for pointing it. I update the mod with a new option. So now you have the choice to reach max speed when holding the input, or simply the canter. I also rework the description, since you were right.
569 comments
I was hoping that they would've done something similar in the next gen update, to my disappointment, they didn't, and I don't think anyone deserves those outdated controls, not even console players.
The only thing that I feel bad about is not getting KCS, ksolberg permission first, but he hasn't been on in years, didn't think that I'd get a reply.
Most of the code that is used was his, I updated it to next gen and added some improvements of my own.
KCS, ksolberg, Thanks for creating the most necessary mod for The Witcher 3!
When it comes to conflicts with other mods, I can't possibly download and test every mod, but I can try and make it compatible with said specific mod, but in order to do that, I need to know the name of the scripts that are conflicting.
"Also, when manually merging, for example selecting both B and C in kdiff, it's important to select them in the correct order. If you select B then C, that's the order it will add into the merge. You have to look at the scripts being compared and make sure that you aren't adding merged code into the middle of another function, for example.
If you're not familiar with script/code syntax, this may not make sense to you, but let me try: the most important thing is that when you see an opening curly brace, {there always needs to be a closing} to complete the code block. Let's say option C is the beginning part of a code block, and B is a separate line/block, you'll want to select B first, so it's above, then select C, so it comes after B. otherwise, B will be placed in the middle of the C code block, breaking the script." --exploiteddna
-- To add to this: most modders add the name of the mod in the code like this ( //ImprovedHorseControls ) to make it easier to find the changes, try to keep these parts of the code together whenever possible.
You can safely use this mod.
Error [mod0000_mergedfiles]game\npc\npc.ws(2643): Function 'Kill' takes 4 parameter(s) which is inconsistent with base function (3).
Error [modw3ee]game\player\playerwitcher.ws(9332): Function 'GetTotalWeaponDamage' takes 4 parameter(s) which is inconsistent with base function (3).
Is there a way to solve these?
I didn't look by myself but it should be likely mergeable with W3EE.
I still had to alter some scripts in exploration.ws, but it works!
Also, the "Lite" doesn't have mod setting, it's by default the Immersive preset.
"Lite" doesn't provide its own setting.
If you wish to customise it, install the main one or the "Slow Motion".
And don't forget to run Menu Filelist Updater.
This option doesn't seem to work properly.
Whether you turn off the option or turn it off, the horse doesn't follow the road.
Install again the mod and don't forget to merge all scripts.
I'll look tonight.
Thanks for the report.
- Option to hold up torch while riding.
- Option to make the "forwards spurs mechanic" faster.
- Option to control the speed (I'd actually make my Roach slower, personally).
- Option to make Roach only summonable near Signposts.
- Option to make Roach follow you when whistling.
- Option to control the time it takes for Roach to park itself.
- Option to control the range it takes for Roach to disappear.
- Option to loot and interact with signsposts, signs and posters while mounted.
- Option to travel while mounted on Roach, directly from the World Map.
- Option to open the stash when holding the interact button on Roach, while not mounted.
- Can't make it faster.
- Disable Forward Spur.
- Idea rejected. We need horse in almost everywhere.
- Thoughtful Roach (outdated)
- Thoughtful Roach (outdated)
- Looting On Horse + Interact with Fast Travel Signposts on Horse (outdated)
- Fast Travel On Roach (NEXT GEN)
- (Next Gen Edition) Friendly Stash
destSpeed = MinF( destSpeed, speedRestriction );
with this:
if(thePlayer.HasBuff(EET_OverEncumbered))
{
destSpeed = MinF( destSpeed, GALLOP_SPEED );
}
else
{
destSpeed = MinF( destSpeed, speedRestriction );
}
Whenever you are overencumbered, the horse will now be a step slower than the full speed. As an addition to that, it would be cool if you guys added this as an option in the mod menu.
Good idea, thank you for the generosity.
If you are overencumbered: Holding shift (instant gallop enabled) will limit your speed to gallop speed. (even if you spam shift, you wont be able to canter)
If you aren't overencumbered: Holding shift (instant gallop enabled) will get you to canter speed (max speed).
This change also applies in cities as well, if you're overencumbered you wont be able to canter in cities and vice versa (as long as you have galloping in cities enabled of course).
But in any case, the edit that I did shouldn't affect instant gallop in the first place in fact I don't think it affects any function of this mod.
Edit: For "less hardcore" players, you could add some more conditions on "if(thePlayer.HasBuff(EET_OverEncumbered))" like "!thePlayer.GetIsHorseRacing()" so that cantering will be enabled during horse races, for me though it would be unnecessary as it defeats the purpose..
Edit 2: If I find some free time tomorrow, I might work on the menu options as well, I have a couple of things in mind...
Thank you for the idea.
I don't get whether the problem is because you have "Slow Motion" option from the main version, or were you asking if this option is gone?
I have a problem with the gamepad controls. When I hold the A button Roach goes into full gallop instead of cantering. Same happens when I double tap or triple tap A. On the other hand if I use my keyboard to hold Left Shift everything works correctly and Roach canters instead of gallops. Any ideas?
EDIT: I'm using the latest no slow-motion version. I also tried remapping galloping away from the A button to the Left Stick click, canter still refuses to work by holding A, but Roach doesn't gallop now either that way. Galloping worked by clicking Left Stick as intended.
I also have merged all the scripts successfully.
EDIT2: I tried uninstalling this mod and cantering worked by holding the A button as it should.
I also may have gotten galloping and cantering mixed up. What I mean with galloping is Roach going the fastest speed and cantering the second fastest lol. (Correct me if I'm wrong.)
I suggest you backup "input.setting", run the game to generate a new one.
Then install the mod with Witcher 3 Mod Manager, as sole mod.
Let me know if that fix the inputs or the speed. After that, you can reinstall your mod list and merge them again.
When you hold the sprint command, you will reach Gallop speed, and you have to tab once again for Canter speed.
Anyway, I made a switch to Alternate Horse Controls, both the hold for gallop and double tap and hold for canter commands are working perfectly on gamepad with said mod.
So which speed is supposed to be? The gallop (fast and no stamina cost) or the canter (faster but stamina cost)?
I'm might do something about it.
Like I mentioned earlier no command would make Roach gallop during my testing, they all just made her go full canter speed.
EDIT: Oh and when I used keyboard Left Shift it did work like that. (Hold Left Shift = gallop, double tap and hold = canter) Description page has wrong info.
I also rework the description, since you were right.