Fable3mod
Discussions for modifying Fable 3

Home » Modding Forums » Mods » Walk Mod (and "how to")
Walk Mod Thu, 19 September 2013 04:50 Go to next message
Artofeel is currently offline  Artofeel
Messages: 195
Registered: August 2013
Location: Russia
Senior Member
since developers did not bother to "walk mode", we can do it for them
go to
%AppData%\Lionhead Studios\Fable 3\Controls\"your xuid"
example:
%AppData%\Lionhead Studios\Fable 3\Controls\1000100010001000
and open Controls.xml

then go to the 8588 line and see the following:
<GameActionInputCombination>
	<GameAction type="int">1</GameAction>
	<Modifier type="bool">False</Modifier>
	<OnePerFrame type="bool">True</OnePerFrame>
	<ReconfigurableInputLabel type="int">15</ReconfigurableInputLabel>
	<ModifierInput></ModifierInput>
	<Inputs>
		<Input>
			<Type type="int">1</Type>
			<KeyboardKey type="int">17</KeyboardKey>
			<EventType type="int">2</EventType>
			<ControlDirection>
				<X type="float">0.000000 0</X>
				<Y type="float">1.000000 3F800000</Y>
			</ControlDirection>
		</Input>
	</Inputs>
</GameActionInputCombination>

this is "Forward" button, default "W"
modify speed (Y type), for example reduced by half:
				<Y type="float">0.500000 3F000000</Y>

important change Hex64 value (3F800000), float itself will change after game loading, but you can own.

then go to line 8660
<GameActionInputCombination>
	<GameAction type="int">1</GameAction>
	<Modifier type="bool">False</Modifier>
	<OnePerFrame type="bool">True</OnePerFrame>
	<ReconfigurableInputLabel type="int">16</ReconfigurableInputLabel>
	<ModifierInput></ModifierInput>
	<Inputs>
		<Input>
			<Type type="int">1</Type>
			<KeyboardKey type="int">31</KeyboardKey>
			<EventType type="int">2</EventType>
			<ControlDirection>
				<X type="float">0.000000 0</X>
				<Y type="float">-1.000000 BF800000</Y>
			</ControlDirection>
		</Input>
	</Inputs>
</GameActionInputCombination>

this is "Backward", default "S"
reduce speed twice:
				<Y type="float">-0.500000 BF000000</Y>


then go to line 8732
<GameActionInputCombination>
	<GameAction type="int">1</GameAction>
	<Modifier type="bool">False</Modifier>
	<OnePerFrame type="bool">True</OnePerFrame>
	<ReconfigurableInputLabel type="int">17</ReconfigurableInputLabel>
	<ModifierInput></ModifierInput>
	<Inputs>
		<Input>
			<Type type="int">1</Type>
			<KeyboardKey type="int">30</KeyboardKey>
			<EventType type="int">2</EventType>
			<ControlDirection>
				<X type="float">-1.000000 BF800000</X>
				<Y type="float">0.000000 0</Y>
			</ControlDirection>
		</Input>
	</Inputs>
</GameActionInputCombination>

this is "Left", default "A"
reduce speed (X type) twice:
				<X type="float">-0.500000 BF000000</X>


then go to line 8804
<GameActionInputCombination>
	<GameAction type="int">1</GameAction>
	<Modifier type="bool">False</Modifier>
	<OnePerFrame type="bool">True</OnePerFrame>
	<ReconfigurableInputLabel type="int">18</ReconfigurableInputLabel>
	<ModifierInput></ModifierInput>
	<Inputs>
		<Input>
			<Type type="int">1</Type>
			<KeyboardKey type="int">32</KeyboardKey>
			<EventType type="int">2</EventType>
			<ControlDirection>
				<X type="float">1.000000 3F800000</X>
				<Y type="float">0.000000 0</Y>
			</ControlDirection>
		</Input>
	</Inputs>
</GameActionInputCombination>

this is "Right", default "D"
reduce speed twice:
				<X type="float">0.500000 3F000000</X>


then go to line 8318
<GameActionInputCombination>
	<GameAction type="int">76</GameAction>
	<Modifier type="bool">False</Modifier>
	<OnePerFrame type="bool">True</OnePerFrame>
	<ReconfigurableInputLabel type="int">9</ReconfigurableInputLabel>
	<ModifierInput></ModifierInput>
	<Inputs>
		<Input>
			<Type type="int">1</Type>
			<KeyboardKey type="int">42</KeyboardKey>
			<EventType type="int">1</EventType>
			<ControlDirection>
				<X type="float">0.000000 0</X>
				<Y type="float">0.000000 0</Y>
			</ControlDirection>
		</Input>
	</Inputs>
