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

Tool: PKSV - Pokémon Script Editor + GUI

Status
Not open for further replies.

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
The icon files are there, so they're not showing up upon launch of program.
I still haven't gotten around to fixing that; though the workaround is to set your monitor's colour depth to 32-bit.
Edit: Fixed ;)
 
Last edited:
90
Posts
14
Years
  • Seen Nov 24, 2023
I thinK THIS thing is messed up! All it did was make the events i made share a same event! And it makes something go to the wrong place! Seriously, fix this up a LOT!

(And do NOT delete this!)
 

Razer Rage

Beginning Hacker
126
Posts
16
Years
  • Seen Jul 1, 2012
I tried running the "AssociateShell" file, but I just get "Access Denied" errors. I know what the problem is, I'm not an admin. -.-

Why is this necessary anyway? AdvanceMap and XSE don't need to be installed like this, you can just run them.

And PKSV seems to work, even though I can't run the .bat file...

Oh well, it looks like I'll just have to stick with XSE. :(
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
I thinK THIS thing is messed up! All it did was make the events i made share a same event! And it makes something go to the wrong place! Seriously, fix this up a LOT!

(And do NOT delete this!)
1. I don't have power to delete posts here.
2. If there's something wrong with the program, it's best that I know. If I could delete that post and then did delete it, I'd probably forget.
Edit- turns out the problem was caused by having the same "Person Event No." for each sprite. Another small detail to add to my mental list of non-obvious mistakes.

Why is this necessary anyway? AdvanceMap and XSE don't need to be installed like this, you can just run them.
AdvanceMap and XSE don't try to do this. Associating with the shell is a completely optional task, PKSV works fine without it.
Edit- Actually, I've just remembered AdvanceMap has a context menu extension. Same thing though, optional-but-it-helps type of thing.
 
Last edited:

Razer Rage

Beginning Hacker
126
Posts
16
Years
  • Seen Jul 1, 2012
I think I like PKSV more than XSE. :) The colored code, the expand/collapse option...it's really good.

Of course, it could be better (tabs, command help, better documentation, etc.) like XSE has.
 

SoaY

Pichu lieks gunz.
3
Posts
14
Years
  • Age 32
  • Seen Dec 14, 2011
Hey, I was wondering if someone could help me out here. I think I really messed up on something because when I edited a certain trainer's text, it plays out normally but after the battle I switch over to a nearby sprite. Weird. But kinda cool. XD
This only happens when I directly face the trainer to battle.

Spoiler:

Also, most of the time when I edit text, some of it becomes replaced by another person's text.

Spoiler:

This is how it looks after I compile and everything. I dunno what the freak I'm doing wrong. I think I need to redownload it or something.
BTW, this program's awesome. Even though I have problems understanding it. ^^;
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
No idea about the sprite switching o_O try using MSG_STANDARD or something...

As for the text overwriting, though, try using dynamic offsets - this will relocate the offsets to a different position so that they won't overlap.
 

SoaY

Pichu lieks gunz.
3
Posts
14
Years
  • Age 32
  • Seen Dec 14, 2011
Ah, okay. Thanks. That pretty much worked.
Now, I have another problem. (I'm such a noob. I know.)
I've created a large script that turns out as a large pile of #raws when I open it with AM.
I compiled it and checked if everything belonged in the right place. Seems right.
But again, full script of #raws.

Spoiler:


Please tell me it's something small. :\ As in like, I should put the offsets somewhere else. I spent like an hour or two on this (because I'm still learning). I mean, I have a backup in case, but it just frustrates me that it all pretty much goes to waste.
 

Full Metal

C(++) Developer.
810
Posts
16
Years
um...i don't see anything immediately obvious, try using dynamics again (you should probably make that a habbit btw)
 

Iacobus

sǝɯɐɾ
64
Posts
20
Years
um...i don't see anything immediately obvious
Oh boy, I think you need eyeglasses.
Look at the offsets he used to compile his script. Does that look right to you? ;)
SoaY, every 'org' would, once decompiled, only give the first byte of every org, followed by the last string. But since the decompiler doesn't know it's a string, you'll only get to see that string as raw hexadecimal data too.
As Full Metal said:
Full Metal said:
try using dynamics again (you should probably make that a habbit btw)
 

Full Metal

