The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.

Closed Thread
Click here to go to the first staff post in this thread.  
Thread Tools
  #1    
Old February 23rd, 2008, 11:12 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
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:


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:
XSE has a new Automatic Offset Location system, not unlike PokeScript. But instead of using the "$" sign it uses the "@" sign, in my eyes it makes more sense to use the "@" sign because it is "at" the location. Anyway, it is farely simple to use and I will just give you a brief description on it.

Basically, if you used PokeScript you will get the gist of this system. At the start of your script put something like this:
Code:
#Dynamic 0xOffset
but replace the word "Offset" with the Hexadecimal offset with free space (FF for FireRed and LeafGreen, 00 for Ruby and Sapphire).

Example: In FSF (Free Space Finder) you have to find a certain amount of "Free Space", depending on how large your script is. For simplicity just search for a large number, something between 100 and 300 should be plenty. Next click the "Search" button in the ListBox you should see something like this:

Click the "Copy" button and replace the word "Offset", in our script above, with that Value.

So far our script should look something like this:
Code:
#Dynamic 0x3B4D84
Ok, next we are going to get to the actual scripting! Ho-rah!

Ok, to start a script you must put the following line of code, no matter what kind of script you are doing:
Code:
#ORG @Start
Feel free to replace the word "Start" with any other word, it really doesn't matter what word you use, it is just for reference. Anyway, so far the script should look something like this:
Code:
#Dynamic 0x3B4D84

#ORG @Start
It doesn't have to look exactly like that, but it should look similar.

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:
"Lock" = Makes it so the Player can't move and the NPC you are talking to also won't be able to move.
"FacePlayer" = This code makes it so the NPC you are talking to looks at the Player.


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:
"Message" = This is just a simple word that allows you to incert a message, this would have to be one of the most used functions in Pokemon Scripting.
"@Speak" = This is the offset at which the "Message" will be saved, of course you can use any word instead of "Speak" as it is just for reference.
"BoxSet 0x6" = This is merely a function used to show you how the message is shown in the game. The "0x6" means it is just a normal TextBox, you can also use "0x5" which is a "Yes/No" Box, I will go into more detail for that at a later time.


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:
"Release" = This function give your Player the ability to move again, it also allows the NPC you are talking to the ability to walk around as well.
"End" = This simply means that it is the End of the script and makes it so the Game doesn't continue to read the data.
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:
"#ORG @Speak" = This is merely the place that you pointed to earlier in the script, if you didn't use the word "Speak" before, you must change this "Speak" to the same word.
"= This is a message!" = This the message that will be displayed in-game. Feel free to change the "This is a message!" text to whatever you want the person you are talking to, to say.


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 , and that's it. Your script is comiled into your ROM.
__________________
あなた は しきしゃ です
わたし は ばか です

Last edited by hashtag; April 15th, 2010 at 07:36 AM.
  #2    
Old February 24th, 2008, 12:55 AM
thethethethe
Gym Leader
 
Join Date: Jun 2007
Location: Melbourne, Australia
Gender: Male
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.
__________________
Gone.
  #3    
Old February 24th, 2008, 01:02 AM
ZodiacDaGreat's Avatar
ZodiacDaGreat
Working on a Mobile System
 
Join Date: Feb 2007
Location: South Pacific
Age: 22
Gender: Male
Nature: Relaxed
Send a message via ICQ to ZodiacDaGreat
Great Darthathron cause in XSE, some commands have new parameters like wildbattle
Anyways great job putting this up!!!
Looking forward to see it completed
__________________
  #4    
Old February 24th, 2008, 01:02 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
Quote:
Originally Posted by thethethethe View Post
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.

Quote:
Originally Posted by ZodiacDaGreat View Post
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 by Darthatron; February 24th, 2008 at 01:06 AM. Reason: Just cos.
  #5    
Old February 24th, 2008, 01:04 AM
destinedjagold's Avatar
destinedjagold
Oh Hai Thar~ 'ω'
Community Supporter
 
Join Date: May 2007
Location: Philippines
Gender: Male
Nature: Careful
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
__________________
  #6    
Old February 24th, 2008, 01:13 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
Here is a very quick outveiw of XSE I made in Paint is about 12 seconds:
__________________
あなた は しきしゃ です
わたし は ばか です

Last edited by Darthatron; February 24th, 2008 at 02:01 AM.
  #7    
Old February 26th, 2008, 01:21 PM
cooley's Avatar
cooley
///Keepin' it simple
Community Supporter
 
Join Date: Feb 2007
Location: United States
Age: 20
Gender: Male
Nature: Impish
Send a message via Windows Live Messenger to cooley Send a message via Skype™ to cooley
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!
__________________

  #8    
Old February 26th, 2008, 04:15 PM
zolo1243's Avatar
zolo1243
Sexist Salamence Fan
 
Join Date: Oct 2007
Gender:
Nature: Lax
where can i download XSE?
__________________
I Love My Lv.100 Adamant Salamence. If only she were shiny...

Male Salamences can all DIE!! FEMALES RULE SUPREME!
  #9    
Old February 26th, 2008, 09:47 PM
/Circa's Avatar
/Circa
a face in the clouds.
 
Join Date: Nov 2007
Location: Melbourne, Victoria
Gender: Male
Nature: Quiet
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 .
  #10    
