Les scripts dynamiques, utiliser XSE

1.Introduction

Pour commencer, si vous lisez ceci, vous savez probablement déjà ce qu’est le scripting, et dans le cas ou vous ne sauriez pas, c’est ce qui fait toutes les interactions dans les jeux pokémons. Tout ce qui réagit quand vous pressez A. Ca va de la pancarte qui vous donne une info inutile, au centre pokémon en passant par les pokéballs qui vous donnent des objets. En gros, C’est Quasi indispensable dans une hack. Les seuls cas ou on peut s’en passer, c’est quand on modifie juste le niveau des pokémons sauvages et des dresseurs, ou qu’on change les zones d’apparition sans toucher au reste.

2.Installer XSE

Pour scripter, il vous faut un programme appelé XSE. Dans ce tutoriel, je vais utiliser la version 1.1.1 que vous trouverez facilement sur google. Je suppose ici que vous avez déjà la dernière version d’Advance map (1.92). Après l’avoir installé, ouvrez A-map, allez dans le menu « Préférences » et choisissez « sélectionner l’éditeur de scripts » puis avec l’explorateur, sélectionnez XSE. Vous êtes prêts à scripter.

3.Les bases

Avant tout, le scripting, c’est comme de la programmation, on écrit un « programme » qui fera quelque chose de précis. C’est une succession de commandes. Pour commencer, la base de la base, où doit-on mettre le script pour qu’il fonctionne ? Dans un personnage ! Si vous ne savez pas ajouter un personnage, ré

A)La msgbox

C’est la commande la plus basique, comme son nom l’indique, elle ouvre une boite dans laquelle se trouve un message. Voici le script le plus facile qu’on puisse faire avec une msgbox :

#dynamic 0x800000
#org @start
msgbox @message 0x2
end

Comme c’est votre premier script, il y a pas mal de trucs à apprendre sur ce tout petit script. Pour commencer :

#dynamic 0x800000

Ca c’est ce qui dit à XSE à partir de quel endroit il doit commencer à écrire les commandes dans la rom. Pour éviter des problèmes il faut chercher un offset libre. Un offset, c’est en quelque sorte un point de repère qu’on trouve dans la rom, mais je reviendrai plus tard sur la méthode pour bien trouver un bon offset. Ensuite :

#org @start

#org est ce qui dit qu’on a affaire à quelque chose qui se trouve à un autre endroit de la mémoire. @start, c’est l’offset dynamique. Quand vous ouvrirez un script, il n’y aura jamais  ce genre de chose, mais un offset. Ca c’est un repère pour XSE. Pour vous éviter de devoir chercher tous les offsets manuellement (mais c’est quand même possible), le programme met à votre disposition un système d’offset dynamique. La commande qu’on a vue plus tôt sert à dire à XSE que notre script va contenir ce genre d’offsets et surtout à lui dire à partir de où il doit écrire les commandes dans la rom. En gros c’est très technique, mais on peut l’utiliser sans savoir exactement comment ca fonctionne. Venons en au fait principal :

msgbox @message 0x2

C’est la commande, c’est ce qui permet d’ouvrir une boite de message, elle a deux paramètres : un offset, c’est la que le jeu va aller lier le texte à afficher, et le deuxième, c’est le type du message, ici, c’est 0x2, donc c’est un message normal, référez vous à la section « types de messages » pour plus de précisions. Et enfin :

end

C'est ce qui dit au jeu que le script est fini, pour pas qu'il continue à interpréter la suite comme du script.

Bon maintenant, comment personnaliser son message? Eh bien il faut l'écrire dans la rom. C'est comme pour un script qui commence du début, sauf que comme on a déja mis la commande dynamic, on doit plus la remettre.

#org @message
= Votre texte

L'équipe ROM-Hacking de Pokémon Trash

Achetez Mario Odyssey 44.00E
Achetez la Nintendo Switch + Mario Odyssey 349,99E
Achetez Pokémon Ultra Soleil sur 3DS 33.99E
Achetez Pokémon Ultra Lune sur 3DS 33,99E
Modifier vos jeux 3DS en toute sécurité avec la Power Save 16,99E