C(++) Developer.
810
Posts
16
Years
Oh boy, I think you need eyeglasses.
Look at the offsets he used to compile his script. Does that look right to you? ;)
SoaY, every 'org' would, once decompiled, only give the first byte of every org, followed by the last string. But since the decompiler doesn't know it's a string, you'll only get to see that string as raw hexadecimal data too.
As Full Metal said:
Also like i said, nothing immediately noticeable -_-.
Sorry for not observing numbers like a good nerd who has nothing to do.
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
Sorry for not observing numbers like a good nerd who has nothing to do.
Oh come now, GTK doesn't count as "something to do" ;)

Anyway, for future reference, you find sizes once you've compiled:
Code:
#ORG: data
   -> 0x71A304 (0x3A bytes)
   -> 0x71A305 (0xB bytes)
   -> 0x71A306 (0x1C bytes)
   -> 0x71A316 (0xB bytes)
   -> 0x71A317 (0xB bytes)
   -> 0x71A307 (0x10 bytes)
   -> 0x71A308 (0x17 bytes)
   -> 0x71A309 (0x95 bytes)
   -> 0x71A30A (0x35 bytes)
   -> 0x71A30B (0x2E bytes)
   -> 0x71A30C (0x78 bytes)
   -> 0x71A30D (0x2E bytes)
   -> 0x71A30E (0x13 bytes)
   -> 0x71A30F (0x5A bytes)
   -> 0x71A311 (0x5C bytes)
   -> 0x71A312 (0x9 bytes)
   -> 0x71A313 (0x6 bytes)
   -> 0x71A314 (0x9 bytes)
   -> 0x71A315 (0x6 bytes)
I should implement a mechanism to detect overlapping offsets.

