Et non, « undo » n’est même pas une action. Le parser vérifie si la commande est « undo » très tôt, avant même « after reading a command ».
Deux solutions s’offrent donc à toi.
Tu peux utiliser « use undo prevention » et changer la réponse :
The immediately undo rule response (A) is "Blablabla".
Ou tu peux modifier le code I6 sous-jacent pour remplacer les mots permettant d’annuler par quelque chose d’impossible à taper (au sens du parser). Par exemple, un mot commençant par une virgule ou contenant une espace. Il te suffit de copier ce qui suit quelque part dans ta source.
[code]Include (-
Constant AGAIN1__WD = ‹ encore ›;
Constant AGAIN2__WD = ‹ g// ›;
Constant AGAIN3__WD = ‹ encore ›;
Constant OOPS1__WD = ‹ oops ›;
Constant OOPS2__WD = ‹ oops ›; ! ‹ o// ›;
Constant OOPS3__WD = ‹ euh ›;
Constant UNDO1__WD = ‹ ,impossible ›;
Constant UNDO2__WD = ‹ ,impossible ›;
Constant UNDO3__WD = ‹ ,impossible ›;
Constant ALL1__WD = ‹ tous ›;
Constant ALL2__WD = ‹ toutes ›;
Constant ALL3__WD = ‹ tout ›;
Constant ALL4__WD = ‹ tout ›;
Constant ALL5__WD = ‹ tout ›;
Constant AND1__WD = ‹ et ›;
Constant AND2__WD = ‹ et ›;
Constant AND3__WD = ‹ et ›;
Constant BUT1__WD = ‹ mais pas ›;
Constant BUT2__WD = ‹ excepte ›;
Constant BUT3__WD = ‹ sauf ›;
Constant ME1__WD = ‹ moi ›;
Constant ME2__WD = ‹ toi ›; !*! nous ? moi-même ?
Constant ME3__WD = ‹ vous ›;
Constant OF1__WD = ‹ de ›;
Constant OF2__WD = ‹ de ›;
Constant OF3__WD = ‹ du ›;
Constant OF4__WD = ‹ de ›;
Constant OTHER1__WD = ‹ autre ›;
Constant OTHER2__WD = ‹ autre ›;
Constant OTHER3__WD = ‹ autre ›;
Constant THEN1__WD = ‹ alors ›;
Constant THEN2__WD = ‹ puis ›;
Constant THEN3__WD = ‹ ensuite ›;
Constant NO1__WD = ‹ n// ›;
Constant NO2__WD = ‹ non ›;
Constant NO3__WD = ‹ non ›;
Constant YES1__WD = ‹ o// ›;
Constant YES2__WD = ‹ y// ›;
Constant YES3__WD = ‹ oui ›;
Constant AMUSING__WD = ‹ amusing ›;
Constant FULLSCORE1__WD = ‹ fullscore ›;
Constant FULLSCORE2__WD = ‹ full ›;
Constant QUIT1__WD = ‹ quit ›; !*! « q// » ?
Constant QUIT2__WD = ‹ quitter ›;
Constant RESTART__WD = ‹ recommencer ›;
Constant RESTORE__WD = ‹ charger ›;
-) instead of « Vocabulary » in « Language.i6t ».[/code]
Avec ça, le mot « undo » n’existera plus, et il y aura aucun moyen d’annuler.
(Pour les curieux : le code ci-dessus permet de remplacer une section dans le code I6, celle qui définit les mots spéciaux du parser comme « tout » ou « encore ». J’ai remplacé UNDO1__WD, UNDO2__WD et UNDO3__WD, qui sont ceux qui permettent d’annuler.)