• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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.

Tool: PKSV - Pokémon Script Editor + GUI

Status
Not open for further replies.
19
Posts
13
Years
err...-.-
there are tuts on this, and it's pretty off-topic...
@a pepper-mint nightmare-
The tools you need for scripting:
PKSV (or XSE/PKScript/hex editor, but thats a bit of a learning curve)
A-map (or Elitemap/ hex editor, again, there is a learning curve)
i don't think thats all ur confused with though...could you be more specific?

I had a feeling I'd get that response not criticizng you at all I just couldn't figure out how to word my problem. I have Advance Map and open my Pokemon Emerald Rom through it and in it I go to "FROM HEADER" folder which opens another list that I open "LITTLEROOT TOWN" in that I open "LITTLEROOT TOWN (0.9)". After all that I click on the tab events and click open script. It then gives me a PKSV-UI - Error! "No ROM open!"

If I start in PKSV-UI I go into the ROM tab and click open ROM and select my Pokemon Emerald.GBA file, but everything is blank and I followed the tutorial you have posted. The thing is I don't understand on how to take what I type into PKSV-UI and transfer it into the rom.

Now I'm sure my problem is something simple for anyone who has the slightest bit of experience with these types of programs, but I'm new to them and have gotten lost.
 
19
Posts
13
Years
oh
just push F9 and copy the offset where your script begins, and paste it into an event space in a-map.
I think its the offset that gets me confused how do I use it or find it? In the Advance Map under the events they have script offsets that start with $ and then letters and numbers how do I use that? How do I transfer my scripts in PKSV-UI to Advance Map?
 
19
Posts
13
Years
I think I'm starting to get a basic understanding of scripting I got my scripting in for one event to work; however, i tried enter two others and it made everything go crazy. Do I need to make a whole new script for every character I wish to give new dialogue?
#dynamic 0x740000
#org @start
lock
faceplayer
message @offset1
callstd MSG_NORMAL
release
end
#org @offset1
= My mom says I have A.D.D. and...\nHey look a flower!
#org @start
lock
faceplayer
message @offset2
callstd MSG_NORMAL
release
end
#org @offset2
= I want a cookie\nNo I'm not fat\nA*****E!
#org @start
lock
faceplayer
message @offset3
callstd MSG_NORMAL
release
end
#org @offset3
= D****t Jim I'm a doctor\nnot a physicist!\nYour not Jim?\nLeave me alone
That's what I have typed in and when I press F9 it gives me:
@start <-> 0x759EA6 (0xB bytes)
@offset1 <-> 0x8D4A27 (0x34 bytes)
@start <-> 0x8D4A5B (0xB bytes)
@offset2 <-> 0x8D6987 (0x28 bytes)
@start <-> 0x8D69AF (0xB bytes)
@offset3 <-> 0x9A67CF (0x46 bytes)
So I use the 8D4A27 for one persons offset script and 8D6987 for another and so on, but they don't work if I only have one in it works. Every time I go open my script up and edit it and press F9 it also gives me a new offset code why is this?
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
I think I'm starting to get a basic understanding of scripting I got my scripting in for one event to work; however, i tried enter two others and it made everything go crazy. Do I need to make a whole new script for every character I wish to give new dialogue?
#dynamic 0x740000
#org @start
lock
faceplayer
message @offset1
callstd MSG_NORMAL
release
end
#org @offset1
= My mom says I have A.D.D. and...\nHey look a flower!
#org @start
lock
faceplayer
message @offset2
callstd MSG_NORMAL
release
end
#org @offset2
= I want a cookie\nNo I'm not fat\nA*****E!
#org @start
lock
faceplayer
message @offset3
callstd MSG_NORMAL
release
end
#org @offset3
= D****t Jim I'm a doctor\nnot a physicist!\nYour not Jim?\nLeave me alone
That's what I have typed in and when I press F9 it gives me:
@start <-> 0x759EA6 (0xB bytes)
@offset1 <-> 0x8D4A27 (0x34 bytes)
@start <-> 0x8D4A5B (0xB bytes)
@offset2 <-> 0x8D6987 (0x28 bytes)
@start <-> 0x8D69AF (0xB bytes)
@offset3 <-> 0x9A67CF (0x46 bytes)
So I use the 8D4A27 for one persons offset script and 8D6987 for another and so on, but they don't work if I only have one in it works. Every time I go open my script up and edit it and press F9 it also gives me a new offset code why is this?
1 - Try not to name offsets the same thing in PKSV, it doesn't usually end well (you were lucky in this case). It's best if you write each script separately though.
2 - You don't use the offsets of the text, you use the script offsets. You'd use "0x759EA6", "0x8D4A5B", and "0x8D69AF" in this case.
3 - You get a new offset each time you press F9 because PKSV finds free space to write the script to. If you have already written the script to that space, then it's no longer free :P So next time it compiles, it finds some other free space.
4 - \n moves down a line, \p clears the box and moves to the top of the box, and \l (\L lowercase) stays on the same line but scrolls the existing text in the box up one line.
You would write text like this:
= Hi.\nIs that a POK\eDEX?\p[.]\pWow, can I see the POK\eMON\nyou've caught?\lReally?
(\e is é, [.] is ...)
Try that text, and see what the different line commands do. ;)
 

