No need to change the engine. Just use the the scripting language and schedules and a global variable to hold the schedule.
When the speed up key is pressed, schedule a jogging check function and save the handle to the schedule into a global variable.
If A is released, cancel the schedule and set the global variable to 0.
If the shedule is fired, then set the animation to jogging and shedule the running check function. Again save the schedule.
If A is released, cancel the schedule and set the global variable to 0.
When the running check function is fired, play the run animation and set the global variable to 1.
if A is released, set the global variable to 0.
In the update function of the player you could check that global variable and if it is 0, slow him down and change the animation accordingly.
Torque 3D Owner Marc Dreamora Schaerer
Gayasoft
When the speed up key is pressed, schedule a jogging check function and save the handle to the schedule into a global variable.
If A is released, cancel the schedule and set the global variable to 0.
If the shedule is fired, then set the animation to jogging and shedule the running check function. Again save the schedule.
If A is released, cancel the schedule and set the global variable to 0.
When the running check function is fired, play the run animation and set the global variable to 1.
if A is released, set the global variable to 0.
In the update function of the player you could check that global variable and if it is 0, slow him down and change the animation accordingly.
I hope this helps :)