You mean for changing commands? I believe you would have to do an if query for that with action parts or with Lua script as there's no set previous command action part available at the minute.
or here's a quick Lua example, if you are feeling adventurous...
-- action part example...
if command is 'walk'
set command 'use'
if command is 'use'
set command 'talk'
if command is 'talk'
set command 'walk'
-- add this inside of an "execute a script" action part...
if game.ActiveCommand:getName() == "Walk" then
game.ActiveCommand = Buttons["Look"]
elseif game.ActiveCommand:getName() == "Look" then
game.ActiveCommand = Buttons["Use"]
elseif game.ActiveCommand:getName() == "Use" then
game.ActiveCommand = Buttons["Talk"]
elseif game.ActiveCommand:getName() == "Talk" then
game.ActiveCommand = Buttons["Walk"]
... the Lua example above would be for updating to the next command. To set previous command you just need to change the names to suit. If "walk" then set talk instead of look etc.
As for the reason why it automatically jumps back to the default command after you click on something, it is because you have: Activate Standard Command
in the game
tab set to: Only after successful execution
. This means that if you left click on something & it contains an action for the currently active command, that it will return success & automatically jump back to the default command. Just change the option to Never
if you want the players to always have to change the command manually via right clicking or the mouse wheel.
P.S: by the way, all command will allow the character to walk. If you don't want character to walk for the other commands then it might be an idea to add an if query to the left mouse actions under mouse properties. Just create an execute a script action & add this code to it...
if game.ActiveCommand:getName() ~= "Walk" and not game.CurrentObject:isEmpty() then
game.CurrentCharacter.CharacterState = 2 -- stop character
... the code above will check if walk is not current command & there's no object / character below the cursor & if not then it will stop character from walking to a new destination. I've not tested the code, but it should work ok.