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

[ARCHIVE] Simple Questions (SEARCH BEFORE ASKING A QUESTION)

Status
Not open for further replies.

EdensElite

No0b, but getting there.
190
Posts
12
Years
    • UK
    • Seen Jul 4, 2014
    Whenever I use the "20 - Block is Covered by hero" or whatever it is. The tile messes up with random tile pieces? Any help with this, it's kinda of an essential behaviour byte.

    I know we shouldn't post twice, but I just got flat out ignored because of that convo between redriders and c3pu. I really need help with this guys...It also messes up the computer keyboard tile when I click on it 0.o
     
    28
    Posts
    13
    Years
    • Seen Apr 6, 2013
    I know we shouldn't post twice, but I just got flat out ignored because of that convo between redriders and c3pu. I really need help with this guys...It also messes up the computer keyboard tile when I click on it 0.o

    Perhaps a little more information, a lot of the time stuff can seem random, but it decidedly isn't. Make sure you are using it as the background byte and not the behavior byte. The behavior byte 0x20 is identified as reflection in Amap, so I wouldn't think you had done that, but reflection would make the tile appear to change, so I suggest it anyway. Beyond that suggestion, I can't help much. As I have said before, I am much better at fixing things if I can be more hands on.

    Even with that most likely unhelpful suggestion, I would ask something of you. I noticed on the hack that you link to in your signature that you have a few new/edited trainer sprites. I would request your permission to use them in my own hack. I am looking to 'copy' Light Platinum (I think) and have more than just one rival who meet up in a tournament at the end, and that requires a few different looking trainer sprites and I really like the look of a few of yours. You will be credit however you wish of course and I would offer you my help in any situation in the future, hoping that I will eventually be able to helpful.
     

    supershadow64ds

    Confused Noob Programmer
    25
    Posts
    12
    Years
    • Seen Nov 14, 2023
    I have a question about DayNightSeasons. Well, two, actually.
    1. How the heck do I use the seasons function?
    2. I installed the RTC and DAN system, and I want to know how to display the time (Hours:Minutes) and the Date (Month/Day/Year) in separate messages. I am a horrible noob at XSE, because I was the one guy who grew up with PokeScript .-.
     
    9
    Posts
    11
    Years
    • Seen Jan 27, 2014
    I forgot to mention...those earlier limitations I mentioned are for Firered specifically. Ruby and Emerald use 32x32 surfing sprites and pulling-pokeball-out-of-pocket sprites, but I still don't know about walking or running.

    Gimp or Photoshop will preserve indexed graphics, and allow you to edit them easily enough. You can also do some searching, and download the old style of paint, which preserves the index as well.
    that totally worked thanks i ad to slice a couple of them in width to make them fit in the 16x32 frame put i play my rom on psp so it almost doesnt show.

    today i tried changing npc to d/p but wen i changed the first one i realised that there is several npc linked to the same pallet so my d/p sprite dont match the same way as the advanced one so am i f***ed or is there a way to make it work and if there is am i looking at a weeks process?
     

    redriders180

    Mastermind of Pokemon Glazed
    314
    Posts
    13
    Years
  • I have a question about DayNightSeasons. Well, two, actually.
    1. How the heck do I use the seasons function?
    2. I installed the RTC and DAN system, and I want to know how to display the time (Hours:Minutes) and the Date (Month/Day/Year) in separate messages. I am a horrible noob at XSE, because I was the one guy who grew up with PokeScript .-.

    As for your second question, unfortunately, it takes a little bit of experience. The DNS system writes the year, month, day, hour, minute, and second in specific parts of the memory (from 0x0300553C to 0x03005544, inclusive). The year is two byes, while the others are one byte, and 0x0300552E and 0x03005540 are empty.

    What you need to do is use copybyte to copy one of the bytes to the memory address of a variable. Variable 0x8004 is stored at 0x020370C0, and is two bytes. So, for example, to store the month into variable 0x8004:

    ...
    copybyte 0x020370C0 0x0300553F
    ...

    You can then use the variable in scripts, for comparing, or use buffernumber to store the variable's value into a buffer, for display.

    I would provide a sample script, but my post is getting long enough as-is. Just a few precautions: First, the hour is stored in 24 hour format, so 4PM is stored as 0x10, not 0x4. Secondly, buffernumber just makes the number appear, and while this is usually good, it provides a pitfall when time is involved. If it's 4:05, the time will be rendered as 4:5 with buffers. The best solution is to check if the minute is less than 10, and if it is, [buffer1]:0[buffer2], otherwise, [buffer1]:[buffer2]. Thirdly, there's only three buffers, so you'll have to display the time and date in different text boxes.

    Good luck!
     

    supershadow64ds

    Confused Noob Programmer
    25
    Posts
    12
    Years
    • Seen Nov 14, 2023
    As for your second question, unfortunately, it takes a little bit of experience. The DNS system writes the year, month, day, hour, minute, and second in specific parts of the memory (from 0x0300553C to 0x03005544, inclusive). The year is two byes, while the others are one byte, and 0x0300552E and 0x03005540 are empty.

    What you need to do is use copybyte to copy one of the bytes to the memory address of a variable. Variable 0x8004 is stored at 0x020370C0, and is two bytes. So, for example, to store the month into variable 0x8004:

    ...
    copybyte 0x020370C0 0x0300553F
    ...

    You can then use the variable in scripts, for comparing, or use buffernumber to store the variable's value into a buffer, for display.

    I would provide a sample script, but my post is getting long enough as-is. Just a few precautions: First, the hour is stored in 24 hour format, so 4PM is stored as 0x10, not 0x4. Secondly, buffernumber just makes the number appear, and while this is usually good, it provides a pitfall when time is involved. If it's 4:05, the time will be rendered as 4:5 with buffers. The best solution is to check if the minute is less than 10, and if it is, [buffer1]:0[buffer2], otherwise, [buffer1]:[buffer2]. Thirdly, there's only three buffers, so you'll have to display the time and date in different text boxes.

    Good luck!

    Okay... I think I understand. Eh, just, how would I store more than one buffer/which variable should I use, in addition to x8004? I tried using buffernumber 0x0 0x8004, then buffernumber 0x1 0x8004. Only thing this did was make my screen turn colors.
     

    redriders180

    Mastermind of Pokemon Glazed
    314
    Posts
    13
    Years
  • Okay... I think I understand. Eh, just, how would I store more than one buffer/which variable should I use, in addition to x8004? I tried using buffernumber 0x0 0x8004, then buffernumber 0x1 0x8004. Only thing this did was make my screen turn colors.
    You first write, say, the hour, to variable 0x8004, then use buffernumber 0x0 0x8004. Then you write, say, the minute, to variable 0x8004, and use buffernumber 0x1 0x8004. Then put in a msgbox that says [buffer1]:[buffer2], or something similar, and it should work (I say should because I've done this before with no hassle in the exact way I just specified).

    that totally worked thanks i ad to slice a couple of them in width to make them fit in the 16x32 frame put i play my rom on psp so it almost doesnt show.

    today i tried changing npc to d/p but wen i changed the first one i realised that there is several npc linked to the same pallet so my d/p sprite dont match the same way as the advanced one so am i f***ed or is there a way to make it work and if there is am i looking at a weeks process?

    The GBA is limited to sixteen OW palettes at a time. Four are reserved for other functions, and can't be used. Two are for the hero (one normal, one slightly faded). This means you only get four palettes for other NPCs (the remaining four are slightly-faded versions of these four, and used for reflections in water). There's also one variable palette, which can be used as well, although you only get one.

    So, basically, you'll have to recolor alot of the OWs you insert.
     

    supershadow64ds

    Confused Noob Programmer
    25
    Posts
    12
    Years
    • Seen Nov 14, 2023
    You first write, say, the hour, to variable 0x8004, then use buffernumber 0x0 0x8004. Then you write, say, the minute, to variable 0x8004, and use buffernumber 0x1 0x8004. Then put in a msgbox that says [buffer1]:[buffer2], or something similar, and it should work (I say should because I've done this before with no hassle in the exact way I just specified).

    So, tell me if I am doing anything wrong here:
    Spoiler:


    Is this script using the buffers correctly, or will it just make my screen turn blue again?
     

    redriders180

    Mastermind of Pokemon Glazed
    314
    Posts
    13
    Years
  • So, tell me if I am doing anything wrong here:
    Spoiler:


    Is this script using the buffers correctly, or will it just make my screen turn blue again?

    You're doing a few things wrong. First of all, variable 0x8004 is two bytes, meaning that 0x020370C0 is the first half of 0x8004, and 0x020370C1 is the second half of 0x8004. 0x020370C2 is the first half 0x8005, and 0x020370C3 is the second half of 0x8005. As it stands, your script is doing this (Pretend we're using today as an example)

    Copy the month to the first half of 0x8004 (0x0008 is now in 0x8004)
    Copy the day to the second half 0x8004 (0x1408 is now in 0x8004)
    Copy the year to 0x8005 <--Correct
    buffer 0x8004 to buffer1 (Buffer1 will now say 5128)
    buffer 0x8004 to buffer2 (Buffer2 will now say 5128)
    buffer 0x8004 to buffer3 (Buffer3 will now say 5128)
    Display the date

    The date would be displayed as 5128/5128/5128, instead of the actual date of August 20th.

    This ought to do what you want:
    Spoiler:
     
    9
    Posts
    11
    Years
    • Seen Jan 27, 2014
    You first write, say, the hour, to variable 0x8004, then use buffernumber 0x0 0x8004. Then you write, say, the minute, to variable 0x8004, and use buffernumber 0x1 0x8004. Then put in a msgbox that says [buffer1]:[buffer2], or something similar, and it should work (I say should because I've done this before with no hassle in the exact way I just specified).



    The GBA is limited to sixteen OW palettes at a time. Four are reserved for other functions, and can't be used. Two are for the hero (one normal, one slightly faded). This means you only get four palettes for other NPCs (the remaining four are slightly-faded versions of these four, and used for reflections in water). There's also one variable palette, which can be used as well, although you only get one.

    So, basically, you'll have to recolor alot of the OWs you insert.

    if i change the colors in one of the pallet are only the npc influanced or also things like house and trees because wen i changed the pallet for the hero the surf sprite, arrows and emotion bubles(when npc sees you and such) ended up all messed up
     

    redriders180

    Mastermind of Pokemon Glazed
    314
    Posts
    13
    Years
  • if i change the colors in one of the pallet are only the npc influanced or also things like house and trees because wen i changed the pallet for the hero the surf sprite, arrows and emotion bubles(when npc sees you and such) ended up all messed up

    The surf sprite, arrows, and emotion bubbles all share the same palette as the hero, so changing the hero palette changes those as well. It won't interfere with tiles, or anything else.
     
    9
    Posts
    11
    Years
    • Seen Jan 27, 2014
    thanks a lot for all your help and i still have a question i just realized that my reflection palette is wrong so im wondering how to change it


    edit: think i just fond how will try later

    edit: fixed thanks anyhow
     
    Last edited:

    supershadow64ds

    Confused Noob Programmer
    25
    Posts
    12
    Years
    • Seen Nov 14, 2023
    Spoiler:

    Thanks! Also, I was wondering if it was possible to change the 2nd tileset through an event. That, and how to use the Seasons function of DNS.
     
    3
    Posts
    11
    Years
    • Seen Aug 21, 2012
    I'm a total newbie at Pokemon Rom Hacking, so my first hack is mostly going to be a graphics and text hack for Pokemon Emerald. Even so, I ran into a few problems:

    First, I can't get any Gameshark codes to work with Visual Boy Advance. How am I supposed to debug my game now?

    Second, while I can find the trainer backsprites, I have no idea how to find the right pallet for them, which makes editing them difficult. How do I find the right pallet?

    Third and finally, how do I change the default name(s) of the rival, as well as default player names? I can't seem to find the script that does it.

    Thanks in advance to anyone who helps me with this!
     

    redriders180

    Mastermind of Pokemon Glazed
    314
    Posts
    13
    Years
  • I'm a total newbie at Pokemon Rom Hacking, so my first hack is mostly going to be a graphics and text hack for Pokemon Emerald. Even so, I ran into a few problems:

    First, I can't get any Gameshark codes to work with Visual Boy Advance. How am I supposed to debug my game now?
    The best way is to simply play your game as you make it. You can also make warps to go to different towns, or my personal favorite, a master script that gives you six high-level pokemon, all badges, and all key items, and sets important flags like Pokedex, National Dex, and Running Shoes.

    Edrobot said:
    Second, while I can find the trainer backsprites, I have no idea how to find the right pallet for them, which makes editing them difficult. How do I find the right pallet?
    You'll have to do a little sleuthing for this. Open up VBA, and start a battle, and pause while the player's backsprite is up. Now, go into the Palette Viewer of VBA, and scan the right-hand bunch of palettes for one that matches the palette of the backsprite (they go in rows). Take note of every color, and use APE to search for those colors. You'll eventually find the palette in question :D

    Edrobot said:
    Third and finally, how do I change the default name(s) of the rival, as well as default player names? I can't seem to find the script that does it.

    Thanks in advance to anyone who helps me with this!
    Emerald doesn't really have default rival names...the names are entirely script, and basically just check the gender, and displays two different strings depending on whether you're female or male. Wally always has the same name as well.

    As for the player's name, if it's like Firered, it's stored in a DMA-protected block that has all the player data, such as gender, OT Number, and secret ID. I don't have a specific offset, but it'll require ASM no matter what.
     
    3
    Posts
    11
    Years
    • Seen Aug 21, 2012
    The best way is to simply play your game as you make it. You can also make warps to go to different towns, or my personal favorite, a master script that gives you six high-level pokemon, all badges, and all key items, and sets important flags like Pokedex, National Dex, and Running Shoes.

    Guess I'm going to need to learn some scripting no matter what. But that's beyond the scope of this particular thread.

    You'll have to do a little sleuthing for this. Open up VBA, and start a battle, and pause while the player's backsprite is up. Now, go into the Palette Viewer of VBA, and scan the right-hand bunch of palettes for one that matches the palette of the backsprite (they go in rows). Take note of every color, and use APE to search for those colors. You'll eventually find the palette in question :D

    I'm pretty sure VBA has some sort of pallete display thing, but thanks for the advice.

    Emerald doesn't really have default rival names...the names are entirely script, and basically just check the gender, and displays two different strings depending on whether you're female or male. Wally always has the same name as well.

    I'm confused; is this a single script that gets called every time the rival name is mentioned, or is it multiple scripts that display different text boxes based on the player's gender? Wally of course I'll have to do manually.

    NOTE TO FUTURE VIEWERS: "MAY", "BRENDAN" and "WALLY" are all capital letters in the game script.

    As for the player's name, if it's like Firered, it's stored in a DMA-protected block that has all the player data, such as gender, OT Number, and secret ID. I don't have a specific offset, but it'll require ASM no matter what.

    Can somebody who's done this before give me some pointers because I have no idea what that means.
     

    shinyabsol1

    Pokemon DarkJasper!?
    333
    Posts
    13
    Years
    • Seen Nov 23, 2022
    Edrobot said:
    I'm confused; is this a single script that gets called every time the rival name is mentioned, or is it multiple scripts that display different text boxes based on the player's gender? Wally of course I'll have to do manually.

    Multiple scripts. In scripts that mention the rival's name, the gender you chose at the beginning of the game is checked, then based on that result displays a text box that uses the rival name of the opposite gender.

    Wally is always Wally, regardless of gender, obviously.
     
    Status
    Not open for further replies.
    Back
    Top