Então, não sabendo redigir códigos, seria uma boa tentar fazer mesclando os comandos por eventos e os chamar script, como o makergame falou.
De início seria bom ser em evento comum, para que funcione em todos os mapas sem a necessidade de ter um evento em cada um. Processo paralelo para não impedir ou ser impedido por outros eventos e uma switch para tu ter controle; talvez em alguma cutscene tu não queira este evento funcionando, ou mesmo para testar incompatibilidades.
Primeiro tu vai criar a condição que checa se a tecla X está pressionada, afinal é o ativador do sistema. Isso é feito pelo código abaixo e tu vai por ele na condição, por script. Deixa a exceção dessa condição aberta, pois precisaremos dela.
Input.press?(:X)Dentro da condição, caso seja verdadeira, tu vai verificar se o gráfico do jogador já foi mudado, pois caso já tenha sido, significa que a tecla X já está sendo pressionada há algum tempo. Isso evita que o gráfico fique sendo mudado insistentemente, comendo processamento e pesando o sistema. Essa condição evitará que a mudança de gráfico seja lida repetidamente e pode ser feita pelo código abaixo. Só que, ao invés de verificar se o gráfico do jogador é o especificado, verificaremos se o gráfico é diferente do especificado.
$game_player.character_name != "Nome_do_gráfico""Nome_do_gráfico" será o nome do arquivo correspondente ao que o personagem irá assumir enquanto a tecla estiver pressionada. Dentro desta condição tu vai colocar um Mudar Gráficos do Jogador, que mudará para o gráfico desejado, e um Definir Rota de Movimento, em que tu ativará a animação fixa.
Na exceção da primeira condição, tu vai colocar uma condição semelhante à feita anteriormente, porém, verificando se o gráfico é igual ao desejado quando o jogador estiver com o botão pressionado. Ele servirá para, quando o botão não estiver pressionado, verificar se o gráfico ainda está alterado. Se tiver, ele irá "resetar" o gráfico, se não, irá ignorar e continuar o processamento. Assim como a condição anterior, é bem útil para evitar processamento desnecessário. Para verificar se o jogador está com um gráfico em específico é o mesmo código de antes, só que com o sinal trocado.
$game_player.character_name == "Nome_do_gráfico"Dentro dessa condição tu reseta o gráfico e desativa a animação fixa. Por fim, a pequena programação deve ficar similar à da imagem. Espero que seja o que esteja procurando. Qualquer problema que tiver ao replicar tu manda aí, talvez queira adicionar mais algo. Um sonzinho, talvez? Mas antes de olhar na imagem e fazer igual, peço que tente bolar o sistema a partir do prescrito no tópico, seria bom pro entendimento.

