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

DiSCIclaimer

Is Taking Over The Earth
41
Posts
14
Years
  • Seen Sep 20, 2009
Ahmmm sorry for being a noob again..lol but yeah.... my rom hack was going terrible.. i was using ruby... and i almost added all of he diomand pearl pokes..and blabla and then added my sprite in overworld then it went transperant and i had soo many troubles with ruby so i decided to try hacking fire red..... and can some one help me make a script so a random guy gives you the national dex right away?
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
and can some one help me make a script so a random guy gives you the national dex right away?
About the sprite problem, I'm not so sure, but for the script - if you're hacking Fire Red now...
Code:
#dyn 0x740000
#org @start
setflag FR_POKEDEX
special FR_NATIONAL_DEX
end
 
1
Posts
14
Years
  • Seen Nov 5, 2009
speaking of offsets, how would i go about finding off sets for an example the beginnings of the game when oak is taking about the world of pokemon speech? I'm working on a project and so far i haven't found that off set yet.
 

NarutoActor

The rocks cry out to me
1,974
Posts
15
Years
HAH to crinco my tutorial would of been perfect for this guy
de loca to easy and no one will need it
here is my tutorial I made to use pksv to edit the pickachu message

Simple Title Message Editing with Pksv
by Narutoactor

What is this tutorial for
eding the mesage with pickachu in the corner easly with PKSV
(I made this tutorial for people like me were advance text dose not work with there computor)

Things You need
1)A clean Rom To test you message first then your hack rom
2)Pksv by score_under
3)VBA(visual boy advance)

upen up PKSV then go to ROM and up your blank rom then go to tools and go to script search.

Click the buttune Text then click compile then exit out of compileation log.
and in the box to the side paist this in 0x1C5A04 then click search next then click the < button. (from the options << < > >>)
Now you will see the text that we are going to edit.
Now click on the button "add to script"
sceen1.jpg

Now the scipt will be on the main box so exit out of script seach and start editing the script
Note youse the blank rom to make sure your text dose not pass the line
also when eding the script you cant pass the amount of Bytes The script all ready has so this is my sugestion
go to the end of the scipt and backspace the whole script on character by one and count as you go the figure you get
you can not exsead that limit after you done with the new text count each character even the space and hyfences
and make sure you didnt exsead the limit you found before once your are sure everything is how you want it
copy the script and edit you hack rember always back up your hacks.

Speacel Thanks to Score_under for making this great program
 

DiSCIclaimer

Is Taking Over The Earth
41
Posts
14
Years
  • Seen Sep 20, 2009
Thanx it worked....! Hmm but it still makes no sense for the sprite going transperant..<
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
Click the buttune Text then click compile then exit out of compileation log.
and in the box to the side paist this in 0x1C5A04 then click search next then click the < button. (from the options << < > >>)
For future reference for anyone who wants to edit something else, before clicking compile you enter a small amount of text (case sensitive, and with \n, \l, \p, etc, if it includes it- otherwise just use part of text on one line) like this:
Code:
= world which you
Then you just check "Ignore last byte" (this means you don't have to include up to the end of the text) and compile, then search next.
Then just click the left arrow until you get to the start. If it disappears, click the right arrow again until it reappears, and there you have your text.

You can also find what script the text comes from (beware - some text, like the title text, does not come from a script) by typing:
Code:
#ptr 0x12345
where 12345 is the #org found for the text, and make sure you do NOT "Ignore last byte", then compile and search for it. Click the left arrow and you should either get "message 0xoffset" or nop0 and some junk. If you get the nop0 and junk, press left again and if it hasn't turned into a msgbox command, then it's probably not in a script. Then just keep pressing left and use your judgement to find where the script starts.
 

DawnRyder

I cannot believe I'm back -.-
79
Posts
14
Years
  • Seen Nov 12, 2011
Dang. This is an excellent example of a good hacking program wirtten in c/c++.

The code is easily understandable, and fairly simple. (Look's like SOMEBODY ran through windows.h a few times...)

Way to go, score_under!
 

Mr.Silver

Say Hello To Nurse Barbra
670
Posts
14
Years
I might as well ask,I tried to make a movement script and i did a couple of things with the movement helper..but when i tried it out in the game it crashed....
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
What's most likely is that you ended up with a script like this:
Code:
#dyn 0x740000
#org @moves
m walk_up run_up look_left end
When you have to apply the movement in a script, like this:
Code:
#dyn 0x740000
#org @script
lockall
applymovement player @moves
pauseevent 0
releaseall
end
#org @moves
m walk_up run_up look_left end

Dang. This is an excellent example of a good hacking program wirtten in c/c++.

The code is easily understandable, and fairly simple. (Look's like SOMEBODY ran through windows.h a few times...)

Way to go, score_under!
I was under the impression my code was messy, especially with some of the tricks I use, and the fact that VC++ messed up a little of the indentation...
Some prize snippets with nearly no readability ;)
Code:
VersionMismatch=(int (__cdecl *)(unsigned char*))GetProcAddress(PKSV,"VersionMismatch");
Code:
if(cToLower(FileOpen[strlen(FileOpen)-3])=='g'&&cToLower(FileOpen[strlen(FileOpen)-2])=='b'&&cToLower(FileOpen[strlen(FileOpen)-1])=='a')
-- I really should have written a function for that instead of being lazy and calling strlen 3 times...
Code:
            __asm
            {
              mov eax,calc
              and eax,0xF
              cmp eax,0xA
              sbb eax,0x69
              das
              and eax,0xFF
              mov calc,eax
            }
Some silly inline ASM, and that was before I'd thought of using MOVZX EAX,AL (2 bytes shorter than AND EAX,0xFF and does the same thing).
 
Last edited:

Mr.Silver

Say Hello To Nurse Barbra
670
Posts
14
Years
I have another problem.I hit compile and this came up.
Spoiler:
 

score_under

Inactive; Former ROM hack tool author, ❤️
526
Posts
18
Years
Means exactly what it sounds like, you need to put a #dyn or a #dynamic somewhere in your script, like this:
Code:
#dyn 0x740000
 

NarutoActor

The rocks cry out to me
1,974
Posts
15
Years
quick question what are the dyn's for I never use them and my latest scripts are working perfecyly with out dyn is dyn just an other way of saying org
 

Mr.Silver

Say Hello To Nurse Barbra
670
Posts
14
Years
well in pokescript its complicated
to make the player move its like
Spoiler:

Just to make the person move left 3 spaces.
 
Status
Not open for further replies.
Back
Top