• 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?".
  • 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
    • 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
    • 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
    • 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