If the player is located on another character (such as riding a horse) there needs to be a simple way to move that character instead of the player when the player enters a movement command.
This needs a new "character ridden by" option in the character actions, so we can do:
[ Move ][ character ridden by ][ The player character ][ in direction ][ referenced direction ]
WORKAROUND:
You have to execute a sub-task and pass the key %Player%.CharOnWho and the %direction% to it and then move the referenced character in that direction.
Another workaround is to set a variable when the PC mounts the horse (e.g. Riding_Horse) and copy and paste the original PLAYER MOVEMENT general task, the copy being renamed to PLAYER MOVEMENT (Horse) for when the player is on the horse. The original PLAYER MOVEMENT task restrictions would have the additional restriction VARIABLE Riding_Horse MUST BE EQUAL TO 0 with the restriction VARIABLE Riding_Horse MUST BE EQUAL TO 1 in the new PLAYER MOVEMENT (Horse) general task.
You must remember to set the Riding_Horse variable back to 0 when the PC dismounts from the horse.
I have the above in my forthcoming game "Die Feuerfaust" and it works very well.
Don't forget that there are other things which can be ridden such as a bicycle, and you wouldn't define a bicycle as a character!