• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

XSE Scripting Tutorial

Status
Not open for further replies.

Darthatron

巨大なトロール。
1,152
Posts
18
Years
Hello, welcome to my XSE Tutorial, I hope some people ind it helpful. XSE is the revolutionary Script Editing Tool by - HackMew -. Please leave comments on how helpful this was to you. :) Here is a quick OverVeiw of XSE:
27831120ep2.png


XSE will be available for download in the ToolBox shortly, I have the Release Candidate version and it is simply fantastic. When you all have the chance to download XSE I'm sure you'll fall in love with it as much as I did. :D Look in the spoiler for the very basics of scripting in XSE.

Spoiler:

Presuming you already know the basics I will start explaining how the actual scripting works, it is nearly completely the same as ScriptEd and PokeScript but with some differences that you will find out during this tutorial.

1. A basic talking script!
________________________


Ok, as usual we will start with the Important parts, the begining. So, your script should look something like this:
Code:
#Dynamic 0x800000

#ORG @Main
In talking scripts, and in some others, you must have these 2 lines.
Code:
Lock
FacePlayer
I'll now explain what these lines of code do...
Spoiler:


So now your script should look something like this:
Code:
#Dynamic 0x800000

#ORG @Main
Lock
FacePlayer
Next we will be adding the "Offset" where the text is "Saved". So add these 2 lines of code and then I will explain them shortly:
Code:
Message @Speak
BoxSet 0x6
Once again, you may replace the word "Speak" with any other word as it is just for reference. Now to explain to you what these lines of code mean...
Spoiler:


So now your script should look similar to this:
Code:
#Dynamic 0x800000

#ORG @Main
Lock
FacePlayer
Message @Speak
BoxSet 0x6
Rightio, next we are going to add 2 more new lines, get ready:
Code:
Release
End
Now these 2 lines are very important, especially the later. Now, once more I will explain what these lines mean!
Spoiler:
Don't worry, we are almost finished, just 2 more lines of code.

Your Script should look something like this now:
Code:
#Dynamic 0x800000

#ORG @Main
Lock
FacePlayer
Message @Speak
BoxSet 0x6
Release
End
Now we are going to put what the actual Message is, this is the part we have all been waiting for! Put these 2 lines of code at the bottom of your script:
Code:
#ORG @Speak
= This is a message!
And for the last time today I will explain what there lines of code mean!
Spoiler:


Well, that's all I have time for today, but I will edit this post and add some more tutorials in the future. Until then, I'll be programming. :D

2. Compiling the script!
________________________


To compile a script into a ROM you just have to follow 3 simple steps.
  1. Make sure the script you want to compile is open in XSE.
  2. Go into the "File" menu and click "Open...", select the ROM you want to compile the script into.
  3. Then click the Compile button
    41551228tr2.png
    , and that's it. Your script is comiled into your ROM.
 
Last edited by a moderator:
1,104
Posts
16
Years
You got this up quick. Maybe a little too early, but still good.
Hmmm. A tool, that a tool maker loves.
If you're writing this one up, you've got a lot of commands to work with. I wish I'd seen it sooner, I couldn't figure out the dynamic offset thing on my own.
 

ZodiacDaGreat

Working on a Mobile System
429
Posts
17
Years
Great Darthathron cause in XSE, some commands have new parameters like wildbattle
Anyways great job putting this up!!!
Looking forward to see it completed
 

Darthatron

巨大なトロール。
1,152
Posts
18
Years
You got this up quick. Maybe a little too early, but still good.
Hmmm. A tool, that a tool maker loves.
If you're writing this one up, you've got a lot of commands to work with. I wish I'd seen it sooner, I couldn't figure out the dynamic offset thing on my own.
Yes, I realize it's out early but I want whoever else who might test it to be able to do it well, right?
I love all - HackMew -'s tools, I also have no doubt that he is a best programmer than myself. :D

Thanks for commenting. :)

Great Darthathron cause in XSE, some commands have new parameters like wildbattle
Anyways great job putting this up!!!
Looking forward to see it completed
I have realized that too. I won't be doing anymore of this tutorial tonight however, I think I should find my Visual Basic install disk and release the new PEP... Thanks for commenting.
 
Last edited:

destinedjagold

You can contact me in PC's discord server...
8,593
Posts
16
Years
  • Age 33
  • Seen Dec 23, 2023
I don't understand how the compiling is... I guess what I'm trying to say is that I think I need some screen/visual help... :\

And thanks for the quick tutorial though. :D
 

cooley

///Keepin' it simple
1,148
Posts
17
Years
Well, I understand now, and 'm already used to it.
It's just I'm still waiting on m Unlock Key for a different computer.

