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

Script Help Thread (DO NOT REQUEST SCRIPTS)

Status
Not open for further replies.

hinkage

Everyone currently in an argument with this member
384
Posts
13
Years
    • Seen Apr 27, 2024
    Another thing, if I wanted to increase the number of starters, I would give them all the same flag, to prevent the player from getting more than one, correct?

    Yeah you would. But if it's a starter Pokemon, just use flag 0x828, since also activates the "Pokemon" option on the menu.





    Is it possible to give the player a Pokemon with a nickname like in trades?
     
    10,078
    Posts
    15
    Years
    • UK
    • Seen Oct 17, 2023
    I just did setflag 0x824 and it worked! But 0x824 is the 5th badge so I'm not quite sure what's happening but thanks for the fix!

    Awesome! Sometimes Kuga/Sabrina get mixed up in order and things, especially in tutorials so, for future reference:

    0x820 – Activates First Badge
    0x821 - Activates Second Badge
    0x822 - Activates Third Badge
    0x823 - Activates Fourth Badge
    0x824 - Activates Fifth Badge [Kuga]
    0x825 - Activates Sixth Badge [Sabrina]
    0x826 - Activates Seventh Badge
    0x827 - Activates Eighth Badge


    Is it possible to give the player a Pokemon with a nickname like in trades?

    Not possible through normal scripting, as party data is encrypted in FR. It's no doubt doable with ASM though, giving the pokémon then manually inserting a nickname (and owner if needed) onto it.
     

    DrFuji

    [I]Heiki Hecchara‌‌[/I]
    1,691
    Posts
    14
    Years
  • Is it possible to give the player a Pokemon with a nickname like in trades?

    Yup, you can easily do it through regular scripting using the writebytetooffset command. For instance, if I wanted to change my first party member's nickname to 'SQUIRTLE' then I would just write the following, where every byte is a letter in HEX:

    Code:
    writebytetooffset 0xCD 0x202428C
    writebytetooffset 0xCB 0x202428D
    writebytetooffset 0xCF 0x202428E
    writebytetooffset 0xC3 0x202428F
    writebytetooffset 0xCC 0x2024290
    writebytetooffset 0xCE 0x2024291
    writebytetooffset 0xC6 0x2024292
    writebytetooffset 0xBF 0x2024293
    writebytetooffset 0xFF 0x2024294
    writebytetooffset 0x00 0x2024295

    If you want to rename the second Pokemon in your party then add 0x64 bytes to the offsets provided and then do so again for the third, fourth etc. In addition, if you want a wild Pokemon to have a different name (e.g you're sent on a quest to re-capture a nicknamed Pokemon that was released by its trainer) then you can do the following:

    Code:
    writebytetooffset 0xCD 0x2024034
    writebytetooffset 0xCB 0x2024035
    writebytetooffset 0xCF 0x2024036
    writebytetooffset 0xC3 0x2024037
    writebytetooffset 0xCC 0x2024038
    writebytetooffset 0xCE 0x2024039
    writebytetooffset 0xC6 0x202403A
    writebytetooffset 0xBF 0x202403B
    writebytetooffset 0xFF 0x202403C
    writebytetooffset 0x00 0x202403D

    Just remember that once you've written the nickname that you want to give in HEX you should finish it off with 0xFF and then fill in the remaining spaces with 0x0. If you're giving the Pokemon a nine letter nickname then you don't have to place 0xFF at the end.

    Hopefully that helps :D
     

    DrFuji

    [I]Heiki Hecchara‌‌[/I]
    1,691
    Posts
    14
    Years
  • Can someone please give me a trading script for FireRed. Or how you can give a Pokemon away, possibly without trading? PLEASE HELP ME!!!

    Here is a trade script that was taken from in-game and explained in great detail by HackMew - You can see the original explanation by opening XSE's Guide (F2) and going inside the 'Practical Classroom' folder.

    Code:
    #org 0x16A9B1
    lock // locks the sprite movement
    faceplayer // sprite faces the player
    setvar 0x8008 0x1 // sets value of variable 0x8008 to 0x1
    call 0x81A8CAD // calls a branch before returning at 0x1A8CAD
    checkflag 0x24A // the script returns and checks flag 0x24A
    if 0x1 goto 0x816AA23 // if the flag is enabled goto 0x16AA23
    msgbox 0x81A59FE MSG_YESNO '"Hello, there! Do you happen to\nha..." // asks a question - Yes/No
    compare LASTRESULT 0x0 // compares LASTRESULT if its value is 0x0 - for No
    if 0x1 goto 0x816AA0B // if LASTRESULT is 0x0 - No, the script jumps to 0x16AA0B if Yes then continues
    call 0x81A8CBD // the result is Yes and again it jumps to another offset 0x1A8CBD
    compare 0x8004 0x6 // compares 0x8004 if its equal to 0x6
    if 0x4 goto 0x816AA0B // if the value of 0x8004 is smaller than equal to the script jumps to 0x16AA0B
    call 0x81A8CC9 // calls another offset 0x1A8CC9
    comparevars2 LASTRESULT 0x8009 // compares if the value LASTRESULT is equal to the value of 0x8009
    if 0x5 goto 0x816AA15 // if LASTRESULT's value is not equal to value at 0x8009 script jumps to 0x16AA15
    call 0x81A8CD9 // calls another branch of the script at 0x1A8CD9
    msgbox 0x81A5A9D MSG_KEEPOPEN '"Thanks!" // displays a Keep Open msg at 0x1A5A9D
    setflag 0x24A // sets flag 0x24A
    release // sprite resumes movement and the textbox can be closed
    end // ends script execution
    
    '---------------
    #org 0x1A8CAD
    copyvar 0x8004 0x8008 // copies value of 0x8004 to 0x8008
    special2 LASTRESULT 0xFC // script uses special2 0xfc to retain a returned value to LASTRESULT
    copyvar 0x8009 LASTRESULT // copies value at 0x8009 to LASTRESULT
    return // script returns where it was last called
    
    '---------------
    #org 0x16AA23
    msgbox 0x81A5AA5 MSG_KEEPOPEN '"The [buffer2] that I traded you,\n..." // displays msg at 0x1A5AA5
    release // sprite resumes movement and the textbox can be closed
    end // ends script execution
    
    '---------------
    #org 0x16AA0B
    msgbox 0x81A5A4E MSG_KEEPOPEN '"Well, if you don't want to[.]" // displays msg at 0x1A5A4E
    release // sprite resumes movement and the textbox can be closed
    end // ends script execution
    
    '---------------
    #org 0x1A8CBD
    special 0x9F // script uses special 0x9f which chooses a pokemon in the party
    waitstate // script is in waitstate waiting for the special
    lock // locks the sprites movement
    faceplayer // sprite faces the player
    copyvar 0x800A 0x8004 // copies value at 0x800A to 0x8004
    return // script returns where it was last called
    
    '---------------
    #org 0x1A8CC9
    copyvar 0x8005 0x800A // copies value at 0x8005 to 0x800A
    special2 LASTRESULT 0xFF // uses special 0xFF and stores returned value at LASTRESULT
    copyvar 0x800B LASTRESULT // copies value at 0x800B to LASTRESULT
    return // script returns where it was last called
    
    '---------------
    #org 0x16AA15
    bufferpokemon 0x0 0x8009 // stores the pokemon name value in 0x8009 to [buffer1]
    msgbox 0x81A5A6A MSG_KEEPOPEN '"Hmmm?\nThis isn't a [buffer1].\pTh..." // displays msg at 0x1A5A6A
    release // sprite resumes movement and the textbox can be closed
    end // ends script execution
    
    '---------------
    #org 0x1A8CD9
    copyvar 0x8004 0x8008 // copies value at 0x8004 to 0x8008
    copyvar 0x8005 0x800A // copies value at 0x8005 to 0x800A
    special 0xFD // special 0xFD is used
    special 0xFE // special 0xFE is also used
    waitstate // script is in waiting state waiting for the specials
    lock // locks the sprite
    faceplayer // sprite faces the player
    return // script returns where it was last called
    
    
    '---------
    ' Strings
    '---------
    #org 0x1A59FE
    = Hello, there! Do you happen to\nhave a [buffer1]?\pWould you agree to a trade for\nmy [buffer2]?
    
    #org 0x1A5A9D
    = Thanks!
    
    #org 0x1A5AA5
    = The [buffer2] that I traded you,\nhas it grown stronger?
    
    #org 0x1A5A4E
    = Well, if you don't want to[.]
    
    #org 0x1A5A6A
    = Hmmm?\nThis isn't a [buffer1].\pThink of me if you get one.

    Its quite complicated, but you can use it a skeleton and just change the flags/ text each time, along with the value in the line 'setvar 0x8008 0x1' as it determines which trade you will be initiating. You can also view and change the Pokemon that are involved with the trade by using ZodiacDaGreat's Trader Advanced.

    If you want to take away a Pokemon then you can use HackMew's ASM code or metapod23's script.
     

    Renegade

    Time for real life...
    995
    Posts
    12
    Years
  • I'm having a problem with the "showsprite" command. In this script, near the middle, there are a bunch of "showsprite" commands. All of them work in game except for the ones above "showsprite 0x10". (Such as: showsprite 0x11, 0x12, 0x13, 0x14, and 0x15) The person event numbers in A-Map are correct and match up with these numbers. (Which are already in hex) Help please?

    Code:
    #dynamic 0x800180
    
    #org @start
    lock
    special 0x113
    applymovement 0x7F @m1
    waitmovement 0x0
    special 0x114
    textcolor 0x0
    message @t1 6
    pause 0x10
    applymovement 11 @m2
    applymovement 12 @m3
    waitmovement 0x0
    pause 0x10
    message @t2 6
    special 0x113
    applymovement 0x7F @m4
    waitmovement 0x0
    special 0x114
    applymovement 0xFF @m5
    waitmovement 0x0
    applymovement 12 @m6
    waitmovement 0x0
    message @t3 6
    applymovement 11 @m10
    waitmovement 0x0
    clearflag 0x502
    showsprite 0xD
    pause 0x10
    applymovement 12 @m15
    applymovement 0xFF @m15
    waitmovement 0x0
    applymovement 11 @m11
    waitmovement 0x0
    clearflag 0x503
    showsprite 0xE
    pause 0x10
    applymovement 11 @m12
    waitmovement 0x0
    clearflag 0x504
    showsprite 0xF
    pause 0x10
    applymovement 11 @m11
    waitmovement 0x0
    clearflag 0x505
    showsprite 0x10
    pause 0x10
    applymovement 11 @m12
    waitmovement 0x0
    clearflag 0x506
    showsprite 0x11
    pause 0x10
    applymovement 11 @m11
    waitmovement 0x0
    clearflag 0x507
    showsprite 0x12
    pause 0x10
    applymovement 11 @m12
    waitmovement 0x0
    clearflag 0x508
    showsprite 0x13
    pause 0x10
    applymovement 11 @m11
    waitmovement 0x0
    clearflag 0x509
    showsprite 0x14
    pause 0x10
    applymovement 11 @m12
    waitmovement 0x0
    clearflag 0x510
    showsprite 0x15
    pause 0x10
    applymovement 11 @m14
    waitmovement 0x0
    applymovement 12 @m16
    applymovement 0xFF @m16
    waitmovement 0x0
    message @t4 6
    applymovement 0xFF @m17
    waitmovement 0x0
    setvar 0x5005 0x1
    release
    end
    
    #org @m17
    #raw 0x11
    #raw 0x13
    #raw 0x13
    #raw 0xFE
    
    #org @t4
    = Oak: These are Pokèballs. Inside\neach of them are different\lPokèmon. Go ahead and take one.\pYou'll need one for your travel\nto OakWood Town.\p\v\h06: Sweet! You go first,\n\v\h01.
    
    #org @m16
    #raw 0x1
    #raw 0xFE
    
    #org @m15
    #raw 0x3
    #raw 0xFE
    
    #org @m14
    #raw 0x12
    #raw 0x12
    #raw 0x12
    #raw 0x12
    #raw 0x12
    #raw 0x12
    #raw 0x11
    #raw 0x0
    #raw 0xFE
    
    #org @m12
    #raw 0x13
    #raw 0x1
    #raw 0xFE
    
    #org @m11
    #raw 0x0
    #raw 0xFE
    
    #org @m10
    #raw 0x10
    #raw 0x13
    #raw 0x13
    #raw 0x1
    #raw 0xFE
    
    #org @m7
    #raw 0x10
    #raw 0x10
    #raw 0x13
    #raw 0x10
    #raw 0x10
    #raw 0x10
    #raw 0xFE
    
    #org @t3
    = Let me start over.\p\v\h06 and \v\h01, I called you\ntwo over here to send you on a\llittle errand to OakWood Town.\p\v\h06: An errand? Uhg...\pOak: I need you two to bring\nback a Pokèball and an Antidote.\pGot it?\p\v\h06: Sure thing, Oak.\pOak: \v\h01, you get the Pokèball\nand \v\h06 can get the Antidote.\pBut first, I have something\nfor you two.
    
    #org @m6
    #raw 0x1
    #raw 0xFE
    
    #org @m5
    #raw 0x11
    #raw 0x13
    #raw 0x11
    #raw 0x11
    #raw 0xFE
    
    #org @m4
    #raw 0x10
    #raw 0x12
    #raw 0x10
    #raw 0x10
    #raw 0xFE
    
    #org @t2
    = Oh! \v\h01, please join us.
    
    #org @m3
    #raw 0x0
    #raw 0xFE
    
    #org @m2
    #raw 0x62
    #raw 0xFE
    
    #org @t1
    = Oak: So what I wanted you to...
    
    #org @m1
    #raw 0x11
    #raw 0x13
    #raw 0x11
    #raw 0x11
    #raw 0xFE

    Thanks.

    EDIT: Nevermind, I tried a different method and it worked. Please ignore this post.
     
    Last edited:
    13
    Posts
    14
    Years
    • Seen Jun 22, 2021
    I've been trying to get the following script to work (Emerald):
    Spoiler:


    When I try to compile it, XSE gives me the following error:
    Spoiler:

    As far as I can tell, it's all there: 0x5 is for yes/no questions, there's the @ for the question itself, and "msgbox". Am I missing something?
     
    10,078
    Posts
    15
    Years
    • UK
    • Seen Oct 17, 2023
    I've been trying to get the following script to work (Emerald):
    Spoiler:


    When I try to compile it, XSE gives me the following error:
    Spoiler:

    As far as I can tell, it's all there: 0x5 is for yes/no questions, there's the @ for the question itself, and "msgbox". Am I missing something?

    Your [#raw]s should in fact be [#org]s. Which will be the problem, as the string @unown can't connect properly.
     
    13
    Posts
    14
    Years
    • Seen Jun 22, 2021
    Boy, do I feel like an idiot. :P
    However, that's only half my problem. Whenever I compile it, this is what I end up with:
    Spoiler:


    Almost forgot: I'm using XSE, version 1.1.1.
     
    Last edited:
    10,078
    Posts
    15
    Years
    • UK
    • Seen Oct 17, 2023
    Boy, do I feel like an idiot. :P
    However, that's only half my problem. Whenever I compile it, this is what I end up with:
    Spoiler:


    Almost forgot: I'm using XSE, version 1.1.1.

    (Wow you have a very full rom is you're up to A from using dynamic 0x800000) XD

    This kind of thing normally happens when you edit an already compiled script, and then add/remove bytes worth of commands. Try recompiling the script anew, so you get new pointers.
     
    88
    Posts
    14
    Years
  • Here is a trade script that was taken from in-game and explained in great detail by HackMew - You can see the original explanation by opening XSE's Guide (F2) and going inside the 'Practical Classroom' folder.

    Code:
    #org 0x16A9B1
    lock // locks the sprite movement
    faceplayer // sprite faces the player
    setvar 0x8008 0x1 // sets value of variable 0x8008 to 0x1
    call 0x81A8CAD // calls a branch before returning at 0x1A8CAD
    checkflag 0x24A // the script returns and checks flag 0x24A
    if 0x1 goto 0x816AA23 // if the flag is enabled goto 0x16AA23
    msgbox 0x81A59FE MSG_YESNO '"Hello, there! Do you happen to\nha..." // asks a question - Yes/No
    compare LASTRESULT 0x0 // compares LASTRESULT if its value is 0x0 - for No
    if 0x1 goto 0x816AA0B // if LASTRESULT is 0x0 - No, the script jumps to 0x16AA0B if Yes then continues
    call 0x81A8CBD // the result is Yes and again it jumps to another offset 0x1A8CBD
    compare 0x8004 0x6 // compares 0x8004 if its equal to 0x6
    if 0x4 goto 0x816AA0B // if the value of 0x8004 is smaller than equal to the script jumps to 0x16AA0B
    call 0x81A8CC9 // calls another offset 0x1A8CC9
    comparevars2 LASTRESULT 0x8009 // compares if the value LASTRESULT is equal to the value of 0x8009
    if 0x5 goto 0x816AA15 // if LASTRESULT's value is not equal to value at 0x8009 script jumps to 0x16AA15
    call 0x81A8CD9 // calls another branch of the script at 0x1A8CD9
    msgbox 0x81A5A9D MSG_KEEPOPEN '"Thanks!" // displays a Keep Open msg at 0x1A5A9D
    setflag 0x24A // sets flag 0x24A
    release // sprite resumes movement and the textbox can be closed
    end // ends script execution
    
    '---------------
    #org 0x1A8CAD
    copyvar 0x8004 0x8008 // copies value of 0x8004 to 0x8008
    special2 LASTRESULT 0xFC // script uses special2 0xfc to retain a returned value to LASTRESULT
    copyvar 0x8009 LASTRESULT // copies value at 0x8009 to LASTRESULT
    return // script returns where it was last called
    
    '---------------
    #org 0x16AA23
    msgbox 0x81A5AA5 MSG_KEEPOPEN '"The [buffer2] that I traded you,\n..." // displays msg at 0x1A5AA5
    release // sprite resumes movement and the textbox can be closed
    end // ends script execution
    
    '---------------
    #org 0x16AA0B
    msgbox 0x81A5A4E MSG_KEEPOPEN '"Well, if you don't want to[.]" // displays msg at 0x1A5A4E
    release // sprite resumes movement and the textbox can be closed
    end // ends script execution
    
    '---------------
    #org 0x1A8CBD
    special 0x9F // script uses special 0x9f which chooses a pokemon in the party
    waitstate // script is in waitstate waiting for the special
    lock // locks the sprites movement
    faceplayer // sprite faces the player
    copyvar 0x800A 0x8004 // copies value at 0x800A to 0x8004
    return // script returns where it was last called
    
    '---------------
    #org 0x1A8CC9
    copyvar 0x8005 0x800A // copies value at 0x8005 to 0x800A
    special2 LASTRESULT 0xFF // uses special 0xFF and stores returned value at LASTRESULT
    copyvar 0x800B LASTRESULT // copies value at 0x800B to LASTRESULT
    return // script returns where it was last called
    
    '---------------
    #org 0x16AA15
    bufferpokemon 0x0 0x8009 // stores the pokemon name value in 0x8009 to [buffer1]
    msgbox 0x81A5A6A MSG_KEEPOPEN '"Hmmm?\nThis isn't a [buffer1].\pTh..." // displays msg at 0x1A5A6A
    release // sprite resumes movement and the textbox can be closed
    end // ends script execution
    
    '---------------
    #org 0x1A8CD9
    copyvar 0x8004 0x8008 // copies value at 0x8004 to 0x8008
    copyvar 0x8005 0x800A // copies value at 0x8005 to 0x800A
    special 0xFD // special 0xFD is used
    special 0xFE // special 0xFE is also used
    waitstate // script is in waiting state waiting for the specials
    lock // locks the sprite
    faceplayer // sprite faces the player
    return // script returns where it was last called
    
    
    '---------
    ' Strings
    '---------
    #org 0x1A59FE
    = Hello, there! Do you happen to\nhave a [buffer1]?\pWould you agree to a trade for\nmy [buffer2]?
    
    #org 0x1A5A9D
    = Thanks!
    
    #org 0x1A5AA5
    = The [buffer2] that I traded you,\nhas it grown stronger?
    
    #org 0x1A5A4E
    = Well, if you don't want to[.]
    
    #org 0x1A5A6A
    = Hmmm?\nThis isn't a [buffer1].\pThink of me if you get one.

    Its quite complicated, but you can use it a skeleton and just change the flags/ text each time, along with the value in the line 'setvar 0x8008 0x1' as it determines which trade you will be initiating. You can also view and change the Pokemon that are involved with the trade by using ZodiacDaGreat's Trader Advanced.

    If you want to take away a Pokemon then you can use HackMew's ASM code or metapod23's script.


    Thanks a lot, but that's WAAAY too complicated. I don't need it any more like I told you.
     

    dt200

    Was and will be forever alone.
    18
    Posts
    13
    Years
  • Hello there! I don't know what went wrong with my script, but when I step on the place where I placed the script box.. nothing happens..

    I don't know how to use spoilers.. so I'll post my script normally..

    #dynamic 0x800000

    #org @start
    lock
    setvar 0x7000 0x1
    message @1 0x6
    applymovement 0xFF @2
    applymovement 0x0 @3
    message @4 0x6
    givepokemon 0x19 0x5 0xD0 0x0 0x0 0x0
    setflag 0x828
    message @5 0x6
    giveitem 0x169 0x1 0x0
    giveitem 0x16B 0x1 0x0
    giveitem 0x16A 0x1 0x0
    message @6 0x6
    release
    end

    #org @1
    = \v\h01...!

    #org @2
    #raw 0x62
    #raw 0x13
    #raw 0x13
    #raw 0x13
    #raw 0x11
    #raw 0x11
    #raw 0x11

    #org @3
    #raw 0x0

    #org @4
    = Here's a Pikachu, I caught for\nyou.. You don't think I'm an\lexperienced a Pokémon trainer\lright? Dad is training in the\lforest, he'll explain to you\leverything about Pokémon.

    #org @5
    = /v/h01: Whatelse do you have for me? \nMom: I've just came back from\lshopping.. And look\lwhat I've bought for you? A\lPokégear...\pMom: ... a TunaSocks magazine #2\nand a\lGPS without navigation system.\p\v\h01: So.. how do I use it or\nwhat do I do with it?\pMom: With the Pokégear, you can\ncall trainers nearby to see whether\lthey would like another battle, but\lyour battery needs to be charged\lafter every call. Well, I suppose\lyou know what to do with the\lTunaSocks magazine right? And\lwith the\lGPS, you can see where you are,\lthat's too obvious right?\pI forgot there is something else I\nneed to give you.. This gadget is\lvery expensive, but since you're\lliving in the modern era... Its a\lFame Checker, you can look at\lprofiles of famous people that\lyou've met, don't worry.. it will\lrecord down the info for you\lautomatically... Argh... You are so\llucky I bought this for you, and\lnot your brother...

    Thank you.

    I use XSE script editor, Firered Rom.
    My boxes I filled in the advance map...
    Var number-7000
    Var value-0001
    Unknown(4digit)-0003
    Unknown(2digit)-00

    If you don't know what unknown(2digit) means, you'll have to have the latest version of advancemap.
     
    13
    Posts
    14
    Years
    • Seen Jun 22, 2021


    (Wow you have a very full rom is you're up to A from using dynamic 0x800000) XD

    This kind of thing normally happens when you edit an already compiled script, and then add/remove bytes worth of commands. Try recompiling the script anew, so you get new pointers.

    I just used the number recommended in a tutorial.
    Anyway, I did write the script again, even before you mentioned that. That's what caused the raw/org mistake. It hasn't solved anything.
     
    Last edited:

    thanethane98

    Self Proclaimed Expert
    82
    Posts
    11
    Years
    • Seen Nov 16, 2013
    Hey everyone, I'm back again with a problem with another script. Everything with this one seems to work fine, and I can get it working in game. But, after the message is closed, the script ends without any movements being applied to the NPC. I know it probably has something to do with closeonkeypress, but I've been unable to find an acceptable way to fix this issue with the script.

    Game: Firered
    Type: Trigger
    Editor: XSE
    Script:
    Spoiler:
     

    DrFuji

    [I]Heiki Hecchara‌‌[/I]
    1,691
    Posts
    14
    Years
  • Hey everyone, I'm back again with a problem with another script. Everything with this one seems to work fine, and I can get it working in game. But, after the message is closed, the script ends without any movements being applied to the NPC. I know it probably has something to do with closeonkeypress, but I've been unable to find an acceptable way to fix this issue with the script.

    Game: Firered
    Type: Trigger
    Editor: XSE
    Script:
    Spoiler:

    You haven't given your script the ability to complete the movements before ending - To remedy this put the command 'waitmovement 0x0' after your second applymovement. This will prevent the script from continuing until all of the movements that are taking place have finished.
     
    7
    Posts
    11
    Years
    • Seen Jul 16, 2012
    I want the person to turn and say the line, but all he does is turn. The message beep is made, but no text box shows up.
    Game: FireRed
    Type: Person script
    Editor:
    v. 1.0.0
    Script:
    Spoiler:

    Screenshots and/or videos:
    none
    Edit: Nevermind, it was the XSE being outdated. I downloaded 1.1.1 and it works fine.
    [SOLVED]
     
    Last edited:

    Renegade

    Time for real life...
    995
    Posts
    12
    Years
  • I want the person to turn and say the line, but all he does is turn. The message beep is made, but no text box shows up.
    Game: FireRed Type: Person script Editor: v. 1.0.0 Script:
    Spoiler:
    Screenshots and/or videos: none

    You are missing a "boxset" command after the msgbox value.

    It should look something like this:

    Code:
    #dynamic 0x800000
    
    #org @start
    lock
    faceplayer
    msgbox @talk 6 <--- That means "boxset 6"
    release
    end
    
    #org @talk
    = Hello.\nThis is a test.

    The boxset 6 command tells the game that the script is going to be a "normal message" script where someone is simply saying something. There are other boxset commands for questions and such, but those are in several tutorials in the tutorials section.
     
    7
    Posts
    11
    Years
    • Seen Jul 16, 2012
    So I've come up with a new problem.

    Spoiler:


    I get to the script block it is supposed to be executed on, but the music fades and the game freezes. It's supposed to make Oak move to the player and then warp him to the Lab.

    EDIT: Taking a look back at the tutorial, I fixed the Unknown and Var number bit. Text and movement works fine, but it freezes before warping.
     
    Last edited:
    34
    Posts
    13
    Years
    • Seen Jun 14, 2016
    I have two scripts that both freeze upon activating them, one is a regular script event, the other is a level script. Both on FireRed.

    For the event:
    Spoiler:


    The level script (this one is rather long; longer than I intended):
    Spoiler:


    Help please?
     
    Last edited:

    tajaros

    Hi I'm dawg
    855
    Posts
    12
    Years
  • I have two scripts that both freeze upon activating them, one is a regular script event, the other is a level script. Both on FireRed.

    For the event:
    Spoiler:


    The level script (this one is rather long; longer than I intended):
    Spoiler:


    Help please?

    Script #1 doesn't seem to have any problems in it but try to put a "lock" at the beggining of the script or just simply remove the release command here
    "#org @start
    checkflag 0x203
    if 0x0 goto @RALLY
    release
    end"

    And for script #2 I bet you used script type #2 in A-map right?

    Well it always freezes when using that without setvar and why did you put the setvar at the beggining of the script? try putting them at the end of the script. And those applymovements might be the one causing the problems because you didn't inputed #raw 0xfe at the end always put #raw 0xfe at the end of every applymovement scripts or else they will freeze when doing the script and why did you inputed the script at offset 0x740300 always put a script on an offset higher than 0x800000 for safe scripting...:)

    Hope this helps... :)
     
    Status
    Not open for further replies.
    Back
    Top