Full Metal

C(++) Developer.
810
Posts
16
Years
...are those two separate events?
er...just copy the @start offsets....
oh yea btw
@Nosferatu_Alucard- If somebody's not replied to you, then shut up and learn how to be patient; it's a virtue. Anyways, we really really can't help people if they are not being specific. Have you decompiled the script and looked at it yourself? I don't hack ruby, saphire or emerald (usually) so i don't know it off the top of my head. You do that, and report back or see if somebody else who can script would be your crutch. another idea is to get another person who won't script, and see if you can put ur heads together and figure it out on your own.
*edit*LOL, while i was ranting score_under beat me to the post XD
*edit2* and also, score_under probably said it bettererer
 
13
Posts
14
Years
  • Seen Feb 15, 2012
@Nosferatu_Alucard- If somebody's not replied to you, then shut up and learn how to be patient; it's a virtue. Anyways, we really really can't help people if they are not being specific. Have you decompiled the script and looked at it yourself? I don't hack ruby, saphire or emerald (usually) so i don't know it off the top of my head. You do that, and report back or see if somebody else who can script would be your crutch. another idea is to get another person who won't script, and see if you can put ur heads together and figure it out on your own.

Please excuse my lack of etiquette. I was merely ensuring my query was not forgotten. aside from that, I guess I could have a little more patience.

The event I want to replicate is after you get your first badge and recieve a letter that needs to be given to Steven, you need the help of Mr. Briney to get to Dewford Town. I want to know how to script the player getting into the boat, crossing a body of water in the boat, then landing on shore.
*btw: I did look at the script myself, and this is what is confusing me... besides the dialogue, I see nothing linking to the boat. Everything else is linked to a bunch of flags, and I am afraid that everything I need is stored in those...
 

Full Metal

C(++) Developer.
810
Posts
16
Years
yea, flags and specials if i was guessing, probably variables too.
i'm positive there's an applymovement or two in there as well.
*edit*-- that's not etiquette it's just not annoying the crap out of people.
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
Please excuse my lack of etiquette. I was merely ensuring my query was not forgotten. aside from that, I guess I could have a little more patience.

The event I want to replicate is after you get your first badge and recieve a letter that needs to be given to Steven, you need the help of Mr. Briney to get to Dewford Town. I want to know how to script the player getting into the boat, crossing a body of water in the boat, then landing on shore.
*btw: I did look at the script myself, and this is what is confusing me... besides the dialogue, I see nothing linking to the boat. Everything else is linked to a bunch of flags, and I am afraid that everything I need is stored in those...
Hm, sorry about that ;) It turns out some of the ruby commands were a little inaccurate (which I didn't spot as it's been rather a while since I last tested with Ruby)
This replacement DLL should work for the time being (to decompile the boat's script successfully), before I next update:
http://dl.dropbox.com/u/518733/pksv.dll

Also, don't mind Full Metal, he doesn't bite. :P
 
13
Posts
14
Years
  • Seen Feb 15, 2012
Nah, it's all good. I give my thanks for all the help. I just have two more problems, if you'd like to help. ^^;
 
13
Posts
14
Years
  • Seen Feb 15, 2012
Thought of it, but decided against it.
Do you know where to find a list of all the flags for Emerald? Pksv only has FR/LG.
Second is more about mapping in advance map. The transitions between some of the maps I connect get strange. When crossing over, some the the bulidings look all messed up, like a mix of tile sets.
*edit*Oh, now when trying to compile/decompile scripts, a window pops up saying that it has stopped working, without an explanation.
 

Full Metal

C(++) Developer.
810
Posts
16
Years
i think that most scripting tuts will have a list of flags, though i'm not for sure 'bout emerald...
check hackmew's XSE guide (downloaded with XSE)
about the a-map map transitions.
You're using different tilesets aren't you?
If you run in a direction or reload the map, you won't get those tiles that are messed up. They are there because the game doesn't just "jump" you to where you can't see the other map. In other words, you need about 1 player view area in between maps before you begin using un-common tiles. (I'm pretty sure thats what the route buildings are for...)
 
13
Posts
14
Years
  • Seen Feb 15, 2012
Thanks for the tip, I'll be sure to check his out.
Yeah, two different tilesets. The tiles change even before I cross the boarder. They go back to normal when I go inside a building or if the messed up area goes off-screen, but returns to being messed up if I cross the boarder. It only occurs between two maps though. All else are just fine :/
 

0m3GA ARS3NAL

Im comin' home...
1,816
Posts
16
Years
Thanks for the tip, I'll be sure to check his out.
Yeah, two different tilesets. The tiles change even before I cross the boarder. They go back to normal when I go inside a building or if the messed up area goes off-screen, but returns to being messed up if I cross the boarder. It only occurs between two maps though. All else are just fine :/

I know it isn't scripting, but to fix the border problems, you need to have the tiles that are messed up moved AWAY from the map connection. That way you can't see them until they are loaded when you cross maps...
 
13
Posts
14
Years
  • Seen Feb 15, 2012
Basically, I'd have to make thicker boarders, right? That's kinda annoying. But, if it's the quickest fix, better than a kick in the head xP
 
Status
Not open for further replies.
Back
Top