But I've still tried it, and Nice tutorial!
 

/Circa

a face in the clouds.
881
Posts
16
Years
Would it matter if we put normal commands as lowercase?
Such as lock, faceplayer.

Because I figure, it's like scriptEd, but much better, you cant find your own offset and all you need is the #dynamic 0x000000 at the start. It's a good idea :P.
 

Darthatron

巨大なトロール。
1,152
Posts
18
Years
Yeah, LowerCase still works, infact that's how it descripts it. I just think it is easier to read and learn with UpperCase in the right positions. :) I plan to update this later in the week, by the way.
 

rsr13

PokéHelp Creator
18
Posts
16
Years
  • Age 31
  • Seen Feb 11, 2010
It's good that you discoverd it a little to early..
I like it .. Thanx for the tutorial
 
437
Posts
16
Years
#ORG $begin
lock
faceplayer
checkflag 0x200
if B_true goto $done
message $person
boxset 6
givepokemon 1 5 0
setflag 0x200
release
end

#org $done
message $person2
boxset 6
release
end

#org $person
$person = Hello,

I have done this to get give pokemon

but what do i put for the players name is it h01?
 

Darthatron

巨大なトロール。
1,152
Posts
18
Years
#ORG $begin
lock
faceplayer
checkflag 0x200
if B_true goto $done
message $person
boxset 6
givepokemon 1 5 0
setflag 0x200
release
end

#org $done
message $person2
boxset 6
release
end

#org $person
$person = Hello,

I have done this to get give pokemon

but what do i put for the players name is it h01?
That is a pokescript script, this tutorial is for XSE. Plus this should go into the Script Help thread anyway.
 

SerenadeDS

Trainer
283
Posts
17
Years
  • Age 31
  • Seen Jan 7, 2013
Thanks for the tut Darthatron! XSE is an awsome program, so this should help some people that decide to use XSE get started.
 

Green Charizard

pɹɐzıɹɐɥɔ uǝǝɹƃ
251
Posts
19
Years
You can not currently download this as HackMew has not released it publicly. Only "Pre-Release Candidates" have a copy.

But, nice tutorial Darthatron it should prevent some confusion on it's release.
 

/Circa

a face in the clouds.
881
Posts
16
Years
I beleive he released it, but you need an activation key?
I have a script i'm having problems with, when I land on the tile, the game freezes.
All I have to click is compile, and put the dynamic offset into A map right?

Code:
#dynamic 0x800000

#org @begin
lock
checkflag 0x200
if 1 goto @done
message @stop
boxset 0x6
applymovement 0x3 @coming
waitmovement 0
message @dontgo
boxset 0x6
applymovement 0x3 @going
applymovement 0xFF @follow
waitmovement 0
message @dangerous
boxset 6
release
end

#org @stop
= Wait \v\h01!

#org @dontgo
= Don't go out there!

#org @dangerous
= Wild Pokemon jump out of\n the grass on the way\p to the next town.

#org @coming
#raw 0A
#raw 0A
#raw 0A
#raw 0A
#raw FE

#org @going
#raw 0B
#raw 0B
#raw 0B
#raw 0B
#raw 02
#raw FE

#org @follow
#raw 0B
#raw 0B
#raw 0B
#raw FE

#org @done
release
end
 
230
Posts
16
Years
  • Seen Jan 3, 2010
I thought it was a rumour (it wasn't there in early beta versions) but you need to get an activation key from HackMew but you won't get it if you aren't chosen as a beta tester.

Anyway, I had a chance to test it out in early beta stages and later when Andrea added dynamic offsets (which are better than Pokéscript's - you can even use mixed offsets - dynamic AND static) and I am happy with it. This tutorial is neat and I like it.

Keep it up!

Offtopic comment:
Why do you write some words weird way, Darthatron? In scripting editor or sometimes in post... For example BoxSet or LowerCase, it looks silly. Sorry :x
 
Last edited:

HackMew

Mewtwo Strikes Back
1,314
Posts
17
Years
  • Seen Oct 26, 2011
Well, thanks for your efforts Darthatron. Anyway, I'd like to say I'm already preparing a complete readme/guide for XSE (which will be included in the final release, obviously) to explain all the features and commands XSE has. And since you're not the programmer you would sure miss a lot of hidden or kinda "undocumented" features.
Feel free to continue your tutorial as long as you won't blame me to make something more complete.
 

/Circa

a face in the clouds.
881
Posts
16
Years
I just noticed, basic scriptEd works in XSE aswell.
And the dynamic offset really isn't needed, a scriptEd script would work fine.
For instance using a basic pointer would work.

Code:
#org 0x800000
Good tut though.
 
Status
Not open for further replies.
Back
Top