Announcement

Collapse
No announcement yet.

I need help for making no random battle code.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • I need help for making no random battle code.

    I have tried to make no random battle code on magic-engine game with cheat engine 6.1,but I found that I can't make out with basic search technic(In field first scan unknown initial value, then when encounter enemy next scan changed value,then repeating unchanged and changed value.)It results narrow down some address and I freezed these value,but It is totally useless..
    I approach this problem in another direction,I tracebacked these address(in cheat engine "what address write/access to this value") and finally found a few address which seems to control these address whenever I encounter any enemy in field.
    The address found by back-tracking is complicated assembly command so I removed this command(replace with code that does nothing in memory viewer)But I get result that game freezed whenever I encounter enemy.
    As I 'm novice in assembly language field, I need to read any guide for reference which explains how to make no random battle code in emulator games .
    Is there any guide which explain the way of making no random battle code(I'don't care if it is not emulated games.)
    I'm so sorry for my weird English which may cause you misunderstand and any reply would be helpful for my problem.
    Thanks in advance.
    Last edited by bshi02; 10-23-2011, 07:35:19 AM.

  • #2
    No Random Battles Code for PSX, N64, and GB

    By Lik

    Hi kids this is Lik here, long time no see! This Hacking Tip is by request, some lost soul wanted to know how to hack a No Random Battles code.

    Since Pokemon Gold is a good game to use as an example so that will be the game we will be using this week. This technique will carry over to the consoles (PSX, N64), so don't worry. So grab your GBC and GS and a copy of Pokemon Gold and let's get hacking.

    1. Get into the game and walk around in town on the dirt road or in a house and do a Start Search for an Unknown Value.

    2. Get back into the game and walk around some more and do an Equal To search.

    3. Repeat Step 2 about 2-3 times.

    4. Now walk into the grass to invoke a battle with a Pokemon. When one finds you, just as the screen is going into battle, do a Different To search.

    5. Get out of the battle and walk onto safe grounds and do a Different To search.

    6. Repeat Steps 2 thru 5 until you only have a few remaining possibilities left.

    7. Now it is time to check your results.

    Now if you ended your last search while you where in battle, the value for the battle screen for Pokemon Gold is 18. Look for that value in the results that you have left. If that was the case, find the code that had the value of 18 and change it to 00 and test it out.

    If you are walking around in the grass for a long period of time and no Pokemon is hitting (making a battle happen) you have your code. If you ended your last search when you were out of battle, the value would be 00. If you have more than one code with the value 00, test out all of them to see what one works. Your code should look like this: 91000BD2.

    Remember that you can use this technique on PSX and the N64. Well I hope you enjoyed this tip and I will see you next week.
    The Hackmaster

    Comment


    • #3
      The first thing I would need to know is how do you trigger the random battles? Do you walk around and a random battle just happens? Do you have something like grid-based movement where you go from 1 square to another?
      July 7, 2019

      https://www.4shared.com/s/fLf6qQ66Zee
      https://www.sendspace.com/file/jvsdbd

      Comment


      • #4
        It all depends on what game you are playing.

        In Quest 64, random battles happen every 5 seconds, then it turns into grid based movement. In Pokemon Gold, you have to walk into the grass to initiate a battle.
        The Hackmaster

        Comment


        • #5
          Thanks very much dlevere for Guide of "Pokemon Gold" No random battle code.
          But This method(technique) can't be applied to PCE game(Magic engine emulator).
          I have tried to find value 0(I've checked type from 1,2,4,8 bytes to double) when I'm out of battle, and Then tried to find value 18 when the battle happen,But It can't find out any significant address for NRB code.
          I even searched all of changed(battle happen) value comparing with first(out of battle) value,It results more than 100,000 address,and I spilt this enormous number of address into 20 parts( approximately 5000 address for each)and tried to freeze "out of battle" values each part of address,then tested(walk around field until any battle happens)all twenty part.But it always completely crashed emulator down or doesn't affect battle happening.
          I think I can't make out No Random battle code with basic hex manipulate.
          I'm really sorry to say that
          May I ask for More advanced Guide(like assembly code editting) for making No Random battle code?
          The PCE game which I tried to make No random battle code is "Cosmic Fantasy 2 (U)"
          Any reply would be helpful for my problem.
          And I'm deeply sorry for bothering you by keeping make request.

          Comment


          • #6
            It's no bother at all, I'll do a search, and see what I can find out. I'll post my findings in this thread.
            The Hackmaster

            Comment


            • #7
              http://static.patater.com/gbaguy/gbaasm.htm
              Kenobi's GameBoy Advanced ASM Tutorial

              http://www.coranac.com/tonc/text/asm.htm
              Whirlwind Tour of ARM Assembly

              http://www.codemasters-project.net/p...hp?content.202
              Cursor Hacking and Advanced Tracing

              An Introduction To ASM

              TSearch DMA Tutorial
              ASM Game Hacking Explained by Abystus
              The Hackmaster

              Comment


              • #8
                The easiest way in my opinion is to get to an area with random battles and actually get into a battles and as soon as its over do an initial search, take a few steps than do a "different than", after that search stay in place and do a few "equal to" searches to eliminate timers or other moving values.
                Take a few more steps and repeat, once you have gotten the possibilities down go into a battle and once its over and your back on the field do a "different than" search,get into another battle and once its over do another search for "equal to" since its most likely the save value as when we did the last search and repeat a few times till you have few results to test.
                Spoiler Alert! Click to view...

                THE BAD GUY!!!!!!

                Comment


                • #9
                  Thanks very much helder and dlevere!
                  I look over ASM tutorial which linked above It is very very complicated than I ever thought.It seems to require a great deal of times to somewhat familiar with ASM.
                  I tried to start initial search as soon as battle over instead of search just battle start, and repeat process abovementioned.
                  Yeah.This method effects not to remove significant address and narrow down results dramatically.
                  Finally I found address which value always 119 when out of battle and when it is frozen in cheat engine(press spacebar), seems to prevent from encounter enemy.
                  But The NRB address which I found out is changed every time I got out of cave or field and back in field.(first time I go into cave, address is 037661DD in CE6 but second it is changed to 037661C5 and it continuously changed to 037661AD,03766195,0376617D,03766165,0376614D,03766 135,0376611D.address changed at 18h interval.)

                  I tried to execute "pointer scan for this value" on these result address to find pointer which cause to change address.But I can't found no pointer.
                  And More weird thing is that The address converted to magic engine's cheat formation really has the exactly same value with CE,but I can't freeze these address value with Magic engine's build-in Cheat trainer.It doesn't effect,only cause abnormal state. (I've always pasted CE results of last 3 digits to Magic engine trainer which is always correctly work.In Magic engine cheat trainer,usually the address start from F82xxx. if it isn't form of F82xxx ,I would follow below guide)
                  http://forums.magicengine.com/en/viewtopic.php?t=2160

                  Is There any ways to get only one address from fluctuated address results ?
                  I'm really sorry for keeping make question.
                  and Thanks in advance.

                  Comment


                  • #10
                    Abystus' tutorial shows you how to convert DMA addresses to static, but it deals with Tsearch.
                    The Hackmaster

                    Comment


                    • #11
                      If you want to go the asm route then look for the "what address write/access to this value" and look for anything that either stores and or subtracts/adds depending on what the value does when you move in field and do a nop (No Operation), if it is indeed the correct address it will stop that counter altogether and should work whenever you leave and enter a cave.
                      Spoiler Alert! Click to view...

                      THE BAD GUY!!!!!!

                      Comment


                      • #12
                        I finally found out genuine hex address for No Random Battle code for Cosmic fantasy2(U)!
                        I got NRB for CF2 Jap version from below site,and I made experiment on this cheat code with Japanese CF2.
                        http://hpcgi3.nifty.com/game-sfccode...code_title.cgi
                        After some fiddle with that code,I found out This address is encounter timer.
                        The more character move in field,The more value that code(NRB cheat code) start to increase and When the battle start,it's value goes back to zero.
                        Even though, Usa version have complete different hex address,I search continuely increased value and search 0 in battle,until I narrow down results and Finally found NRB cheat code!
                        I freezed result NRB cheat code value to 0 and It works very well
                        I think this encounter timer would be effective in other PCE-CD RPG genre games.
                        Thanks very much all of guys who supports my thread and I hope It would shed any little light on anyone who tried to find NRB code for PCE games.
                        Last edited by bshi02; 10-31-2011, 07:48:26 PM.

                        Comment


                        • #13
                          So there was something that increased the more you moved around, and the higher it became the more likely you were to trigger an encounter, or was it a specific value that you always encountered enemies at?
                          July 7, 2019

                          https://www.4shared.com/s/fLf6qQ66Zee
                          https://www.sendspace.com/file/jvsdbd

                          Comment


                          • #14
                            usually there is a specific counter value to initiate a battle,you would have to look at the memory viewer while you were walking and see what the value was when a battle started.
                            Spoiler Alert! Click to view...

                            THE BAD GUY!!!!!!

                            Comment


                            • #15
                              The higher value I was more likely to get into battle.I experimented several times and It seems that there is no specific value which cause enemy encounter, rather random value(I frequently got into battle when the value is more than 0A,but rarely got into when value is even 06 or 07,08.For information, The NRB address for CF2(U) is F82465 on magic engine build-in cheat engine)

                              Comment

                              Working...
                              X