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

Sierra's MEGA-HUGE XSE Scripting Tutorial

Editman

Pokemon Collector
346
Posts
15
Years
    • Age 34
    • Seen Mar 30, 2014
    You have a lot of misplaced pointers and have input some incorrect/ unnecessary commands. Below should be a fully functioning script once you change/ delete some of the commands and their values.

    Red = I have changed it/ you have to edit it depending on what you want. Blue = Delete it. Messages after '//' are my specific comments on what you should do.

    Spoiler:


    Try not to rush while making scripts and make sure that you study the structure of scripts already in the game. Alot of the mistakes in your script were quite simple and could be dealt with easily if you slowed down and took the time to comb through it :)

    Well this is my first, I just so happened to have been looking at Sabrina's scrip when i accidentally deleted it. That's what made me want to put a new trainer in that spot. So what do I do, when i finish it?
     
    19
    Posts
    12
    Years
    • Seen Jun 6, 2012
    Hi i wrote a code but xse doesn't compile it. What's wrong with it?

    Spoiler:
     

    DrFuji

    [I]Heiki Hecchara‌‌[/I]
    1,691
    Posts
    14
    Years
  • Hi i wrote a code but xse doesn't compile it. What's wrong with it?

    Spoiler:

    Try this script. Changes in red and explanations are marked by '//'.

    Spoiler:
     

    Ninjutsu95

    Bad decisions = Good stories
    44
    Posts
    13
    Years
  • Help on compiling! Ack!

    Okay so I decided to add 3 people on my map. And i made the free space for each about 250 bytes. And I typed this

    '---------------
    #org 0xE3E604
    lock
    faceplayer
    msgbox 0x8E3E611 MSG_NORMAL '"Hello!\nMy name is Alder."
    release
    end

    '---------
    ' Strings
    '---------
    #org 0xE3E611
    = Hello!\nMy name is Alder.


    and when i compiled it by pressing the complile button on XSE 1.1.1 i loaded it up again to see if the changes saved it did. So i loaded up VBA and went to talk to the first person and it worked. And then on the second person i talked to and the screen froze and turned red. And when i looked at the coding for the person, it changed to different things. The first person's code showed this after compiling

    '---------------
    #org 0x3EA000
    bufferboxname 0xE3 0xDBE2
    nop
    cmdd5 0xE3DB
    nop


    which doesn't make any sense to me

    and the second person's code sais this

    '---------------
    #org 0xE3E274
    callstd 0x6
    cmd24 0x11061106

    which also doesn't make any sense.
    But the third person's code compiled correctly.

    And now when i still try to talk to the first person, he doesn't even respond whether to look at me or to just freeze my game like a jerk. Whats wrong. Am i doing something?
     

    Echidna

    i don't care what's in your hair
    2,077
    Posts
    13
    Years
  • Okay so I decided to add 3 people on my map. And i made the free space for each about 250 bytes. And I typed this

    '---------------
    #org 0xE3E604
    lock
    faceplayer
    msgbox 0x8E3E611 MSG_NORMAL '"Hello!\nMy name is Alder."
    release
    end

    '---------
    ' Strings
    '---------
    #org 0xE3E611
    = Hello!\nMy name is Alder.


    and when i compiled it by pressing the complile button on XSE 1.1.1 i loaded it up again to see if the changes saved it did. So i loaded up VBA and went to talk to the first person and it worked. And then on the second person i talked to and the screen froze and turned red. And when i looked at the coding for the person, it changed to different things. The first person's code showed this after compiling

    '---------------
    #org 0x3EA000
    bufferboxname 0xE3 0xDBE2
    nop
    cmdd5 0xE3DB
    nop


    which doesn't make any sense to me

    and the second person's code sais this

    '---------------
    #org 0xE3E274
    callstd 0x6
    cmd24 0x11061106

    which also doesn't make any sense.
    But the third person's code compiled correctly.

    And now when i still try to talk to the first person, he doesn't even respond whether to look at me or to just freeze my game like a jerk. Whats wrong. Am i doing something?
    250 bytes should be enough for that... 0.o
    The only reasonable explanation is that your second and third scripts are getting overwritten by either the compilation or activation of the first. But seeing as how 250 bytes should be enough, try using a custom format rather than copying a default script:
    This:
    '---------------
    #org 0xE3E604
    lock
    faceplayer
    msgbox 0x8E3E611 MSG_NORMAL '"Hello!\nMy name is Alder."
    release
    end

    '---------
    ' Strings
    '---------
    #org 0xE3E611
    = Hello!\nMy name is Alder.

    Would be better like this:
    #dynamic 0x<FSF Offset>

    #org @start
    lock
    faceplayer
    msgbox @text1 0x6
    release
    end

    #org @text1
    = Hello!\nMy name is Alder.

    Try that, with a new offset...
     
    24
    Posts
    12
    Years
    • Seen Apr 29, 2012
    Okay, so I've got a pretty basic, quick question about the pokemart command. Does that automatically generate the "What would you like to do?" message that appears at every Poké Mart?
     
    34
    Posts
    12
    Years
  • im trying the earthquake command, but i only hear sound and not the shaking. I have the set var before the special and everything. heres the script.

    #dynamic 0x800000
    #org @start
    lock
    faceplayer
    checkflag 0x198
    if 0x1 goto @done
    msgbox @10 0x6
    setvar 0x8007 0xF
    special 0x136
    setflag 0x198
    release
    end
    #org @done
    lock
    faceplayer
    msgbox @11 0x6
    release
    end
    #org @10
    = Gee, i hope there is not\nan earthquake.
    #org @11
    = I hope that does not happen\nagain.
     

    DrFuji

    [I]Heiki Hecchara‌‌[/I]
    1,691
    Posts
    14
    Years
  • Okay, so I've got a pretty basic, quick question about the pokemart command. Does that automatically generate the "What would you like to do?" message that appears at every Poké Mart?

    Unfortunately no. You can open up a Pokemart clerk's script from Advance Map and see what you may or may not need to add.

    im trying the earthquake command, but i only hear sound and not the shaking. I have the set var before the special and everything. heres the script.

    #dynamic 0x800000
    #org @start
    lock
    faceplayer
    checkflag 0x198
    if 0x1 goto @done
    msgbox @10 0x6
    setvar 0x8007 0xF
    special 0x136
    setflag 0x198
    release
    end
    #org @done
    lock
    faceplayer
    msgbox @11 0x6
    release
    end
    #org @10
    = Gee, i hope there is not\nan earthquake.
    #org @11
    = I hope that does not happen\nagain.

    There are three more variables that you have to set a value to if you want an earthquake to work properly. Add these to your script just prior to special 0x136 and you should be able to see the visual effects of the earthquake as well:

    Code:
    setvar 0x8004 0xF
    setvar 0x8005 0xF
    setvar 0x8006 0xF
    setvar 0x8007 0xF

    Change the '0xF's if you want to make the earthquakes stronger/ weaker as they relate to the frequency and amplitudes of the quakes.
     
    24
    Posts
    12
    Years
    • Seen Apr 29, 2012
    So, as far as the trainerbattle command goes, what types do you have?

    I know that you've got 0x0 for normal trainers and 0x1 for trainers that continue scripts after you beat them. While I was messing around on AdvanceMap, looking at different trainers scripts, I found that most trainers had commands for trainerbattles structured as follows:
    Code:
    #org @start
    special2 0x8000 0x39 [COLOR="RED"]This checks if the Vs Seeker has been used and returns value to the given variable.[/COLOR]
    compare 0x8000 0x1
    if 0x1 goto @1
    trainerbattle 0x0 0x9C 0x0 @2 @3
    msgbox @4 0x6
    release
    end
    
    #org @1
    trainerbattle 0x5 0x9C @5 @6
    release
    end
    
    #org. . . etc. etc. etc.

    What I've determined so far about the trainerbattle command is as follows:

    Code:
    trainerbattle 0x0 [COLOR="Red"]normal trainer battle, script ends after.[/COLOR]
    trainerbattle 0x1 [COLOR="Red"]special trainer battle (Leader, Rival, etc.), script continues after battle.[/color]
    trainerbattle 0x4 [COLOR="Red"]double battle, script ends after.[/COLOR]
    trainerbattle 0x5 [COLOR="Red"]normal trainer rematch, script ends after.[/COLOR]
    trainerbattle 0x7 [COLOR="Red"]double battle rematch, script ends after.[/COLOR]
     
    Last edited:
    32
    Posts
    14
    Years
    • Seen Jul 20, 2012
    great tut and all but how do i apply those scripts do i go to batch compiler thingy select my rom and compile or what .what do i havce to do.cuz when i put the offset in my fire red when i talk to the person.no text,nothjing.i just can move and nothing ain't happenin.plz help i really want to make a hack.

    and do i have something wrong in this script?


    #dynamic 0x456734
    #org @start
    lock
    faceplayer
    msgbox @1 0x6
    release
    end

    #org @1
    = PIKA PIKA
     
    Last edited:
    74
    Posts
    12
    Years
    • Seen Nov 3, 2019
    great tut and all but how do i apply those scripts do i go to batch compiler thingy select my rom and compile or what .what do i havce to do.cuz when i put the offset in my fire red when i talk to the person.no text,nothjing.i just can move and nothing ain't happenin.plz help i really want to make a hack.

    and do i have something wrong in this script?


    #dynamic 0x456734
    #org @start
    lock
    faceplayer
    msgbox @1 0x6
    release
    end

    #org @1
    = PIKA PIKA

    What are you use?XSE?Pokescript?PSKV or what... your script i think is no wrong.But try mine.
    test this:

    #dynamic 0x800000

    #org @test
    lock
    faceplayer
    msgbox @say 0x6
    release
    end

    #org @say
    = Hi!

    Test it if you can.

    ps:Sorry my bad english.Im Chinese.

    I need to know how to scripting player change ow sprite to other at game.Please everyone tell me.Thanks.
     
    Last edited:
    32
    Posts
    14
    Years
    • Seen Jul 20, 2012
    What are you use?XSE?Pokescript?PSKV or what... your script i think is no wrong.But try mine.
    test this:

    #dynamic 0x800000

    #org @test
    lock
    faceplayer
    msgbox @say 0x6
    release
    end

    #org @say
    = Hi!

    Test it if you can.

    ps:Sorry my bad english.Im Chinese.

    I need to know how to scripting player change ow sprite to other at game.Please everyone tell me.Thanks.
    Hmm still doesn't work.myba i'm putting the scripts in the game wrong can someone explain how to put scripts in rom
     

    Rocka210

    The Code Never Bothered Me Anyway
    22
    Posts
    14
    Years
    • Age 27
    • Seen Jan 29, 2015
    Hello, I need a little help.
    I am a good scripter but just started learning about level scripts. I have a script where you help the professor and after the battle he teleports you to his lab for the second script, what am I doing wrong?

    Script 1
    Spoiler:


    Script 2
    Spoiler:


    The problem happens when I warp, I get a black screen. Thanks for helping me.
     
    10,078
    Posts
    15
    Years
    • Age 32
    • UK
    • Seen Oct 17, 2023
    Hello, I need a little help.
    I am a good scripter but just started learning about level scripts. I have a script where you help the professor and after the battle he teleports you to his lab for the second script, what am I doing wrong?

    Script 1
    Spoiler:


    Script 2
    Spoiler:


    The problem happens when I warp, I get a black screen. Thanks for helping me.

    I don't have time to check the second script but this looks like the problem:

    warp 0x43 0x3 0xFF 0x6 0x5

    Surely you want warp 0x4 0x3 0xFF 0x6 0x5

    Make sure you insert the second script correctly as well, using the method diegoisawesome runs through in this thread.
     

    Rocka210

    The Code Never Bothered Me Anyway
    22
    Posts
    14
    Years
    • Age 27
    • Seen Jan 29, 2015
    The Map bank is correct. I made the new bank "43"
    I might of inserted the second one incorrectly.
    Here's two screenshots of the map:
    Spoiler:

    and
    Spoiler:

    Thanks again.
     
    10,078
    Posts
    15
    Years
    • Age 32
    • UK
    • Seen Oct 17, 2023
    Ah, well in that case your problem is still the same, but with a different answer :3

    Map Bank 43 = 0x2B in hex, so replace the 43 with 2B.
     
    Back
    Top