Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

TrollandToad.com
Reply
 
Thread Tools
  #526    
Old July 27th, 2014 (8:04 PM).
Danny0317's Avatar
Danny0317 Danny0317 is offline
Fluorite's back, brah
  • Gold Tier
 
Join Date: Jun 2013
Location: Miami, FL
Age: 17
Gender: Male
Nature: Hasty
Posts: 1,075
Hate to be "that guy," but does anyone know the offset for the wailmer (I think it is) in Emerald that the player surfs on? I tried looking around in NSE, around the OW area, and couldn't find it. However in VBA in the OAM viewer it was there. Sorry if this is the wrong place.
__________________
Reply With Quote

Relevant Advertising!

  #527    
Old July 28th, 2014 (1:45 AM).
Windsong Windsong is offline
—the dream is dead
     
    Join Date: Dec 2007
    Location: Germany
    Age: 25
    Gender: Male
    Nature: Quiet
    Posts: 30
    Quote:
    Originally Posted by Dark Sneasel View Post
    Hate to be "that guy," but does anyone know the offset for the wailmer (I think it is) in Emerald that the player surfs on? I tried looking around in NSE, around the OW area, and couldn't find it. However in VBA in the OAM viewer it was there. Sorry if this is the wrong place.
    This one? You can find it at 004F5498~

    __________________
    あなたがいつか消えて行くの?
    working on something
    Reply With Quote
      #528    
    Old July 29th, 2014 (11:06 AM).
    daniilS's Avatar
    daniilS daniilS is offline
    busy trying to do stuff not done yet
       
      Join Date: Aug 2013
      Age: 18
      Gender: Male
      Posts: 409
      Applymovement 0x9F in FireRed makes the character look left and right. I haven't seen this before, so maybe it's interesting to know.
      __________________
      Reply With Quote
        #529    
      Old July 29th, 2014 (11:32 AM). Edited July 31st, 2014 by Danny0317.
      Danny0317's Avatar
      Danny0317 Danny0317 is offline
      Fluorite's back, brah
      • Gold Tier
       
      Join Date: Jun 2013
      Location: Miami, FL
      Age: 17
      Gender: Male
      Nature: Hasty
      Posts: 1,075
      Trying out some movements in Emerald because I have nothing better to do

      0x4F - Player runs in place, facing down doesn't seem to stop, even with 0xFE after.
      0x50 -0x53 - nothing.
      0x5A and 0x5B -player faces up, 0xFE doesn't cancel the effects
      0x5e - After it finishes when you walk right, it uses the walk left sprite.
      0x68 - same as 0x4F
      0x69 - same, but runs facing up instead
      0x6A - same, but runs facing left instead
      0x6B - same, but runs facing right instead
      0x6C - seems to be walking in place, facing down
      0x6D - seems to be walking in place, facing up
      0x6E - seems to be walking in place, facing left
      0x6F - seems to be walking in place, facing right
      0x9B - player starts flying and does something cool http://imgur.com/qhLqOel

      EDIT: I forgot to add another applymovement, my bad. 0x5F cancels the effect of 0x5E.
      __________________
      Reply With Quote
        #530    
      Old July 31st, 2014 (2:47 AM). Edited August 1st, 2014 by daniilS.
      daniilS's Avatar
      daniilS daniilS is offline
      busy trying to do stuff not done yet
         
        Join Date: Aug 2013
        Age: 18
        Gender: Male
        Posts: 409
        Here's a preview of the stuff in my upcoming Movement Documentation:
        A piece of asm that makes you run-jump off ledges if B is pressed and you are not on a bike. It just annoyed me that when you were running you would still walk-jump off them, so I came up with a fix.

        Code:
        .text
        .align 2
        .thumb
        .thumb_func
        .global jump_2_with_sound_new
        
        main:
        	push {r4, lr}
        	mov r4, r0
        	mov r0, #0xA
        	bl +0x16090
        	mov r0, r4
        	bl +0x7ED4
        	ldr r1, buttonz
        	ldrb r1, [r1]
        	mov r4, #0x2
        	and r1, r4
        	beq next
        	ldr r1, walkrun
        	ldrb r1, [r1]
        	cmp r1, #0x2
        	beq next
        	add r0, #0x70
        next:
        	mov r1, #0x8
        	bl -0x218
        	pop {r4, pc}
        
        .align 2
        buttonz:	.word 0x0300311C
        walkrun:	.word 0x02037078
        
        /*insert at 0805C23C*/
        EDIT: fixed a typo.
        __________________
        Reply With Quote
          #531    
        Old August 1st, 2014 (7:05 PM).
        Danny0317's Avatar
        Danny0317 Danny0317 is offline
        Fluorite's back, brah
        • Gold Tier
         
        Join Date: Jun 2013
        Location: Miami, FL
        Age: 17
        Gender: Male
        Nature: Hasty
        Posts: 1,075
        Not sure if this could be of use to anyone, but I found this in emerald. sadly, it has no checkflag, I was trying to find a way to make you be able to use surf without the badge, but then again, maybe this could be useful to someone?

        '---------------
        #org 0x271EA0
        checkattack 0x39
        compare LASTRESULT 0x6
        if 0x1 goto 0x8271ED6
        bufferpartypokemon 0x0 LASTRESULT
        setanimation 0x0 LASTRESULT
        lockall
        msgbox 0x8272FD6 MSG_YESNO '"The water is dyed a deep blue[.]\n..."
        compare LASTRESULT 0x0
        if 0x1 goto 0x8271ED5
        msgbox 0x827300D MSG_KEEPOPEN '"[buffer1] used SURF!"
        doanimation 0x9
        releaseall
        end

        '---------------
        #org 0x271ED6
        end

        '---------------
        #org 0x271ED5
        releaseall
        end


        '---------
        ' Strings
        '---------
        #org 0x272FD6
        = The water is dyed a deep blue[.]\nWould you like to SURF?

        #org 0x27300D
        = [buffer1] used SURF!
        __________________
        Reply With Quote
          #532    
        Old August 3rd, 2014 (2:06 PM).
        DJTiki's Avatar
        DJTiki DJTiki is offline
        Under the Crescent Moon
        • Crystal Tier
         
        Join Date: Mar 2014
        Location: Estino Academy
        Gender: Male
        Nature: Jolly
        Posts: 1,238
        So I want to implement a feature, which has a ZERO requirement for HM's. Of course, I wanted the things like Surf, Cut, etc. to still be available, at least in the overworld. I do believe that Pokémon, uses a something of a "check move" command, to initate the HM Overworld Exploring process. But since, we are removing HM's, what about a TM/HM Compatibility Check, to see if it could learn the moves, rather than if it haves the HM. It makes more sense that Pokémon can use HM's without their moves. All Water Pokémon can use Surf and Waterfall, not even having to use the HM's given.

        The dynamic offsets for the TMHM Compatibilty Table follows as so:
        BPRE(Fire Red)- 43C68
        AXVE(Ruby)- 403B0
        BPEE(Emerald)- 6E048

        I'm pretty sure that is absolutely useless, but wanted to post something other than my ideas. I may start looking over Move Tutors, since they need to look into TMHM Compatibilty to teach moves. I'll edit this post with future findings.
        Reply With Quote
          #533    
        Old August 3rd, 2014 (2:25 PM). Edited August 3rd, 2014 by Deokishisu.
        Deokishisu's Avatar
        Deokishisu Deokishisu is offline
        Mr. Magius
           
          Join Date: Feb 2006
          Location: If I'm online, it's a safe bet I'm at a computer.
          Gender: Male
          Nature: Relaxed
          Posts: 883
          Quote:
          Originally Posted by DJTiKi View Post
          So I want to implement a feature, which has a ZERO requirement for HM's. Of course, I wanted the things like Surf, Cut, etc. to still be available, at least in the overworld. I do believe that Pokémon, uses a something of a "check move" command, to initate the HM Overworld Exploring process. But since, we are removing HM's, what about a TM/HM Compatibility Check, to see if it could learn the moves, rather than if it haves the HM. It makes more sense that Pokémon can use HM's without their moves. All Water Pokémon can use Surf and Waterfall, not even having to use the HM's given.

          The dynamic offsets for the TMHM Compatibilty Table follows as so:
          BPRE(Fire Red)- 43C68
          AXVE(Ruby)- 403B0
          BPEE(Emerald)- 6E048

          I'm pretty sure that is absolutely useless, but wanted to post something other than my ideas. I may start looking over Move Tutors, since they need to look into TMHM Compatibilty to teach moves. I'll edit this post with future findings.
          I've had something exactly like this implemented in my hack for quite some time, where if a Pokemon is capable of learning a HM, it can use it in the field. I just did it the lazy way and scripted cut trees/rock smash rocks/surf script/etc. to check your party for a list of pokemon compatible with the moves. It will prefer Pokemon that know the move before choosing one that doesn't but can learn. It's inelegant, and lazy, but it works and is indistinguishable graphically from using HM moves in the field normally. I haven't come up with a solution for Fly, and since I'm on the fence about including it as a field move, I've not really tried. Ideally, the option for Fly in the party menu would appear after obtaining the badge and its HM, as that would be conceivably the earliest the player would be able to use it if they're not trading. But, that begs the question, do teleport and dig get the same treatment? Would having them available at no cost with a Pokemon that can learn it in your party make the game too easy?

          EDIT: I suppose if you were really lazy, you could have the person that gives you Fly give you a Flight Map key item, or something, that checks the party for a Pokemon capable of using Fly before callasm-ing the flight map and letting you select a location.
          Reply With Quote
            #534    
          Old August 3rd, 2014 (2:42 PM).
          DJTiki's Avatar
          DJTiki DJTiki is offline
          Under the Crescent Moon
          • Crystal Tier
           
          Join Date: Mar 2014
          Location: Estino Academy
          Gender: Male
          Nature: Jolly
          Posts: 1,238
          Quote:
          Originally Posted by Deokishisu View Post
          I've had something exactly like this implemented in my hack for quite some time, where if a Pokemon is capable of learning a HM, it can use it in the field. I just did it the lazy way and scripted cut trees/rock smash rocks/surf script/etc. to check your party for a list of pokemon compatible with the moves. It will prefer Pokemon that know the move before choosing one that doesn't but can learn. It's inelegant, and lazy, but it works and is indistinguishable graphically from using HM moves in the field normally. I haven't come up with a solution for Fly, and since I'm on the fence about including it as a field move, I've not really tried. Ideally, the option for Fly in the party menu would appear after obtaining the badge and its HM, as that would be conceivably the earliest the player would be able to use it if they're not trading. But, that begs the question, do teleport and dig get the same treatment? Would having them available at no cost with a Pokemon that can learn it in your party make the game too easy?
          The usage of Fly, would be a tough one. The main problem with this is the limitations, bound by Badges. I belive there is ASM, for turning the HM's to TM's, so I'd use that. So maybe, if we remove the option for badge orientated limitations, then this could be looked around. Funny you say that, about the scripts, because I thought of the same thing. xD

          In terms of making the game easier. In my game, having the access to Dig and Teleport, wouldn't make much of a deference. But if we are talking hacks as a whole, it would make it easier. But that means, the player can focus more on the design aspects of the region, without worrying about placing many barriers. Also another issue, may be that you can go anywhere. Being how, most progression barriers, are HM overworld limits. So this is more of an implematation, more focused to an open setting, than a linear one. So yes, it would definetly make an 8 badge journey hacks, more easier. But it's also a convience to hackers, making more open-orientated game, like me , who would love a feature like this, as both a player and hacker,
          Reply With Quote
            #535    
          Old August 3rd, 2014 (11:15 PM).
          daniilS's Avatar
          daniilS daniilS is offline
          busy trying to do stuff not done yet
             
            Join Date: Aug 2013
            Age: 18
            Gender: Male
            Posts: 409
            I'd rather go with a type check. So you'd need a grass or bug type for cut, a fighting type for rock smash, a flying type for fly, and so on.
            __________________
            Reply With Quote
              #536    
            Old August 4th, 2014 (3:22 AM).
            Le pug's Avatar
            Le pug Le pug is offline
            Creator of Pokémon: Discovery / Fat Kid
            • Crystal Tier
             
            Join Date: Aug 2013
            Location: Le bed
            Age: 24
            Gender: Male
            Nature: Bold
            Posts: 784
            Alright so me and DarkSneasel were trying to find a way to checkpokemon in your party for events in Emerald...

            so I looked at all the different in-game trading scripts and I figured out this script:

            Spoiler:
            #org @event
            lock
            setvar 0x8008 0x1
            copyvar 0x8004 0x8008
            special2 LASTRESULT 0xFF
            copyvar 0x8009 LASTRESULT
            special 0xA2
            waitstate
            copyvar 0x800A 0x8004
            compare 0x8004 0xFF
            if 0x1 goto @noaa
            copyvar 0x8005 0x800A
            special2 LASTRESULT 0x102
            copyvar 0x800B LASTRESULT
            comparevars LASTRESULT 0x8009
            if 0x1 goto @noaa
            msgbox @talk 0x6
            release
            end

            #org @noaa
            msgbox @talk3 0x6
            release
            end

            #org @talk3
            = YOU HAVE THE VOLBEAT

            #org @talk
            = You have nothing!


            This script won't go through with the script unless you select from your party a volbeat. Here is a video rep of it:
            https://www.dropbox.com/s/lb4kj8h1quelcz7/here.AVI

            So I noticed that what actually should change it is the 0x8008 var. There are 4 different in-game trading scripts. Check out the difference between three of them:

            For volbeat:
            Spoiler:
            setvar 0x8008 0x0
            copyvar 0x8004 0x8008
            special2 LASTRESULT 0xFF
            copyvar 0x8009 LASTRESULT
            msgbox 0x82159E8 MSG_YESNO '"Huh? My POKéMON is cute?\nSure, I ..."
            compare LASTRESULT 0x0
            if 0x1 goto 0x82159BD
            special 0xA2
            waitstate
            copyvar 0x800A 0x8004
            compare 0x8004 0xFF
            if 0x1 goto 0x82159BD
            copyvar 0x8005 0x800A
            special2 LASTRESULT 0x102
            copyvar 0x800B LASTRESULT
            comparevars LASTRESULT 0x8009
            if 0x5 goto 0x82159C7
            copyvar 0x8004 0x8008
            copyvar 0x8005 0x800A
            special 0x100
            special 0x101
            waitstate
            msgbox 0x8215A77 MSG_KEEPOPEN '"Eheheh[.]\nPlease be good to my PO..."
            setflag 0x99
            release
            end


            For Ralts:
            Spoiler:
            setvar 0x8008 0x1
            copyvar 0x8004 0x8008
            special2 LASTRESULT 0xFF
            copyvar 0x8009 LASTRESULT
            msgbox 0x821637B MSG_YESNO '"Wrooooaaar! I need it!\nI have to ..."
            compare LASTRESULT 0x0
            if 0x1 goto 0x821633D
            special 0xA2
            waitstate
            copyvar 0x800A 0x8004
            compare 0x8004 0xFF
            if 0x1 goto 0x821633D
            copyvar 0x8005 0x800A
            special2 LASTRESULT 0x102
            copyvar 0x800B LASTRESULT
            comparevars LASTRESULT 0x8009
            if 0x5 goto 0x8216347
            copyvar 0x8004 0x8008
            copyvar 0x8005 0x800A
            special 0x100
            special 0x101
            waitstate
            bufferpokemon 0x0 0x8009
            msgbox 0x8216440 MSG_KEEPOPEN '"Oh, yeah, right on!\p[buffer1], we..."
            setflag 0x9B
            release
            end


            For Skitty:
            Spoiler:
            setvar 0x8008 0x3
            copyvar 0x8004 0x8008
            special2 LASTRESULT 0xFF
            copyvar 0x8009 LASTRESULT
            msgbox 0x826508D MSG_YESNO '"My POKéMON is a [buffer2].\nDo you..."
            compare LASTRESULT 0x0
            if 0x1 goto 0x826506B
            special 0xA2
            waitstate
            copyvar 0x800A 0x8004
            compare 0x8004 0xFF
            if 0x1 goto 0x826506B
            copyvar 0x8005 0x800A
            special2 LASTRESULT 0x102
            copyvar 0x800B LASTRESULT
            comparevars LASTRESULT 0x8009
            if 0x5 goto 0x8265075
            copyvar 0x8004 0x8008
            copyvar 0x8005 0x800A
            special 0x100
            special 0x101
            waitstate
            msgbox 0x8265128 MSG_KEEPOPEN '"Oh, it's adorable!\nThank you!\lI ..."
            setflag 0x9C
            release
            end


            So we're trying to figure out how to make this fully functional so the hacker can change what pokemon it's looking for. I'm pretty sure it's in 0x8008 var. So if anyone has any more clues, it'd be awesome to help out!
            __________________







            /// Pokémon: Discovery
            /// Pokémon: Fat Kid
            /// Tile Insertion Tutorial For AdvanceMap
            /// Pokémon Emerald Specials Resource Thread
            /// Pokémon Emerald Decapitalization Patch
            /// Emerald Titlescreen Cloud Removal Tutorial
            /// Tutorial For Fixing Any ROM-related Bug
            Reply With Quote
              #537    
            Old August 4th, 2014 (5:31 AM).
            DoesntKnowHowToPlay's Avatar
            DoesntKnowHowToPlay DoesntKnowHowToPlay is offline
            Tiny Umbrella with Lots and Lots of Good
               
              Join Date: Jan 2012
              Posts: 258
              Requested mons for trades are in the trade data. The format isn't documented anywhere that I know of, but if you search the ROM for the nicknames/OTs of the traded mons you'll find the structs which contain that, as well as what mons you recieve.

              It's almost certainly possible to repoint and expand this, too. If you can figure out what more than five or so of the parts of that table do please write it down, I'm sure a lot of people could put it to use.
              __________________

              Yet Another Fire Red Hack

              Physical/Special Split
              Reply With Quote
                #538    
              Old August 4th, 2014 (9:11 AM). Edited August 4th, 2014 by Le pug.
              Le pug's Avatar
              Le pug Le pug is offline
              Creator of Pokémon: Discovery / Fat Kid
              • Crystal Tier
               
              Join Date: Aug 2013
              Location: Le bed
              Age: 24
              Gender: Male
              Nature: Bold
              Posts: 784
              Quote:
              Originally Posted by DoesntKnowHowToPlay View Post
              Requested mons for trades are in the trade data. The format isn't documented anywhere that I know of, but if you search the ROM for the nicknames/OTs of the traded mons you'll find the structs which contain that, as well as what mons you recieve.

              It's almost certainly possible to repoint and expand this, too. If you can figure out what more than five or so of the parts of that table do please write it down, I'm sure a lot of people could put it to use.
              Well I found that DOTS the Ralts is at 338ED0 ... no repoints go to it or any of the following also:
              PLUSES the Volbeat at 338F0C and 338F84 for MEOWOW the Meowth

              Edit: still researching around ... but I found that at 338F44 is the appropriate "82 01" which is Volbeat's pokemon number. Changed it to 81 01 to see if it would now register to look for Castform and it worked!

              edit 2: so i used the program Trader Advanced ... there is an option to add more trades to the game. When I added more and tested to see if the var 8008 would allow the player to search for the pokemon in his party and it worked. So for a checkpokemoninyourparty command all you need:

              This script:
              Spoiler:
              setvar 0x8008 0x(your number from Trader Advance minus one)
              copyvar 0x8004 0x8008
              special2 LASTRESULT 0xFF
              copyvar 0x8009 LASTRESULT
              special 0xA2
              waitstate
              copyvar 0x8005 0x8004
              special2 LASTRESULT 0x102
              copyvar 0x800B LASTRESULT
              comparevars LASTRESULT 0x8009
              if 0x1 goto @continuewithscript


              and download Trader Advanced and add as many as you want and change what pokemon each number checks for :D

              credits go to me for the research... mr_mako helped out by suggesting the program Trader Advanced and of course the maker of T.A. ty for the program
              __________________







              /// Pokémon: Discovery
              /// Pokémon: Fat Kid
              /// Tile Insertion Tutorial For AdvanceMap
              /// Pokémon Emerald Specials Resource Thread
              /// Pokémon Emerald Decapitalization Patch
              /// Emerald Titlescreen Cloud Removal Tutorial
              /// Tutorial For Fixing Any ROM-related Bug
              Reply With Quote
                #539    
              Old August 5th, 2014 (1:31 PM). Edited August 6th, 2014 by Danny0317.
              Danny0317's Avatar
              Danny0317 Danny0317 is offline
              Fluorite's back, brah
              • Gold Tier
               
              Join Date: Jun 2013
              Location: Miami, FL
              Age: 17
              Gender: Male
              Nature: Hasty
              Posts: 1,075
              If anyone ever wants to make a tag battle script in Emerald, here's something that can help you

              #dynamic 0xE40000
              #org @start
              lock
              special 0x28
              fadescreen 0x1
              special 0x2A
              waitstate
              compare LASTRESULT 0x0
              if 0x5 goto @yes
              special 0x29
              goto @end

              #org @yes
              special 0xFB
              setvar 0x8004 0x2
              setvar 0x8005 0x4
              special 0xEA
              setvar 0x8004 0x8
              setvar 0x8005 0x0
              special 0xEF
              waitstate
              setvar 0x8004 0x6
              special 0xEA
              special 0x29
              copyvar 0x8000 LASTRESULT
              compare 0x8000 0x1
              if 0x1 goto @continue
              fadescreen 0x1
              special 0xCB
              waitstate
              goto @continue

              #org @end
              release
              end
              __________________
              Reply With Quote
                #540    
              Old August 6th, 2014 (12:02 PM). Edited August 12th, 2014 by esperance.
              esperance's Avatar
              esperance esperance is offline
              • Platinum Tier
               
              Join Date: Mar 2010
              Location: Ohio
              Age: 20
              Gender: Male
              Nature: Relaxed
              Posts: 3,825

              Check/Count a Specific Pokémon Species in the Party (FR/LG/Em)


              So I'm not sure if there is a way to do this by scripting in these games, and I saw that trading-style thing post just a few above, but I wrote up a quick bit of ASM code to count the number of a specific species of Pokémon in the party, as a bit of practice for myself, and I thought I would share it.

              The reason I wrote is so that it could be mainly used as a checkpartypokemon-like command in a script.

              It works for FireRed and LeafGreen with no changes, works for Emerald by performing the changes given, and will probably work with any game as long as you find the matching offsets.

              Anyway, here's the ASM for FR/LG:
              Code:
              .text
              .align 2
              .thumb
              .thumb_func
              .global CountPartyPokemonSpecies
              
              main:
              	push {r0-r7, lr}
              	mov r5, #0x0 @ This means fail
              	ldr r6, var
              	ldr r7, party_amount
              	ldrb r4, [r7] @ Get Pokemon count from r7
              	cmp r4, #0x0
              	beq exit
              	ldrh r3, [r6] @ Get the species to check
              	cmp r3, #0x0
              	beq exit @ Don't allow Missingno. This doesn't limit the species from going up, though.
              	mov r7, #0x0
              loop:
              	ldr r0, first_pokemon @ Offset of first Pokemon
              	mov r1, #0x64 @ Length of Pokemon RAM data
              	mul r1, r1, r7 @ r7 holds current index
              	add r0, r0, r1
              	bl decrypt_poke_species @ Get this specific species.
              	mov r9, r0
              	pop {r0-r7}
              	cmp r9, r3
              	bne next
              	add r5, r5, #0x1 @ Increase the counter
              next:
              	add r7, r7, #0x1 @ Increase party index
              	cmp r7, r4 @ And compare against the number in the party
              	blo loop @ I could use a bls here?
              exit:
              	str r5, [r6, #0x10] @ Store the result (r5) in r6 (the var -- 0x800D)
              	pop {r0-r7, pc} @ Return
              
              decrypt_poke_species:
              	push {r0-r7}
              	mov r1, #0xB @ This is the index for the Pokemon species.
              	ldr r2, decrypt_poke @ Call the Pokemon decryption code
              	bx r2
              	
              .align 2
              party_amount:
              	.word 0x02024029
              first_pokemon:
              	.word 0x02024284
              var: @ Got this beauty from HackMew.
              	.word 0x020270B8 + (0x8004 * 2)
              decrypt_poke:
              	.word 0x0803FBE9
              And to work for Emerald, you need only change the end stuff:
              Code:
              .align 2
              party_amount:
              	.word 0x020244E9
              first_pokemon:
              	.word 0x020244EC
              var: @ Got this beauty from HackMew.
              	.word 0x020275D8 + (0x8004 * 2)
              decrypt_poke:
              	.word 0x0806A519
              Some of it is based off some stuff from HackMew's Pokemon take away code, so yeah.

              And of course, here's a sample script explaining how to use it:
              Code:
              #dynamic 0x800000
              
              #include stdpoke.rbh
              
              #org @start
              lock
              faceplayer
              bufferpokemon 0x0 PKMN_MAGIKARP
              setvar 0x8004 PKMN_MAGIKARP // Change this to the species you want
              callasm 0x08XXXXXX // This is the offset of the routine + 1
              compare LASTRESULT 0x1 // The count is stored in 0x800D
              if B_>= goto @some // It will be 0 if there is none, or 1-6 for the count
              msgbox @m1 MSG_KEEPOPEN // It also counts eggs, so yeah...
              release
              end
              
              #org @some
              buffernumber 0x1 LASTRESULT
              msgbox @m2 MSG_KEEPOPEN
              release
              end
              
              #org @m1
              = You don't have any [buffer1]!
              
              #org @m2
              = Wow! You have [buffer2] [buffer1]!

              I hope someone finds this useful, even if for just an example for beginners to learn from.
              Enjoy~!

              EDIT: I added Emerald, although I didn't test it.
              EDIT 2: I tested the Emerald code, and it works.
              __________________
              I was once somebody.
              Reply With Quote
                #541    
              Old August 7th, 2014 (9:55 PM).
              Danny0317's Avatar
              Danny0317 Danny0317 is offline
              Fluorite's back, brah
              • Gold Tier
               
              Join Date: Jun 2013
              Location: Miami, FL
              Age: 17
              Gender: Male
              Nature: Hasty
              Posts: 1,075
              writebytetooffset 0x2 0x2037590 in Emerald makes you go fast (mach bike fast). Thanks kboy6 for helping me find that =).
              Anyways, when you use the bike, that's what happens. However, when I do the writebytetooffset 0x2 0x2037590 your speed changes, but not OW. I'm gonna try to figure something out to make the sprite change, once I do, I'll post that here =)
              __________________
              Reply With Quote
                #542    
              Old August 13th, 2014 (5:18 AM).
              Hiroshi Sotomura's Avatar
              Hiroshi Sotomura Hiroshi Sotomura is online now
              That's Deneb, Altair, and Vega.
              • Developer
              • Crystal Tier
              • GTGet-Together Event Management
              • PokéCommunity Daily
              • Discord Moderoid
               
              Join Date: Nov 2002
              Location: Melbourne, Australia
              Gender: Male
              Nature: Lax
              Posts: 16,943
              Quote:
              Originally Posted by Dark Sneasel View Post
              writebytetooffset 0x2 0x2037590 in Emerald makes you go fast (mach bike fast). Thanks kboy6 for helping me find that =).
              Anyways, when you use the bike, that's what happens. However, when I do the writebytetooffset 0x2 0x2037590 your speed changes, but not OW. I'm gonna try to figure something out to make the sprite change, once I do, I'll post that here =)
              Why not build on this—could this be invoked to speed up bike-riding in FireRed, I wonder? By having this automatically execute in place of how it currently works?

              Since it works in Emerald, I imagine the same could be done (to a different offset) in Ruby/Sapphire.

              By the way, has anyone figured out exactly how HM badge limits are done?
              __________________
              On a day just like any other,
              you suddenly stood up and said,
              “Let's go stargazing tonight!”
              Reply With Quote
                #543    
              Old August 13th, 2014 (5:22 AM).
              Mana's Avatar
              Mana Mana is offline
              • Platinum Tier
               
              Join Date: Jan 2009
              Location: UK
              Gender: Female
              Posts: 10,014
              Quote:
              Originally Posted by Hiroshi Sotomura View Post
              By the way, has anyone figured out exactly how HM badge limits are done?
              I saw this post just yesterday. Should be able to work off the offset given?
              Reply With Quote
                #544    
              Old August 13th, 2014 (5:31 AM).
              Danny0317's Avatar
              Danny0317 Danny0317 is offline
              Fluorite's back, brah
              • Gold Tier
               
              Join Date: Jun 2013
              Location: Miami, FL
              Age: 17
              Gender: Male
              Nature: Hasty
              Posts: 1,075
              Quote:
              Originally Posted by Hiroshi Sotomura View Post
              Why not build on this—could this be invoked to speed up bike-riding in FireRed, I wonder? By having this automatically execute in place of how it currently works?

              Since it works in Emerald, I imagine the same could be done (to a different offset) in Ruby/Sapphire.

              By the way, has anyone figured out exactly how HM badge limits are done?
              There is an offset for Fire Red, found by diegoisawesome, I'll get it in a bit. And about your question, are you talking about the ones like rock smash, or the ones like surf, waterfall, etc?
              In Emerald, I found the surf script, it had no checkflag 0x(badge) but rather checkattack 0x39(surf) so maybe it's in the movement permission 4?
              __________________
              Reply With Quote
                #545    
              Old August 13th, 2014 (6:23 AM). Edited August 13th, 2014 by Hiroshi Sotomura.
              Hiroshi Sotomura's Avatar
              Hiroshi Sotomura Hiroshi Sotomura is online now
              That's Deneb, Altair, and Vega.
              • Developer
              • Crystal Tier
              • GTGet-Together Event Management
              • PokéCommunity Daily
              • Discord Moderoid
               
              Join Date: Nov 2002
              Location: Melbourne, Australia
              Gender: Male
              Nature: Lax
              Posts: 16,943
              Quote:
              Originally Posted by Magic View Post
              I saw this post just yesterday. Should be able to work off the offset given?
              I'm actually looking to change rather than completely remove the HM limits. But I imagine they'd be found at 0x124620, then?
              __________________
              On a day just like any other,
              you suddenly stood up and said,
              “Let's go stargazing tonight!”
              Reply With Quote
                #546    
              Old August 13th, 2014 (7:30 AM).
              Mana's Avatar
              Mana Mana is offline
              • Platinum Tier
               
              Join Date: Jan 2009
              Location: UK
              Gender: Female
              Posts: 10,014
              Does anyone know how/why many OW's have default text-colours (red/blue) and how this could be changed?
              Reply With Quote
                #547    
              Old August 13th, 2014 (7:33 AM).
              Spherical Ice's Avatar
              Spherical Ice Spherical Ice is online now
              • Crystal Tier
               
              Join Date: Nov 2007
              Location: Bristol, UK
              Age: 19
              Posts: 5,219
              Quote:
              Originally Posted by Magic View Post
              Does anyone know how/why many OW's have default text-colours (red/blue) and how this could be changed?
              This link should help you out.
              __________________

              A Pokemon that is discriminated!
              Support squirtle and make it everyone's favourite.
              Reply With Quote
                #548    
              Old August 13th, 2014 (1:54 PM).
              Danny0317's Avatar
              Danny0317 Danny0317 is offline
              Fluorite's back, brah
              • Gold Tier
               
              Join Date: Jun 2013
              Location: Miami, FL
              Age: 17
              Gender: Male
              Nature: Hasty
              Posts: 1,075
              So I don't know if this has been done before, but in Emerald I was able to find out how to use surf while controlled by a different flag(in this case I made it the first gym flag)
              It was very simple, go to 0x9c81c and replace those two bytes with the reverse hex number.

              Here is a video as demonstration. https://www.dropbox.com/s/xmzdo1dc32cyz9c/vid.AVI

              However, as of now, it can't be used from the Pokemon menu, gonna try to fix that.

              And if anyone wants to do this for FR, I found this by first:
              Looked for the hex version of checkattack 0x39 in the rom.
              Found the script (surf script), and got the offset.
              Made it a pointer, looked for it in the rom, then I noticed that close to it, it had a flag, the fifth gym flag, so as a test I tried to change it to the first gym flag, and it worked ^__^
              __________________
              Reply With Quote
                #549    
              Old August 14th, 2014 (3:45 AM).
              Touched's Avatar
              Touched Touched is offline
              Resident ASMAGICIAN
                 
                Join Date: Jul 2014
                Gender: Male
                Posts: 623
                Quote:
                Originally Posted by Dark Sneasel View Post
                So I don't know if this has been done before, but in Emerald I was able to find out how to use surf while controlled by a different flag(in this case I made it the first gym flag)
                It was very simple, go to 0x9c81c and replace those two bytes with the reverse hex number.

                Here is a video as demonstration. https://www.dropbox.com/s/xmzdo1dc32cyz9c/vid.AVI

                However, as of now, it can't be used from the Pokemon menu, gonna try to fix that.

                And if anyone wants to do this for FR, I found this by first:
                Looked for the hex version of checkattack 0x39 in the rom.
                Found the script (surf script), and got the offset.
                Made it a pointer, looked for it in the rom, then I noticed that close to it, it had a flag, the fifth gym flag, so as a test I tried to change it to the first gym flag, and it worked ^__^
                Haven't tested this, but there is a dword at 0806D59C that is loaded by the surf routine that currently reads 24 08 00 00 (0x824 - fifth gym badge). That's a flag check right there. That might help you with the Pokemon menu issue.
                Reply With Quote
                  #550    
                Old August 14th, 2014 (6:25 AM).
                esperance's Avatar
                esperance esperance is offline
                • Platinum Tier
                 
                Join Date: Mar 2010
                Location: Ohio
                Age: 20
                Gender: Male
                Nature: Relaxed
                Posts: 3,825
                Quote:
                Originally Posted by Dark Sneasel View Post
                So I don't know if this has been done before, but in Emerald I was able to find out how to use surf while controlled by a different flag(in this case I made it the first gym flag)
                It was very simple, go to 0x9c81c and replace those two bytes with the reverse hex number.

                Here is a video as demonstration. https://www.dropbox.com/s/xmzdo1dc32cyz9c/vid.AVI

                However, as of now, it can't be used from the Pokemon menu, gonna try to fix that.

                And if anyone wants to do this for FR, I found this by first:
                Looked for the hex version of checkattack 0x39 in the rom.
                Found the script (surf script), and got the offset.
                Made it a pointer, looked for it in the rom, then I noticed that close to it, it had a flag, the fifth gym flag, so as a test I tried to change it to the first gym flag, and it worked ^__^
                I actually posted the stuff for FireRed about two years ago.
                Quote:
                Originally Posted by itari View Post
                For anyone that wants to change the badge required for surf, the offset of the flag is 0806D59C. Also, I'm pretty sure that 0806D5D0 is waterfall, but I haven't tested it. (FireRed)
                There seriously needs to be like an index for all of these posts...
                __________________
                I was once somebody.
                Reply With Quote
                Reply

                Quick Reply

                Join the conversation!

                Create an account to post a reply in this thread, participate in other discussions, and more!

                Create a PokéCommunity Account

                Sponsored Links
                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 GMT -8. The time now is 2:01 PM.