Logiciels & ROM Pokemon

Apprendre à scripter sur une ROM GBA

Vous en avez marre de devoir chercher à droite et à gauche pour apprendre à scripter ? Les tutoriels que vous trouvez sont périmé ? Ils ne marchent plus sur les versions actuelles ? Cet apprentissage est là pour vous, vous deviendrez un vrai pro' sur XSE 1.1.1 ! Commençons sans plus tarder.

Vous aurez besoin de matériel, comme à chaque fois :

-XSE 1.1.1, téléchargeable ici
-Une rom GBA
-Advance Map, téléchargeable ici
-Un fusil ou une corde (niark)

Bon, déjà, assurez-vous que XSE 1.1.1 soit assigné à Advance Map. C'est bon ? Let's go !

On va commencer par quelquechose de simple, très simple, où je vais en profiter pour vous expliquer en détail la fonction de chaque commande. On va apprendre à faire un "Message normal". Quand vous approcherez du personnage, et que vous parlerez avec lui en appuyant sur la touche A, il vous dira le message que vous avez scripté. Voici un exemple de "Message normal" :

Code:
'---------------
#org 0x6C54B2
msgbox 0x86D59B3 MSG_FACE '"Voici un mess..."
end

'---------
'Strings
'---------
#org 0x6D59B3
= Voici un message. Cool!

On va décortiquer le script.

Code:
'---------------
#org 0x6C54B2

Tout script commence par cette commande. C'est la base absolue. #org 0x[offset] signifie que votre script est entré dans la mémoire, il est assigné à un offset de la rom. C'est un peu le point de sauvegarde.

Code:
msgbox 0x8[autreoffset] MSG_FACE '""

"msgbox" signifie que votre message est dans une boîte de dialogue. Un dialogue commence toujours par cette commande, après le #org et compagnie. 0x8[autreoffset] est un appel au message. Votre message sera situé plus bas dans votre script, et assigné à un offset. On inscrit donc cet offset ici, mais aussi plus bas. MSG_FACE est une commande qui sert à ce que le personnage à qui vous parler vous regarde, et ne tourne pas la tête pendant le message. '"" n'est pas une commande à proprement parlé, mais il faut la mettre quand même.

Code:
'---------
'Strings
'---------

Ca vous indique que vous entrez dans une zone interdite. Nan, je rigole Wink En fait, vous entrez dans la zone où le message sera écrit.

Code:
#org 0x[autreoffset]

On revient à ce que je disait tout à l'heure. c'est le même offset qui est après msgbox 0x8.

Code:
= [votre message]

Ici, vous inscrivez votre message. Attention tout de même, je vous conseille d'utiliser l'ajusteur de texte (Outil > Ajusteur de texte) disponible dans XSE pour inscrire un texte long.

Vous savez maintenant inscrire un nouveau message. Pour compiler votre script, reportez-vous au tuto d'initiation si vous ne savez pas comment faire. Il est possible qu'après avoir compiler, votre script bug. Vérifiez toujours. Dans ce cas, changer simplement l'offset. Je vous recommande également de faire vos scripts sous bloc-note, et de les copier/coller dans les script des personnages.

Maintenant, on va apprendre à faire un message de pancarte. Ce script sera à rentrer dans un évent "Pancarte". Commençons sans tarder.

Code:
'---------------
#org 0x8B412A
msgbox 0x86BC415 MSG_SIGN '"Message de pa..."
end

'---------
'Strings
'---------
#org 0x6BC415
= Message de pancarte. Cool!

Le début, c'est du classique. Pas besoin de réxpliquer.

Code:
msgbox 0x8[autreoffset] MSG_SIGN '""

C'est pareil que tout à l'heure, sauf le type de message : MSG_SIGN. A utiliser pour les pancartes.

Code:
'---------
'Strings
'---------
#org 0x[autreoffset]
= [votremessage]

Exactement pareil que tout à l'heure.

Vous pouvez donc constater que c'est très similaire, les script de message normal et message de pancarte se ressemblent beaucoup. Rien à ajouter Wink