Old February 26th, 2008, 09:58 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
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.
__________________
あなた は しきしゃ です
わたし は ばか です
  #11    
Old February 27th, 2008, 11:49 AM
rsr13's Avatar
rsr13
PokéHelp Creator
 
Join Date: Jun 2007
Gender:
Nature: Adamant
It's good that you discoverd it a little to early..
I like it .. Thanx for the tutorial
__________________
Maker of Pokémon Black (Return of Kionn)
Maker of PokéHelp!
  #12    
Old February 27th, 2008, 02:01 PM
Vegeta™'s Avatar
Vegeta™
 
Join Date: Jul 2007
Location: London, UK
Age: 23
Gender: Male
Nature: Modest
#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?
__________________
My Pokemon Y Team:


My Pokemon Alpha Sapphire Team:
  #13    
Old February 27th, 2008, 04:51 PM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
Quote:
Originally Posted by knight View Post
#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.
__________________
あなた は しきしゃ です
わたし は ばか です
  #14    
Old February 27th, 2008, 05:02 PM
SerenadeDS's Avatar
SerenadeDS
Trainer
 
Join Date: Feb 2007
Thanks for the tut Darthatron! XSE is an awsome program, so this should help some people that decide to use XSE get started.
  #15    
Old February 27th, 2008, 05:08 PM
Vegeta™'s Avatar
Vegeta™
 
Join Date: Jul 2007
Location: London, UK
Age: 23
Gender: Male
Nature: Modest
This looks much more easy where can i donwload this
__________________
My Pokemon Y Team:


My Pokemon Alpha Sapphire Team:
  #16    
Old March 1st, 2008, 05:57 AM
Green Charizard's Avatar
Green Charizard
pɹɐzıɹɐɥɔ uǝǝɹƃ
 
Join Date: Nov 2004
Location: the UK
Gender:
Nature: Quiet
Send a message via Windows Live Messenger to Green Charizard
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.
__________________


  #17    
Old March 3rd, 2008, 12:18 AM
/Circa's Avatar
/Circa
a face in the clouds.
 
Join Date: Nov 2007
Location: Melbourne, Victoria
Gender: Male
Nature: Quiet
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
__________________
dragging himself, forw
ard again, the pain has
still not diminished. E
ventually though, he e
merges inside a v
ery large room w

here everything about

the house

suddenly

changes.
  #18    
Old March 3rd, 2008, 12:35 AM
Νιτραμ
Trainer
 
Join Date: Nov 2007
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
__________________
If you remeber me, feel free to send me a PM ;-)

Last edited by Νιτραμ; March 3rd, 2008 at 11:00 AM.
  #19    
Old March 3rd, 2008, 11:18 AM
HackMew's Avatar
HackMew
Mewtwo Strikes Back
 
Join Date: Jun 2006
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.
__________________
  #20    
Old March 16th, 2008, 01:59 AM
/Circa's Avatar
/Circa
a face in the clouds.
 
Join Date: Nov 2007
Location: Melbourne, Victoria
Gender: Male
Nature: Quiet
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.
__________________
dragging himself, forw
ard again, the pain has
still not diminished. E
ventually though, he e
merges inside a v
ery large room w

here everything about

the house

suddenly

changes.
  #21    
Old March 26th, 2008, 05:31 AM
NTA's Avatar
NTA
Where?
 
Join Date: Nov 2007
Nature: Adamant
who does the XSE belong to HackMew or Darthatron? i feel confused
__________________

  #22    
Old March 26th, 2008, 07:48 AM
Black Charizard.'s Avatar
Black Charizard.
Alter Ego
Community Supporter
 
Join Date: Mar 2007
Age: 22
Gender: Male
Nature: Relaxed
Well this is not a questions thread actulie.

but okay HackMew is the maker of XSE Darthatron just maked the tut.
__________________
If you traded with me and want to leave a review for me I would really appreciate it! :D
My Review Thread

Current giveaways:
  #23    
Old May 14th, 2008, 04:14 AM
Totypoke1's Avatar
Totypoke1
Beginning Trainer
 
Join Date: Feb 2008
Hey Darthatron, where can i download XSE script editor
i'm a n00b scripter so ow bout telling me where to download
it.
  #24    
Old May 14th, 2008, 04:28 AM
Darthatron's Avatar
Darthatron
巨大なトロール。
Community Supporter
 
Join Date: Jan 2006
Location: Melbourne, Australia
Age: 23
Gender: Male
Nature: Modest
Quote:
Originally Posted by Totypoke1 View Post
Hey Darthatron, where can i download XSE script editor
i'm a n00b scripter so ow bout telling me where to download
it.
It's not available for download yet. I just have the BETA. It should be released soon.
__________________
あなた は しきしゃ です
わたし は ばか です
  #25    
Old May 18th, 2008, 05:59 PM
Jawash's Avatar
Jawash
<Beat EVERY SINGLE DragonQuest
 
Join Date: May 2008
Age: 23
Gender:
Nature: Gentle
Quote:
Originally Posted by Darthatron View Post
It's not available for download yet. I just have the BETA. It should be released soon.
really now?
there is only a beta. interesting =]
where is that even?
but i've heard news on this, only a teency bit, but is sounds like it'll be worth while.
i REALLY look forward to it's completion ;D
Closed Thread
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 06:59 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.