Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
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.
Whoops, didn't realize this was here or I wouldn't have started a thread. I thought this was cancelled 'cause I found myself in an old one :/
So my problem is I'm trying to do a simple text edit to change the start of the game from choosing a starter to being the same as Yellow.
Got the entire thing sorted, but when I change a simple text to make the rival say something different when you talk to him, it alters the text in another script, so I've clearly done something wrong. Here's what I did:
'---------------
#dynamic 0x800000
#org 0x16955F
lock
faceplayer
compare 0x4055 0x3
if 0x1 goto 0x816958B
compare 0x4055 0x2
if 0x1 goto 0x8169581
msgbox 0x818DC67 MSG_KEEPOPEN '"[rival]: What, it's only [player]?..."
release
end
'---------------
#org 0x16958B
msgbox 0x818DD75 MSG_KEEPOPEN '"[rival]: My Pokémon looks a lot\nt..."
release
end
'---------------
#org 0x169581
msgbox @garyspeak MSG_KEEPOPEN
release
end
Whoops, didn't realize this was here or I wouldn't have started a thread. I thought this was cancelled 'cause I found myself in an old one :/
So my problem is I'm trying to do a simple text edit to change the start of the game from choosing a starter to being the same as Yellow.
Got the entire thing sorted, but when I change a simple text to make the rival say something different when you talk to him, it alters the text in another script, so I've clearly done something wrong. Here's what I did:
Spoiler:
'---------------
#dynamic 0x800000
#org 0x16955F
lock
faceplayer
compare 0x4055 0x3
if 0x1 goto 0x816958B
compare 0x4055 0x2
if 0x1 goto 0x8169581
msgbox 0x818DC67 MSG_KEEPOPEN '"[rival]: What, it's only [player]?..."
release
end
'---------------
#org 0x16958B
msgbox 0x818DD75 MSG_KEEPOPEN '"[rival]: My Pokémon looks a lot\nt..."
release
end
'---------------
#org 0x169581
msgbox @garyspeak MSG_KEEPOPEN
release
end
I believe the reason why is that your new offset doesn't actually "offset" it at your new location, but instead overwrites parts of the old script. I'd suggest you try repointing the entire script at a new location (As in just rewrite and move it) or use A-text.
Alright, so can someone tutor me on how to make a sprite dissapear?
Like a found item for example.
I am using PKSVUI & Adv. Map with Firered.
My script is as follows:
#org 0x874062C
'-----------------------------------
copyvarifnotzero 0x8000 TM01
copyvarifnotzero 0x8001 0x5
callstd MSG_FIND ' PLAYER found one XXXXXX!
end
Managed to figure out what I was doing wrong, if anyone finds this useful if you have the same issue as me...
--------------
#dynamic 0x800000
#org 0x16955F <<<< This needs to be a new offset, so #org@start
lock
faceplayer
compare 0x4055 0x3
if 0x1 goto 0x816958B
compare 0x4055 0x2
if 0x1 goto @garyscript <<<Needs to be a new script
msgbox 0x818DC67 MSG_KEEPOPEN '"[rival]: What, it's only [player]?..."
release
end
'---------------
#org 0x16958B
msgbox 0x818DD75 MSG_KEEPOPEN '"[rival]: My Pokémon looks a lot\nt..."
release
end
'---------------
#org 0x8169581 <<< Needs to be different @garyscript
msgbox @garyspeak MSG_KEEPOPEN
release
end
Alright, so can someone tutor me on how to make a sprite dissapear?
Like a found item for example.
I am using PKSVUI & Adv. Map with Firered.
My script is as follows:
#org 0x874062C
'-----------------------------------
copyvarifnotzero 0x8000 TM01
copyvarifnotzero 0x8001 0x5
callstd MSG_FIND ' PLAYER found one XXXXXX!
end
I am unfamiliar with the syntax of PKSVUI, so I won't be able to help massively, but if you choose to use XSE instead I can help you:
There is a pre-implemented command in the engine for Poké Ball scripts that make them hide once you collect the item, provided you have enough room etc. The way it is done is using this script (which, again, is using XSE's syntax):
The MSG_FIND part is actually a syntactical shortcut for boxset 0x3 (I believe it's 0x3, something like that), which is itself a command which calls a script which controls the hiding, displaying of messages, fanfares, etc. that all happens when you pick up an item. But with just the script above, and with the assignment of a flag to the Poké Ball over world's Person ID, you can make it work.
For other Person events to be hidden, you'll want to use the hidesprite and setflag commands, with the flag you set being the person event's Person ID and the parameter for the hidesprite command being the Person event no. of the person event, found in A-Map.
I think that these lines towards the end of your script are the problem as you're comparing 0x4003 even though you've never used it prior. 0x4003 is probably set to 0x0 leading to none of the options being picked and the script ending prematurely. I think you meant to write 0x4001 or 0x4002 as you were changing those variables earlier.
I decided to clean up your script a bit and remove some unnecessary commands/ condense what you already had so you can use this version of your script if you want to:
#org @Ending
waitmovement 0x0
hidesprite 0x3
setflag 0x401
release
end
#org @talk1
= ???: Hey kid could you help me\nout? Take one of my Pokemon and\lsee if you can't faint that\lWooper.
#org @talk2
= ???: Wow nice job kid. My name is\nBirch. Prof. Birch.\pBirch: You know you can keep that\n[buffer1] if you want.\l[player] recived [buffer1]!
#org @talk3
= Would you like to name it?
#org @talk4
= Birch: Ok well I'll be seein ya\nlater!\p[player]: Wait Birch!
You can also remove the 'setflag 0x401' command as you've already set 0x828 earlier in the script. Just remember to change any OWs that use it as their Person IDs.
I think that these lines towards the end of your script are the problem as you're comparing 0x4003 even though you've never used it prior. 0x4003 is probably set to 0x0 leading to none of the options being picked and the script ending prematurely. I think you meant to write 0x4001 or 0x4002 as you were changing those variables earlier.
I decided to clean up your script a bit and remove some unnecessary commands/ condense what you already had so you can use this version of your script if you want to:
#org @Ending
waitmovement 0x0
hidesprite 0x3
setflag 0x401
release
end
#org @talk1
= ???: Hey kid could you help me\nout? Take one of my Pokemon and\lsee if you can't faint that\lWooper.
#org @talk2
= ???: Wow nice job kid. My name is\nBirch. Prof. Birch.\pBirch: You know you can keep that\n[buffer1] if you want.\l[player] recived [buffer1]!
#org @talk3
= Would you like to name it?
#org @talk4
= Birch: Ok well I'll be seein ya\nlater!\p[player]: Wait Birch!
You can also remove the 'setflag 0x401' command as you've already set 0x828 earlier in the script. Just remember to change any OWs that use it as their Person IDs.
Well the set flag 0x828 is a placeholder for the pokemon menu, cant remember the real flag number so its waiting all alone.. But I cant belive I missed something as simple as my variables off. Stuff like this has been happening constantly lately. Thanks for the help!
Right, I'm about to commit serial homicide. Thought I'd post here first (Y)
I'm trying to sort out a level script, copying the script as seen in Fire Red. The script I'm copying (copied as in re-created from the ground up, but following the format used for the original script). There is nothing wrong with the script itself as I've run it on it's own, but I just can't set up this level script.
I followed a tutorial on level scripts, and found out about the problem about Advance Map messing up values when it saves level scripts.
So I followed the steps, went to the map's header options. Copied the Map Script Offset, decompiled it in level script mode, and got this:
'---------
' Strings
'---------
#org 0x8007B9
= [rival]: Gramps!\nI'm fed up with waiting!
#org 0x8007E0
= Oak: [rival]? Why are you here?\nI told you to come round later.\pGary: When you told me you had a\nspecial surprise for me, I\lcouldn't just wait around all day!\pOak: Haha, of course, I should\nhave known.\p[player]: So why are we here?\pOak: Right! Well...\nToday I am going to give each of\lyou...\pYour very own Pokémon!
#org 0x800912
= [player]: My own Pokémon?!\p[rival]: A Pokémon!\nGramps! Are you serious?!\pOak: That's right!\p[player], your mother and I have\nbeen talking and we decided that\lyou are both ready to own your\lfirst ever Pokémon.\pWhen I was young, I was a serious\nPokémon Trainer.\pBut now, in my old age, I spend\nmost of my time researching\lPokémon rather than training them!\p[player], see that Pokéball on the\ntable over there?\lIt holds a Pokémon inside.\pI want you to have it.\nGo on, take it!\p[player]: Of course. Thank you\nProfessor!
#org 0x800AFB
= [rival]: Hey! Gramps! No fair!\nWhat about me?
#org 0x800B26
= Oak: Be patient, [rival].\nI'll give you yours later.
'-----------
' Movements
'-----------
#org 0x800B58
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
#org 0x800B60
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
#org 0x800B6A
#raw 0x2E 'Face Up (Delayed)
#raw 0xFE 'End of Movements
#org 0x800B6D
#raw 0x62 'Exclamation Mark (!)
#raw 0xFE 'End of Movements
#org 0x800B70
#raw 0x26 'Step on the Spot Up (Faster)
#raw 0x26 'Step on the Spot Up (Faster)
#raw 0xFE 'End of Movements
Now, I opened up the script I'm copying from the vanilla rom in the same way.
'---------
' Strings
'---------
#org 0x18DC94
= [rival]: Gramps!\nI'm fed up with waiting!
#org 0x18DFBC
= OAK: [rival]?\nLet me think[.]\pOh, that's right, I told you to\ncome! Just wait!\pHere, [player].\pThere are three POKéMON here.\pHaha!\pThe POKéMON are held inside\nthese POKé BALLS.\pWhen I was young, I was a serious\nPOKéMON TRAINER.\pBut now, in my old age, I have\nonly these three left.\pYou can have one.\nGo on, choose!
#org 0x18DCB9
= [rival]: Hey! Gramps! No fair!\nWhat about me?
#org 0x18E0EA
= OAK: Be patient, [rival].\nYou can have one, too!
'-----------
' Movements
'-----------
#org 0x1692B0
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
#org 0x1692B7
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0x11 'Step Up (Normal)
#raw 0xFE 'End of Movements
#org 0x1A75E9
#raw 0x2E 'Face Up (Delayed)
#raw 0xFE 'End of Movements
#org 0x1692C0
#raw 0x26 'Step on the Spot Up (Faster)
#raw 0x26 'Step on the Spot Up (Faster)
#raw 0xFE 'End of Movements
Of course it's pretty much the same but with different offsets. The only difference being in the second section, the vanilla code has "0x0" while mine has "0xC303" and in the third section the vanilla code has "0x4055" and mine has "0xFFFF"
So I change what's different so they match.
But now what happens after compiling it, is it completely empties the Map Script Offset (0x71E658), so when I go back to the map in Advance Map, it's just wiped all the map scripts. Then if I look at the offset 0x71E658 again it just says
0x71E658
end
I don't understand? If it's the exact same as the vanilla script when I go to re-compile, why is it doing this?
Just a bit of extra info. The level scripts in Advance Map are as follows (again, exactly the same as the vanilla script)
Script 0 - Entering Map/Not on menu close [3]
Script 1 - Validates Values---playback [4]
Flag 4055 Value 0001
Script 2 - Validates Values---[2]
Flag 4055 Value 0001
Even tried decompiling it, changing the two values, then recompiling it in PKSV. Still no luck, does the same completely wipes the Map Script Offset.
If I change this bit
'---------------
#org 0x71E650
#raw word 0x4055
#raw word 0x1
#raw pointer 0x880071A
#raw word 0xC303
From C303 to 0, like in the vanilla Fire Red script, it causes the problem. But if I change the next bit
'---------------
#org 0x71CC04
#raw word 0x4055
#raw word 0x1
#raw pointer 0x880071F
#raw word 0xFFFF
From FFFF to 4055, like in the vanilla Fire Red Script, then it works. But seeing as C303 needs to be 0 for the script to function, the script doesn't work in the game.
Why is changing C303 to 0 causing the offset to wipe itself :/
Hi all, sorry to come in between a discussion but this seems to be the right topic to post my short question:
Has the 3DS been hacked yet, or could anyone point me in the direction of a place where the hacking progress is followed thoroughly? If it is hacked, could anyone point me in the direction of the software?
In my hack I inserted a custom world map, and some of the routes I use in my region originally were Sevii Island maps. After I redrew my map and changed the positions to be on the custom map, the routes from the original Kanto map show up on my custom map in their new positions fine. However , the maps that were originally sevii island maps still show up in-game on the sevii island maps 2-4, instead of my changed Kanto map even though I changed the positions to have them show up on the custom Kanto map. How can I get them to show up in-game as I intend them to?
Hi all, sorry to come in between a discussion but this seems to be the right topic to post my short question:
Has the 3DS been hacked yet, or could anyone point me in the direction of a place where the hacking progress is followed thoroughly? If it is hacked, could anyone point me in the direction of the software?
Hi, I've got a little problem, in my rom I added new scripts (giveitem scripts) but the items don't disappear after picking the objects ....I don't know were is the problem....Here is my script :
'---------------
#org 0x1BA71E
giveitem 0x5F 0x1 MSG_FIND
end
Hi, I've got a little problem, in my rom I added new scripts (giveitem scripts) but the items don't disappear after picking the objects ....I don't know were is the problem....Here is my script :
'---------------
#org 0x1BA71E
giveitem 0x5F 0x1 MSG_FIND
end
'---------------
#org 0x168FE1
#raw word 0x4055
#raw word 0x1
#raw pointer 0x8168FEB
#raw word 0x0
'---------------
#org 0x168FF0
#raw word 0x4055
#raw word 0x1
#raw pointer 0x816923E
#raw word 0x4055
Same script format but this is a default Fire Red rom. Everything is the same except instead of C303, it says 0x0. I've changed 0x0 to 0xC303 like in my rom, tried changing it to anything. It doesn't break the script.
But in mine if I change 0xC303 to 0x0, or anything else, it just completely breaks the level script. This has delayed my hack by days now :/
FIXED
If anyone ever gets this same problem, try this:
It was actually a corrupt map, and there was nothing wrong with the script. To fix it I saved the map, then reinserted it. Fixed it straight away.