I added an item called Boots of Speed to my server (modified version of a RunUO script called FastFeet). They work pretty well - they give the wearer mount speed and the server checks for the shoe equipment slot on login, so there's no need to unequip/re-equip to get them to work. However if an access level "player" is wearing them, they get speed-throttled and lag after a few steps. I know I could disable Fastwalk protection to stop this but that would allow people to use third-party programs to get mount speed and render my boots useless. I know that I could script in that equipping the boots gives the wearer an access level of VIP while worn and change the Fastwalk script to not check players with access level of VIP or higher to achieve my goal - but I would really like to learn how to supersede the Fastwalk protection. Afaik I can't use an override so I'm at a loss.
 
Check out public override int ComputeMovementSpeed(Direction dir, bool checkTurning)
in PlayerMobile.cs

If your boots don't exceed the RunMount value, you shouldnt be getting triggers of the movement throttle.

Disabling the movement throttle either overall or when wearing boots will allow third party programs to alter speed freely, which as you've mentioned would make your boots all but useless.
 
ryth, with FastWalk.cs set to false and only using the PlayerMobile.cs FastWalkPrevention, a player still gets lagged when running - or walking - on foot while wearing these boots. I haven't exceeded the RunMount value. What I take the script to be saying is this:

Check to see if you're a "Player" (access level) and if you're not flying. If true then check to see if you're on a mount or, if unmounted, what form you currently have and use that information to determine what your maximum speed should be. Then, if you're capable of exceeding the calculated value (and not necessarily utilizing it) as in:
Unmounted and human form or in animal form that does not grant a speedboost but capable of moving faster than RunFoot
Any form, mounted or not, but capable of moving faster than RunMount
Your speed is throttled after 4 seconds of movement.

All of which makes good sense. If the FastWalkPrevention only kicked in when someone exceeded the RunMount value, these boots would be useless no matter what because it would mean players could speedhack up to mounted speed without a mount, a speed boosting item, or fear of any repercussions.
 
Last edited:
FastWalk.cs is depreciated by the newer movement throttling detection in PlayerMobile.cs
Code:
		#region Fastwalk Prevention
		private static bool FastwalkPrevention = true; // Is fastwalk prevention enabled?
		private static int FastwalkThreshold = 400; // Fastwalk prevention will become active after 0.4 seconds

This is likely what is producing the throttling side effect you're seeing. You can disable it right there in PlayerMobile, but I wouldnt recommend it.
 
Back