EDIT:
Not uploaded this, but:
Code:
WARNING! Offset 0x71A304 overlaps offset 0x71A305!
WARNING! Offset 0x71A304 overlaps offset 0x71A306!
WARNING! Offset 0x71A304 overlaps offset 0x71A316!
WARNING! Offset 0x71A304 overlaps offset 0x71A317!
WARNING! Offset 0x71A304 overlaps offset 0x71A307!
WARNING! Offset 0x71A304 overlaps offset 0x71A308!
WARNING! Offset 0x71A304 overlaps offset 0x71A309!
WARNING! Offset 0x71A304 overlaps offset 0x71A30A!
WARNING! Offset 0x71A304 overlaps offset 0x71A30B!
WARNING! Offset 0x71A304 overlaps offset 0x71A30C!
WARNING! Offset 0x71A304 overlaps offset 0x71A30D!
WARNING! Offset 0x71A304 overlaps offset 0x71A30E!
WARNING! Offset 0x71A304 overlaps offset 0x71A30F!
WARNING! Offset 0x71A304 overlaps offset 0x71A311!
WARNING! Offset 0x71A304 overlaps offset 0x71A312!
WARNING! Offset 0x71A304 overlaps offset 0x71A313!
WARNING! Offset 0x71A304 overlaps offset 0x71A314!
WARNING! Offset 0x71A304 overlaps offset 0x71A315!
WARNING! Offset 0x71A305 overlaps offset 0x71A306!
WARNING! Offset 0x71A305 overlaps offset 0x71A307!
WARNING! Offset 0x71A305 overlaps offset 0x71A308!
WARNING! Offset 0x71A305 overlaps offset 0x71A309!
WARNING! Offset 0x71A305 overlaps offset 0x71A30A!
WARNING! Offset 0x71A305 overlaps offset 0x71A30B!
WARNING! Offset 0x71A305 overlaps offset 0x71A30C!
WARNING! Offset 0x71A305 overlaps offset 0x71A30D!
WARNING! Offset 0x71A305 overlaps offset 0x71A30E!
WARNING! Offset 0x71A305 overlaps offset 0x71A30F!
WARNING! Offset 0x71A306 overlaps offset 0x71A316!
WARNING! Offset 0x71A306 overlaps offset 0x71A317!
WARNING! Offset 0x71A306 overlaps offset 0x71A307!
WARNING! Offset 0x71A306 overlaps offset 0x71A308!
WARNING! Offset 0x71A306 overlaps offset 0x71A309!
WARNING! Offset 0x71A306 overlaps offset 0x71A30A!
WARNING! Offset 0x71A306 overlaps offset 0x71A30B!
WARNING! Offset 0x71A306 overlaps offset 0x71A30C!
WARNING! Offset 0x71A306 overlaps offset 0x71A30D!
WARNING! Offset 0x71A306 overlaps offset 0x71A30E!
WARNING! Offset 0x71A306 overlaps offset 0x71A30F!
WARNING! Offset 0x71A306 overlaps offset 0x71A311!
WARNING! Offset 0x71A306 overlaps offset 0x71A312!
WARNING! Offset 0x71A306 overlaps offset 0x71A313!
WARNING! Offset 0x71A306 overlaps offset 0x71A314!
WARNING! Offset 0x71A306 overlaps offset 0x71A315!
WARNING! Offset 0x71A316 overlaps offset 0x71A317!
WARNING! Offset 0x71A307 overlaps offset 0x71A308!
WARNING! Offset 0x71A307 overlaps offset 0x71A309!
WARNING! Offset 0x71A307 overlaps offset 0x71A30A!
WARNING! Offset 0x71A307 overlaps offset 0x71A30B!
WARNING! Offset 0x71A307 overlaps offset 0x71A30C!
WARNING! Offset 0x71A307 overlaps offset 0x71A30D!
WARNING! Offset 0x71A307 overlaps offset 0x71A30E!
WARNING! Offset 0x71A307 overlaps offset 0x71A30F!
WARNING! Offset 0x71A307 overlaps offset 0x71A311!
WARNING! Offset 0x71A307 overlaps offset 0x71A312!
WARNING! Offset 0x71A307 overlaps offset 0x71A313!
WARNING! Offset 0x71A307 overlaps offset 0x71A314!
WARNING! Offset 0x71A307 overlaps offset 0x71A315!
WARNING! Offset 0x71A308 overlaps offset 0x71A309!
WARNING! Offset 0x71A308 overlaps offset 0x71A30A!
WARNING! Offset 0x71A308 overlaps offset 0x71A30B!
WARNING! Offset 0x71A308 overlaps offset 0x71A30C!
WARNING! Offset 0x71A308 overlaps offset 0x71A30D!
WARNING! Offset 0x71A308 overlaps offset 0x71A30E!
WARNING! Offset 0x71A308 overlaps offset 0x71A30F!
WARNING! Offset 0x71A308 overlaps offset 0x71A311!
WARNING! Offset 0x71A308 overlaps offset 0x71A312!
WARNING! Offset 0x71A308 overlaps offset 0x71A313!
WARNING! Offset 0x71A308 overlaps offset 0x71A314!
WARNING! Offset 0x71A308 overlaps offset 0x71A315!
WARNING! Offset 0x71A309 overlaps offset 0x71A30A!
WARNING! Offset 0x71A309 overlaps offset 0x71A30B!
WARNING! Offset 0x71A309 overlaps offset 0x71A30C!
WARNING! Offset 0x71A309 overlaps offset 0x71A30D!
WARNING! Offset 0x71A309 overlaps offset 0x71A30E!
WARNING! Offset 0x71A309 overlaps offset 0x71A30F!
WARNING! Offset 0x71A309 overlaps offset 0x71A311!
WARNING! Offset 0x71A309 overlaps offset 0x71A312!
WARNING! Offset 0x71A309 overlaps offset 0x71A313!
WARNING! Offset 0x71A309 overlaps offset 0x71A314!
WARNING! Offset 0x71A309 overlaps offset 0x71A315!
WARNING! Offset 0x71A30A overlaps offset 0x71A30B!
WARNING! Offset 0x71A30A overlaps offset 0x71A30C!
WARNING! Offset 0x71A30A overlaps offset 0x71A30D!
WARNING! Offset 0x71A30A overlaps offset 0x71A30E!
WARNING! Offset 0x71A30A overlaps offset 0x71A30F!
WARNING! Offset 0x71A30A overlaps offset 0x71A311!
WARNING! Offset 0x71A30A overlaps offset 0x71A312!
WARNING! Offset 0x71A30A overlaps offset 0x71A313!
WARNING! Offset 0x71A30A overlaps offset 0x71A314!
WARNING! Offset 0x71A30A overlaps offset 0x71A315!
WARNING! Offset 0x71A30B overlaps offset 0x71A30C!
WARNING! Offset 0x71A30B overlaps offset 0x71A30D!
WARNING! Offset 0x71A30B overlaps offset 0x71A30E!
WARNING! Offset 0x71A30B overlaps offset 0x71A30F!
WARNING! Offset 0x71A30B overlaps offset 0x71A311!
WARNING! Offset 0x71A30B overlaps offset 0x71A312!
WARNING! Offset 0x71A30B overlaps offset 0x71A313!
WARNING! Offset 0x71A30B overlaps offset 0x71A314!
WARNING! Offset 0x71A30B overlaps offset 0x71A315!
WARNING! Offset 0x71A30C overlaps offset 0x71A30D!
WARNING! Offset 0x71A30C overlaps offset 0x71A30E!
WARNING! Offset 0x71A30C overlaps offset 0x71A30F!
WARNING! Offset 0x71A30C overlaps offset 0x71A311!
WARNING! Offset 0x71A30C overlaps offset 0x71A312!
WARNING! Offset 0x71A30C overlaps offset 0x71A313!
WARNING! Offset 0x71A30C overlaps offset 0x71A314!
WARNING! Offset 0x71A30C overlaps offset 0x71A315!
WARNING! Offset 0x71A30D overlaps offset 0x71A30E!
WARNING! Offset 0x71A30D overlaps offset 0x71A30F!
WARNING! Offset 0x71A30D overlaps offset 0x71A311!
WARNING! Offset 0x71A30D overlaps offset 0x71A312!
WARNING! Offset 0x71A30D overlaps offset 0x71A313!
WARNING! Offset 0x71A30D overlaps offset 0x71A314!
WARNING! Offset 0x71A30D overlaps offset 0x71A315!
WARNING! Offset 0x71A30E overlaps offset 0x71A30F!
WARNING! Offset 0x71A30E overlaps offset 0x71A311!
WARNING! Offset 0x71A30E overlaps offset 0x71A312!
WARNING! Offset 0x71A30E overlaps offset 0x71A313!
WARNING! Offset 0x71A30E overlaps offset 0x71A314!
WARNING! Offset 0x71A30E overlaps offset 0x71A315!
WARNING! Offset 0x71A30F overlaps offset 0x71A311!
WARNING! Offset 0x71A30F overlaps offset 0x71A312!
WARNING! Offset 0x71A30F overlaps offset 0x71A313!
WARNING! Offset 0x71A30F overlaps offset 0x71A314!
WARNING! Offset 0x71A30F overlaps offset 0x71A315!
WARNING! Offset 0x71A311 overlaps offset 0x71A312!
WARNING! Offset 0x71A311 overlaps offset 0x71A313!
WARNING! Offset 0x71A311 overlaps offset 0x71A314!
WARNING! Offset 0x71A311 overlaps offset 0x71A315!
WARNING! Offset 0x71A312 overlaps offset 0x71A313!
WARNING! Offset 0x71A312 overlaps offset 0x71A314!
WARNING! Offset 0x71A312 overlaps offset 0x71A315!
WARNING! Offset 0x71A313 overlaps offset 0x71A314!
WARNING! Offset 0x71A313 overlaps offset 0x71A315!
WARNING! Offset 0x71A314 overlaps offset 0x71A315!
 
