Vas dans le script "Scene_Battle 3"
A la ligne 122, juste après le "when 0", rajoute
################################
if $actor_can_attack == true
################################
Puis juste après le "start_enemy_select", rajoute
################################
else
$game_system.se_play($data_system.cancel_se)
end
################################
Ensuite crée un event avec dedans la commande "script". Tu tapera dedans si tu veux ou pas que le hero puisse attaquer.
Si tu veux qu´il puisse le faire, tape
$actor_can_attack = true
sinon, tape
$actor_can_attack = false
Normalement çà devrais marcher. Attention, tu es obligé de faire en sorte que la variable actor_can_attack existe. Sinon tu aura un crash du jeu. Donc tu dois l´initialiser avant de lancer le premier combat du jeu. Et si tu as l´intention que le joueur puisse reprendre la partie après une sauvegarde, il faudra aussi t´arranger pour que le jeu sauvegarde ce qui est entré dans ta variable. En d´autres termes, si le joueur quitte le jeu puis relance la sauvegarde, puis qu´il fait un combat, la variable aura disparu. Pour que çà n´arrive pas, tu dois rajouter 2 petites lignes:
Dans le script "Scene_Save" (ligne 83), rajoute
Marshal.dump($actor_can_attack, file)
Dans le script "Scene_Load" (ligne 83), rajoute
$actor_can_attack = Marshal.load(file)
Ca devrais faire l´affaire.