</GameActionInputCombination>

this is "RUN", default "Shift"
change it (KeyboardKey type) to the Caps-Lock, for example
			KeyboardKey type="int">58</KeyboardKey>


again go to line 8588
and copy-paste this after "Forward" button
<GameActionInputCombination>
	<GameAction type="int">1</GameAction>
	<Modifier type="bool">False</Modifier>
	<OnePerFrame type="bool">True</OnePerFrame>
	<ReconfigurableInputLabel type="int">15</ReconfigurableInputLabel>
	<ModifierInput></ModifierInput>
	<Inputs>
		<Input>
			<Type type="int">1</Type>
			<KeyboardKey type="int">42</KeyboardKey>
			<EventType type="int">2</EventType>
			<ControlDirection>
				<X type="float">0.000000 0</X>
				<Y type="float">0.500000 3F000000</Y>
			</ControlDirection>
		</Input>
	</Inputs>
</GameActionInputCombination>

it will be a new button "Shift" for additional forward speed

Of course you may not reduce speeds: back\left\right

in addition, the modified Controls.xml
Re: Walk Mod Fri, 11 September 2015 14:18 Go to previous messageGo to next message
TheGeniusSavant is currently offline  TheGeniusSavant
Messages: 68
Registered: September 2015
Member
Oh, my... this is over my head... where do I go to find this!

Edit: Found it. Mine is in:

C:\Users\(Username)\AppData\Roaming\Lionhead Studios\Fable 3\Controls\1000100010001000

[Updated on: Wed, 16 September 2015 09:50]

Report message to a moderator

Re: Walk Mod Thu, 17 September 2015 07:19 Go to previous messageGo to next message
TheGeniusSavant is currently offline  TheGeniusSavant
Messages: 68
Registered: September 2015
Member
Well...

I've been playing with this trying to make it work like *I* want. I want AlwaysRun with a walk option. I tried leaving the original WASD speed and just using the last two steps (changing the toggle to CAPS LOCK and making additional SHIFT) but I used:

<ControlDirection>
<X type="float">0.000000 0</X>
<Y type="float">-0.500000 3F000000</Y>
</ControlDirection>

to try to SLOW DOWN forward movement. The game burped and magically rewrote it to the original.


Next, I tried modifying your file by copying the toggle key (instead of the forward key), hoping that it would tell the game something like "CAPS LOCK = double the speed, then SHIFT = double the speed again". Well, what it actually told the game was "CAPS LOCK = toggle run on/off, then SHIFT = toggle run on/off again"... pretty worthless...

I'm thinking about toying with C:\Program Files (x86)\Microsoft Games\Fable III\data\scripts\miscellaneous\herolocomotionstates.lua again to see if I can trick it THAT way (maybe with a negative sprint modifier?Wink Alternatively, I was thinking about just making an ENTIRELY different set of keys for walk, perhaps IJKL (because I REALLY like the way she looks when she walks... just too bad there are no high heels in the game... yet Razz maybe I can figure that out soon...Wink

