Seen 5 Days Ago
Posted 1 Week Ago
1,294 posts
9.4 Years
XSE Scripting Tutorial for 2017

NOTE: If you are using pokéruby or pokéemerald, this tutorial is not relevant to you. This is for those who are still using binary hacking tools and methods.
If you're using pokéemerald, this tutorial is where you want to go!


I would like to first and foremost like to thank tajaros and diegoisawesome plus those who inspired them way back when for theirs which taught me the foundations of scripting. My tutorial aims to go over some points of theirs, make it as easy as possible for new members to learn, collect everything script-related on one page, and share some tips and tricks I picked up on my own that I wish someone had put in a tutorial when I was starting out! To find something in particular that you might be curious about that isn't immediately obvious in the contents list, you can Ctrl+F and search for a key word, such as "attack" if you're looking for something to do with attacks.

Scripting is, in my humble opinion, THE most important thing to learn in manipulating Pokémon games at this pre-disassembly stage we're at at this point in time. It's what you use to create your dialog, your events, your quests, to make stuff happen, to literally create your gameplay. You can create a perfectly good hack using default sprites and tiles in your ROM if you script it well. If you're new to ROM hacking, learn scripting first. Fancy tiles, custom sprites and all that stuff can come later.

The first thing you should do, if you haven't already, is download a copy of HackMew's XSE 1.1.1, Lu-ho's AdvanceMap 1.92 and a ROM of your choice. At this point in time this tutorial is for FireRed[FR] and Emerald[EM] only as these two seem to be the most popular ROMs of choice nowadays. If you find any terminology confusing or want very in-depth explanations of commands, I recommend DavidJCobb & Spherical Ice's extensive documentation on XSE commands here.


Table Of Contents

Part #1: The Basics
Part #2: The Core
Part #3: Manipulating the Overworld
*to be expanded upon*