Last edited:

Full Metal

C(++) Developer.
810
Posts
16
Years
xD i was eating lunch at the time but yea... i know >.> stupid linker.
So...will it be able to auto-adjust the overlapping offsets?
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
xD i was eating lunch at the time but yea... i know >.> stupid linker.
So...will it be able to auto-adjust the overlapping offsets?
That'd be going a little far ;) If the offsets are specified manually, I'd leave them there. I suppose I could set the program to decompile in dynamic mode by default, though.
 

SoaY

Pichu lieks gunz.
3
Posts
14
Years
  • Age 32
  • Seen Dec 14, 2011
Oh boy, I think you need eyeglasses.
Look at the offsets he used to compile his script. Does that look right to you? ;)
SoaY, every 'org' would, once decompiled, only give the first byte of every org, followed by the last string. But since the decompiler doesn't know it's a string, you'll only get to see that string as raw hexadecimal data too.
As Full Metal said:

Nup. Still came out as raws. Then when I compiled it all, PKSV stopped working. :laugh:

Edit: Actually I screwed up how I put the dynamic. Pretty much why PKSV stopped working. XD
Yet, it still comes out as raws when I open it up with AM.

Edit 2: I finally saw what I did wrong. I put the offset in AM wrong. XD
But now it comes out as a bunch of...random things. ._.
 
Last edited:

558122_DG

Learning how to make mistakes
737
Posts
14
Years
  • Seen May 27, 2021
hold, on so now i got myself a question. Does applymovement CAMERA

replace :

special 0x113 &special 0x114?




I thinK THIS thing is messed up! All it did was make the events i made share a same event! And it makes something go to the wrong place! Seriously, fix this up a LOT!

(And do NOT delete this!)



just what i would expect from a noob. I've been using PKSVUI and hell it's better than most programs out there. It even comes with a script gen. If you learn HOW TO insert scripts then you would know. first off, don't mess with person event #'s in A-map cause then it tens to overlap and you tend to sqrew up T_T
 
Last edited:
Status
Not open for further replies.
Back
Top