Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tutorial] PKSV scripting Tutorial/Script Thread

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Reply
 
Thread Tools
  #51    
Old December 18th, 2009 (09:06 PM). Edited December 18th, 2009 by Razer Rage.
Razer Rage Razer Rage is offline
Beginning Hacker
 
Join Date: Apr 2008
Gender:
Posts: 126
So, how does PKSV compare to XSE? Why would you recommend PKSV over XSE?

Nice tutorial, although I would make the text larger, and maybe darker. I don't like bright text, it hurts my eyes.

I also recommend making screenshots to illustrate what you're teaching. They make a huge difference, trust me.
__________________
Click here if you are a fan of The Legend of Zelda: Ocarina of Time.
Reply With Quote
  #52    
Old December 19th, 2009 (06:56 AM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
Well..
1) PKSV has an sg, it has a movement planner, it can decompile thumb code and has scintilla, plus you don't need to include any header files to say "givepokemon BULBASAUR", not to mention there is a drop down code completion feature that is really nice. XSE is nice, and it has some of the same things PKSV does (calculator,notes etc) BUT it's just not quite as user friendly. XSE really is good, and there are times when i use (like for eraserange and what not) but usually, i use pksv.
2) hm....i'll look into it...
3) I'l try 'n make em.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #53    
Old December 19th, 2009 (05:40 PM).
Jemzx's Avatar
Jemzx Jemzx is offline
Guardian Trainer
 
Join Date: Nov 2009
Gender: Male
Nature: Relaxed
Posts: 44
Do u know how to work with gender script??
Reply With Quote
  #54    
Old December 19th, 2009 (05:50 PM).
score_under's Avatar
score_under score_under is offline
I program the *other* ASM.
Crystal Tier
 
Join Date: Aug 2005
Location: Hertfordshire, England
Age: 22
Nature: Rash
Posts: 525
Quote originally posted by Jemzx:
Do u know how to work with gender script??
Code:
'... in the middle of some script ...
checkgender
compare lastresult boy
if == jump :boy
'do something girlish
jump :continue
:boy
'do something boyish
:continue
'continue the script as normal
__________________
Plz not to PM me, I don't come here often enough. Email if you need me
Reply With Quote
  #55    
