The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

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.


Advertise here

Reply
 
Thread Tools
  #1    
Old August 16th, 2011, 10:29 AM
Wesley FG's Avatar
Wesley FG
 
Join Date: Oct 2008
Location: Brazil
Gender:
Nature: Adamant

Advertise here
TUTORIAL TO DIFFERENTIATE THE DAYS OF NIGHT

==================================================
Things Necessary:
==================================================
Rom Pokémon (Fr/Lg/R/S/E)
DNS
Advance Map
Scripter Editor ( I use XSE)


==================================================
Tutorial
==================================================

This tutorial is very simple, it will read just give a script ready to modify as you please, and do unimaginable things with your good imagination and celebrate.

The first thing to do is enter the routine of DNS in your rom and observe the following information:



In my case I will create the windows and street lights at night, note the byte 0x0300553C, this is where the byte RTC was installed in ROM and the information is in the following order as shown: year (2bytes), 00 month (1byte), day (1 byte), 00 hour (1byte), minute (1byte), second (1byte). With this information we can do unimaginable things, such as scripts that occur only on certain days of the week, among other things.
Now open your emulator to verify this information, and go to the Memory Viewr and opened this tab:



With this we can see that the information in the order described in 300553C start, but for use in a script and know whether it is day or night you must use the information of time, which is in the blue square, and will be 6 bytes in front of 300553C, using the scientific calculator (scientific mode) windows and adding 300553C +6 = 3005542, ie the direction that we will use to compare the hours will be 3005542!

Ready now define the hours that will be in my case at night from 19:00 PM the night (hex 13) to 4:00 am (4 hexadecimal) now that we have all this information we will make the script!

And looks like this: (XSE)

Quote:
#dynamic 0x900000
copybyte 0x202E8DC 0x3005542
compare LASTRESULT 0x13
if 0x4 goto @night
compare LASTRESULT 0x4
if 0x3 goto @night
goto @day
end




#org @night
Setmaptile
……
End

#org @day
Nop
End
Now we analyze, with the direction used copybyte found 0x3005542, which is where the information of the hour, and then made whether the hours are in the range between 19 and 4 hours, so the script that will occur and the @ night if the time is not in this range, it drop to @ day.
Now use imagination to create a tile with a lamp pole with lights, or lights in the window, make a script to change the tiles setmaptile overnight and ready.
Also you can compare and know which day of week, etc..
In my case I used a rom Ruby, FireRed also in use in the same way will only offset the seedlings in the RTC memory viewer just look in DNS, the same way I did mine in Ruby.

I use the translator, bye.

=============================================================================
CREDITS
==============================================================================

Dark Rayquaza, Derlo, Dante, ZodiacDagreath (for help-me with dudes)
PrimerDialkga (DNS Creator)


__________________
My Devianart:http://wesleyfg.deviantart.com/

Last edited by Wesley FG; August 17th, 2011 at 01:01 PM.
Reply With Quote
  #2    
Old August 19th, 2011, 03:52 AM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
This is a good tutorial, and is quite easily read considering that English isn't your natural language, and you translated it.

However, the offset you showed for LASTRESULT is only applicable for either Ruby or for your language of Ruby (one or the other, I forget exactly which).

For BPRE, it's at 0x020370D0, for example.

It's better to use comparefarbytetobyte 0x3005542 [Time] as this doesn't require a copy to a RAM address which will be different between versions.

Hope this helps.
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
Reply With Quote
  #3    
Old April 22nd, 2012, 06:12 AM
Smoley'
Beginning Trainer
 
Join Date: Apr 2012
Gender: Male
Thanks You ! It'll be veryuseful for my hack,
Reply With Quote
  #4    
Old April 22nd, 2012, 06:45 PM
DarkFlameSquirrel's Avatar
DarkFlameSquirrel
Music Freak
 
Join Date: Apr 2012
Location: Texas, USA
Gender: Male
Nature: Gentle
When I load Pokemon Emerald with DNS, I get an option to insert RTC. Doesn't Emerald Version already have Real Time Clock or some kind of time feature?
And I seriously hope this is a DNS tutorial and not a wrong thread D:
__________________
"I will not live in misery." -Bleeding Through
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 03:07 AM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.