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

Help Thread: Quick Questions & Answers

Status
Not open for further replies.
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


'---------
' Strings
'---------
#org 0x18DC67
= [rival]: What, it's only [player]?\nGramps isn't around.

#org 0x18DD75
= [rival]: My Pokémon looks a lot\ntougher than yours.

#org @garyspeak
= [rival]: Heh, I'll get a better\nPokémon than you anyway!

Seeing as I only wanted to change one bit of text, I had the dynamic offset only apply to @garyspeak

And now some of the text has been changed in Oak's talk script. e.g

#org 0x18E3AD
= ak: [player], raise your young\nPokémon by making it battle.\pIt has to battle for it to grow.

(Note the missing O in Oak)

So yeah, what gives >.<
 
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:

So yeah, what gives >.<

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



Thank you in advance.
 
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



Thank you in advance.
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):

Code:
[FONT="Courier New"]#dynamic 0x800000
#include stditems.rbh

#org @start
giveitem ITEM_POTION 0x1 MSG_FIND
end[/FONT]

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.
 
Can someone help me out with this script? It work perfect untill the final movements and I cannot for the life of me figure out why.
Spoiler:
 
Can someone help me out with this script? It work perfect untill the final movements and I cannot for the life of me figure out why.
Spoiler:

compare 0x4003 0x1
if 0x1 goto 0x886A4F4
compare 0x4003 0x2
if 0x1 goto 0x89C1A2D
compare 0x4003 0x3
if 0x1 goto 0x886A4F4
end

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:

Spoiler:


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:

Spoiler:


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:

Spoiler:


Now, I opened up the script I'm copying from the vanilla rom in the same way.

Spoiler:


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

Hope someone can help.

Been trying to fix this for a good 4 hours...
 
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?
 
Thanks for the swift answer - if I could help you I gladly would. I'm sorry I can't help.
 
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?

If you're looking for general 3DS stuff: gbatemp.net/forums/3ds-hacking-homebrew.201/
 
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

Can you help me please ?~_~
 
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

Can you help me please ?~_~

You need to add a flag there.
Code:
#org 0x1BA71E
giveitem 0x5F 0x1 MSG_FIND
[COLOR="Red"]setflag 0x1003[/COLOR]
end
And then put the flag on the Person ID in Advance Map. ;)
Spoiler:
 
You need to add a flag there.
Code:
#org 0x1BA71E
giveitem 0x5F 0x1 MSG_FIND
[COLOR="Red"]setflag 0x1003[/COLOR]
end
And then put the flag on the Person ID in Advance Map. ;)
Spoiler:

Okay! Thank you very much !It's helps a lot :)
 
Right, I've narrowed the problem down to where it goes wrong.

Spoiler:


That is my level script decompiled in level script mode. I've made -everything- the same except "0xC303"

Spoiler:


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.
 
Last edited:
Status
Not open for further replies.
Back
Top