*sigh* well... we'll see how this turns out... I have a LOT of other tweaks I'm working on right now, so this may not take priority (as I'm not TOO dissatisfied with just letting her run/sprint all the time...Wink
Re: Walk Mod Thu, 17 September 2015 07:34 Go to previous messageGo to next message
TheGeniusSavant is currently offline  TheGeniusSavant
Messages: 68
Registered: September 2015
Member
I just looked at herolocomotionstates.lua again... I'm pretty sure that "HeroLocomotionData%actiontype%.SprintSpeedMultiplier =" only controls what happens when you hit the sprint (modded to run) toggle. I guess something else will have to be found. I wish I understood what the <ModifierInput></ModifierInput> was and how it worked - It SEEMS logical that you should be able to put the SHIFT key in as <ModifierInput> and tell it to reduce control direction by half, but I have absolutely NO clue how that works. I may have to teach myself how to read the executable to figure out what all the codes mean? (I don't even know what I need to know, to be honest...Wink

Well, off to hunt the white stag.
TGS
Re: Walk Mod Thu, 17 September 2015 09:52 Go to previous messageGo to next message
TheGeniusSavant is currently offline  TheGeniusSavant
Messages: 68
Registered: September 2015
Member
First off, I tried copying WASD to IJKL and setting WASD to 1.2x speed with IJKL at 0.7x. It burped again. ALL of the keys gave me 0.7x (plus "sprint" modifier, of course). Now that I think about it, I wonder if max control direction is 1.0... that seems likely, honestly. I think I'm going to try that again with 1.0 and 0.5.

so...
I found the following code in the XML file. It is ALT + K, which I'm guessing is a shortcut for Keyboard Layout (ironically enough):

Quote:
<GameActionInputCombination>
				<GameAction type="int">19</GameAction>
				<Modifier type="bool">False</Modifier>
				<OnePerFrame type="bool">True</OnePerFrame>
				<ReconfigurableInputLabel type="int">0</ReconfigurableInputLabel>
				<ModifierInput></ModifierInput>
				<Inputs>
					<Input>
						<Type type="int">1</Type>
						<KeyboardKey type="int">56</KeyboardKey>
						<EventType type="int">2</EventType>
						<ControlDirection>
							<X type="float">0.000000 0</X>
							<Y type="float">0.000000 0</Y>
						</ControlDirection>
					</Input>
					<Input>
						<Type type="int">1</Type>
						<KeyboardKey type="int">37</KeyboardKey>
						<EventType type="int">1</EventType>
						<ControlDirection>
							<X type="float">0.000000 0</X>
							<Y type="float">0.000000 0</Y>
						</ControlDirection>
					</Input>
				</Inputs>
			</GameActionInputCombination>


I'm wondering if I can do the same for each of WASD with the LSHIFT (e.g. LSHIFT + W for forward 0.5). Sad We may never know...

At least I found this handy link to figure out the key numbers!

http:// www.computercraft.info/wiki/images/8/81/CC-Keyboard-Charcode s.png
Re: Walk Mod Thu, 17 September 2015 10:23 Go to previous messageGo to next message
TheGeniusSavant is currently offline  TheGeniusSavant
Messages: 68
Registered: September 2015
Member
NOPE... SHIFT+WASD didn't work either... There's bound to be a way; my programming skills are just too limited at this point. I suppose a REAL hacker could just insert code into the source or something cool like that...

Anyway, I'm tired of trying for today so I'll drop it and come back some other time.
Re: Walk Mod Wed, 30 September 2015 14:07 Go to previous messageGo to next message
TheGeniusSavant is currently offline  TheGeniusSavant
Messages: 68
Registered: September 2015
Member
So, I finally figured out how to make this mod bearable for me.

First of all, for my directional keys, I bumped my "walk" speed up to 0.6 (so, your first instruction, I changed the line as follows)
				<Y type="float">0.600000 3F000000</Y>

I left the "shift" key for extra "forward" just like you said (0.5).

But the REAL kicker was that I went into %game%\data\scripts\miscellaneous and changed up a few things in

herolocomotionstates.lua


These changes combine to make the max sprint speed ALMOST 8.0, the definitional maximum speed in the game while giving you a pleasant range of speeds:

speeds


Also nice is that if your "sprintToggle" gets automatically turned off, you're not dragged down too badly.

Anyway, I hope this helps someone! Let me know if you want me to post files!

Re: Walk Mod Thu, 01 October 2015 10:16 Go to previous message
TheGeniusSavant is currently offline  TheGeniusSavant
Messages: 68
Registered: September 2015
Member
So, holding down the "shift" key was starting to hurt my poor little pinky finger (wah...)

I decided to fix it (after moving the two seemingly useless "F" buttons to "X") by moving ALL "E" presses to "F" (that's interactions like opening doors, whistling to dog, talking to people, etc.) and moving the "shift" to "E"! Now I can EASILY hold down BOTH forward buttons, whether using TWO fingers and steering solely by the mouse or pressing both with ONE finger! (There is one minor glitch. I can't turn right while "double" sprinting (holding both forward buttons). I don't know if it's just overloading that part of the keyboard, or what.)

Then I moved the sprint Toggle back to Lshift

Find and Replace values in quotes


Previous Topic: Intro disable
Next Topic: Heroine morph mod
Goto Forum:
  


Current Time: Fri Apr 19 00:35:27 PDT 2024

Total time taken to generate the page: 0.01697 seconds