Old December 19th, 2009 (06:03 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
withe the checkgender command of course
That will be added into the tut as lesson 10.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #56    
Old December 19th, 2009 (06:35 PM).
Jemzx's Avatar
Jemzx Jemzx is offline
Guardian Trainer
 
Join Date: Nov 2009
Gender: Male
Nature: Relaxed
Posts: 44
thank you score under. n_n
Reply With Quote
  #57    
Old December 23rd, 2009 (12:58 PM).
Razer Rage Razer Rage is offline
Beginning Hacker
 
Join Date: Apr 2008
Gender:
Posts: 126
I don't get it. I made a script, compiled it, and now I'm not sure how to decompile it so I can edit it. With XSE, I simply enter the offset and click the button. PKSV has this popup that has no meaning to me.

__________________
Click here if you are a fan of The Legend of Zelda: Ocarina of Time.
Reply With Quote
  #58    
Old December 23rd, 2009 (01:21 PM).
sir.euge's Avatar
sir.euge sir.euge is offline
Bunchies Back!
 
Join Date: Jun 2009
Gender: Male
Nature: Naughty
Posts: 143
Send a message via Yahoo to sir.euge
nice tutorial! ihope you post more tutorials especially on movements!
__________________
Reply With Quote
  #59    
Old December 23rd, 2009 (01:54 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
hm....movement help? Otay.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #60    
Old December 23rd, 2009 (06:26 PM).
interdpth interdpth is offline
I've seen things, man.
 
Join Date: Jul 2004
Posts: 275
Anyone know how to set lastresult to a byte in memory?

like
get bytefrompointer
set lastresult etc

I'm probably being stupid so I imagine someone knows.
__________________
yes, this is doge.

potato is not here.

bye
Reply With Quote
  #61    
Old December 23rd, 2009 (07:04 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
try writebytetooffset
i'm not really sure how that works, but feel free to try
also, just check the drop down menu, then go to hackmew's xse and look for a similar command in the command help, that should get you the right "arguments" (arguments are just information a command needs to know in order to do what it needs to)
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #62    
Old December 23rd, 2009 (07:11 PM).
interdpth interdpth is offline
I've seen things, man.
 
Join Date: Jul 2004
Posts: 275
Yeah, i've looked through the whole command list, I really don't want to have to track down the actual memory address for LAST RESULT

urgh this nasty
__________________
yes, this is doge.

potato is not here.

bye
Reply With Quote
  #63    
Old December 24th, 2009 (03:47 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
lolz
check hackmew's knowledge thread, the asm thing has yet to work for me, (because it always gets the wrong address somehow or the other) but yea...he tells ya how to find the address of some variables.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #64    
Old December 24th, 2009 (07:40 PM).
Hedgehogger's Avatar
Hedgehogger Hedgehogger is offline
Learning ASM, but struggling
 
Join Date: Feb 2007
Location: Somewhere near a box.
Gender: Male
Nature: Quiet
Posts: 204
PKSV's an excellent program--I've been using it to compile my scripts for a while since I used to own Windows 98, which was non-XSE compatible. I've got Windows 7 now, but before I give you my life's story, I noticed Advance-Text doesn't work...Now I learned that in PKSV you could decompile a script, edit it, and re-compile it to the same offset.

I used this method a couple of times to change text, but I just need to know...If the text is shorter than the original, what happens to the leftover data? (I tried to look into it with a Hex Editor and the decompiled offsets, but I just got random Raw's out of it) And if the text is longer than the original, will anything be overwritten?
__________________


Pokeymenz Am-nee-shaaah Beta 4 Released!
Reply With Quote
  #65    
Old December 26th, 2009 (05:34 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
if the text is longer, then yes absolutely, things will be overwritten (unless you repoint the data...)
if the text is shorter, then the bytes will be left alone and you'll just have two different strings (pieces of text).
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #66    
Old January 1st, 2010 (06:43 PM).
Camshaft Camshaft is offline
 
Join Date: Dec 2009
Gender: Male
Posts: 2
So I am new at this and i have been trying to write movement scripts with no success, this is how I write it.

Spoiler:
#org 0x816582F
'-----------------------------------
lock
faceplayer
message 0x87400BD ' Do you like adventur...
callstd MSG_YESNO ' Yes/No message
compare LASTRESULT YES
if == jump 0x87400D4 ' Equal To
jump 0x87400E0

#org 0x87400D4
'-----------------------------------
message 0x87400E9 ' Thats awesome!!\nMe ...
callstd MSG_LOCK ' Built-in lock command
applymovement 0x4 0x26704CC
pauseevent 0x0
release
end

#org 0x87400E0
'-----------------------------------
message 0x8740102 ' Aw . . .\nYou are re...
callstd MSG_LOCK ' Built-in lock command
release
end


#org 0x87400BD
= Do you like adventure?

#org 0x87400E9
= Thats awesome!!\nMe Too!!

#org 0x8740102
= Aw . . .\nYou are really missing out

#org 0x26704CC
M walk_down walk_down end


but when i compile it, it comes out like
Spoiler:
#org 0x816582F
'-----------------------------------
lock
faceplayer
message 0x87400BD ' Do you like adventur...
callstd MSG_YESNO ' Yes/No message
compare LASTRESULT YES
if == jump 0x87400D4 ' Equal To
jump 0x87400E0

#org 0x87400D4
'-----------------------------------
message 0x87400E9 ' Thats awesome!!\nMe ...
callstd MSG_LOCK ' Built-in lock command
applymovement 0x4 0x26704CC ' Not in ROM area
nop1 ' #raw 0x1
#raw 0x74
jumpstd 0x9

#org 0x87400E0
'-----------------------------------
message 0x8740102 ' Aw . . .\nYou are re...
callstd MSG_LOCK ' Built-in lock command
release
end


#org 0x87400BD
= Do you like adventure?

#org 0x87400E9
= Thats awesome!!\nMe Too!!

#org 0x8740102
= Aw . . .\nYou are really missing out


I was wondering what I'm doing wrong
Reply With Quote
  #67    
Old January 1st, 2010 (06:56 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
trying redoing this in dynamics.
Spoiler:

#org @main
'-----------------------------------
lock
faceplayer
message @q
callstd MSG_YESNO
compare LASTRESULT YES
if == jump @yush
jump @neo
#org @yush
'-----------------------------------
message @msg2
callstd MSG_LOCK
applymovement 0x4 @m1
pauseevent 0x0
release
end
#org @neo
'-----------------------------------
message @msg3
callstd MSG_LOCK
release
end

#org @q
= Do you like adventure?
#org @msg2
= Thats awesome!!\nMe Too!!
#@msg3
= Aw . . .\nYou are really missing out
#@m1
M walk_down walk_down end

also, since the script u compiled wasn't in dynamics, I'll assume that you compiled the script, then decompiled and tried to edit it.
If you intend to do this decompile the script using the "dynamic offsets" option in pksv's decompile box. this will avoid any errors like this.
If i'm not wrong, what happened was when you added to the script, the scripts overwrote eachother.
I could not see any problems in ur script, but the above should work (assuming the event number of the ow is 0x4. . .)
*edit*
welcome to pokecommunity ^.^
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #68    
Old January 1st, 2010 (09:25 PM).
Camshaft Camshaft is offline
 
Join Date: Dec 2009
Gender: Male
Posts: 2
awesome thanks for the warm welcome, that worked perfectly. Great tutorial too by the way
Reply With Quote
  #69    
Old January 2nd, 2010 (09:57 AM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
thank ya thank ya :D
again may i make it known
ToDo
Level Script Update
Check Gender Script
and perhaps (still considering it) some tuts on how to use some features on jpans patch as i already have quite the lengthy script using the run-time multichoice. ... i'll add it to the collection nao.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #70    
Old January 8th, 2010 (02:15 PM).
ThePoketrix's Avatar
ThePoketrix ThePoketrix is offline
real-life pikachu
 
Join Date: Jan 2010
Gender: Male
Nature: Calm
Posts: 9
One prob.
HOW IN THE WORLD DO YOU SAVE CHANGES TO EXISTING SCRIPTS?!?!?
__________________
The Poketrix

Who's the Chu?



Reply With Quote
  #71    
Old January 8th, 2010 (08:59 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
how many times have i answered this?
1) If its a file then either File->Save or ctrl+s
2) If it is supposed to be *inside* the ROM then push F9 or ROM->Compile
srsly though...i might have to add an entire new tutorial for all these nubs asking me how to put a script in a rom or save it...heck, i could probably write a book!
FOR THE LAST FREAKING TIME
IF YOU WANT TO STORE A FILE IN THE GBA ROM, PUSH F FREAKING 9. IF YOU WANT TO SAVE IT AS A FILE TO EDIT LATER, PUSH CTRL + S
maybe the uggested screaming got it through your heads. >.>
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #72    
Old January 10th, 2010 (10:12 AM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
those are there for EMFASISS, and yes, that would be considered off topic
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #73    
Old January 10th, 2010 (01:51 PM).
Mr.Silver's Avatar
Mr.Silver Mr.Silver is offline
Say Hello To Nurse Barbra
 
Join Date: Jun 2009
Location: The Ushimi region.
Age: 21
Gender: Male
Posts: 670
Send a message via Windows Live Messenger to Mr.Silver
Hey metal,Do you mind putting in a "Script showcase" Section?
If so heres the first:
Spoiler:
Reply With Quote
  #74    
Old January 10th, 2010 (04:23 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
i spose.... but its not going inside the *tut* itself, but in another css-div
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #75    
Old January 10th, 2010 (04:30 PM).
Mr.Silver's Avatar
Mr.Silver Mr.Silver is offline
Say Hello To Nurse Barbra
 
Join Date: Jun 2009
Location: The Ushimi region.
Age: 21
Gender: Male
Posts: 670
Send a message via Windows Live Messenger to Mr.Silver
'kay.
(im breaking the character count :D)
Reply With Quote
Reply
Quick Reply

Sponsored Links

You may also like.. (Beta)
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 05:41 AM.