Jump to content

Reclaimer Shawn

Member
  • Posts

    77
  • Joined

  • Last visited

Posts posted by Reclaimer Shawn

  1. 1 hour ago, Kaphotics said:

    Only have to worry about species for gen1/3 and items for gen1-3; everything else is contiguous.

    Can compile using visual studio 2017 community, or can wait for the next release (a week or two; I usually go a month between releases)

    I've compiled the new version and I noticed there was the SpeciesID1 option. I set SpeciesID1 to 255 and it caused the Mew to just disappear from the PC box and PKHeX. This also happens if I couple Species1 with Species and set them both to 255. The custom moves work completely fine though. Another question... How do you batch edit party pokemon?

  2. 3 minutes ago, Kaphotics said:

    Only have to worry about species for gen1/3 and items for gen1-3; everything else is contiguous.

    Can compile using visual studio 2017 community, or can wait for the next release (a week or two; I usually go a month between releases)

    I’ll try recompiling it and try it out myself. Thanks once again though! This’ll help me to make a save with all Pokémon (from 0-255) for Pokémon Red (with exclusions of save and game breaking Pokémon, that is)

  3. 4 hours ago, Kaphotics said:

    Ah I forgot, the Species property is automatically remapped to national dex id, since it's not a normal species it just deletes it.

    You can always hex edit the file I guess, maybe I can add a rawspecies property that doesn't do the remap. edit: added! https://github.com/kwsch/PKHeX/commit/71970b3332e0a28efb171b64ac00d88ace122424

    Thanks for such the fast commit and response! A question before I end up trying this out again... Moves aren’t mapped in the same way are they? If I set the move ID to something else outside of the regular box, will it keep my move ID? Also, how would I go about recompiling this version of PKHeX so I can get it now? Thanks again by the way!

  4. 10 hours ago, Kaphotics said:

    No; you can already do this via the batch editor.

    I am not able to do this via the Batch Editor. I'm trying to edit in 'M (FF) with moves TM02, TM33, TM41, and TM50, and whenever I save all it does is erase the pokemon in that slot. This is the script I'm trying to use to do this:

    =Box=8
    =Slot=12
    .Species=255
    .Stat_Level=100
    .EXP=1059860
    .Stat_HPCurrent=65535
    .Stat_HPMax=65535
    .Stat_ATK=65535
    .Stat_DEF=65535
    .Stat_SPC=65535
    .Stat_SPE=65535
    .Move1=202
    .Move2=233
    .Move3=241
    .Move4=250
    .Met_Level=100
    .Move1_PP=255
    .Move2_PP=255
    .Move3_PP=255
    .Move4_PP=255
    .OT_Name=Shawn
    .OT_Friendship=255
    .TID=13931
    .Nickname='M
    .Met_Location=0

     

  5. Features:

    Spoiler

    -Randomizes Pokemon Species, their moves, their types, and their abilities
    -Randomizes Shadow Pokemon
    -Difficulty and Level Scaler
    -Works on Intel and AMD Processors (64-bit Operating Systems only - Most likely only on Windows 10)

    Bugs:

    Spoiler

    -Pokemon models occasionally do not sync up with their species properly (This has been remedied for 98% of cases. This rarely ever happens)
    -Pokemon icons above their health bars are blanked out and do not sync up
    -The moves Roar, Whirlwind, and Baton Pass are not allowed to be randomized to. This is because whenever enemy Pokemon were affected by these moves, they would end up copying their data onto the Pokemon it was switched out to. I excluded those three moves on purpose.
    -Munchlax and Bonsly are not available to be encountered via the randomizer.
    -For moves like Wish that reference a pokemon's name, the name will not sync up with the pokemon's current species. Name works fine in every other way though.

    Virus Scans:

    Download:

  6. I’m using Dolphin 5.0 and I have Dump Textures in the graphic area turned on. I’ve even attempted to turn on Dump EFB, but that only gets me frame by frame models of what I really want. What are the names of each texture asset pertaining to Shadow Lugia and Shiny Lugia (as I plan on porting this over to Colosseum under Shiny Lugia), and how would I dump them?

  7. The values I gave you are for the emulated RAM for the gamecube whereas cheat engine looks at the RAM for Dolphin itself so I'd assume the first 0x10000 are memory addresses for dolphin's processes. It's a good value to know to make it easy to translate between the two. Can't wait to see the results :)

    The program is now released to the public. And a video was done over it! You can find the video here:

     

    Also, you should know that the names of the people in the credits cycle for trainer names. A trainer's name can randomly become yours at one point in the game! Now if anyone tries to credit steal, they have a nice little surprise... That, and it pays homage to the people that made this possible :)

  8. So, after a very long development period, I'm happy to release my Pokemon XD Randomizer! I've released two version actually. One automatically tries to sync health while the other requires user input. Both have their advantages. With User Input, just press the 1 button whenever a pokemon in the top most slot pops out, and two for when one in the bottom does. The Automated version automatically syncs health values, but sometimes at the cost of losing randomization and sometimes doesn't even get the health right(so, choose the level of functionality you want here) The program takes the Operating System Time and based on that randomly generates Pokemon!

    Credits:

    First and foremost, I'd like to thank both God and his son Jesus Christ for giving me the knowledge and patience to make this trainer.

    Reclaimer Shawn = Programming, Form Designing, Address Finding

    Dark Byte = Bypassing Memory Protection

    Zanzer = RNG & Programming

    StarsMmd = For Disabling the Colosseum Shiny Pokemon Glitch & Address Finding

    Cooleko = HotKey Function

    Nintendo = For Creating the Pokemon Franchise

    Dolphin = For Creating the Emulator this game was played on

    The program allows you to choose if you want randomly generated shadow pokemon or not, as well as none at all. I will be adding scaleable difficulty in the future. Any kinks in the program have to do with the update rate of the game. It gets things literally within 1/1000th of a second at times... For the most part, it should act fine, but please report how things work in-game(preferably a new campaign) Also, make sure that you start the game with Level 100 Pokemon. You WILL NOT survive without that! Other than that, enjoy! Also, if the HP isn't full when the pokemon spawns, just press the corresponding sync buttons. Also, pokemon are only made randomly shadow depending on the drop down box if the randomize shadow pokemon is ticked.

    Links:

    https://www.virustotal.com/en/file/4ac195efa496f338c9ae92a803cd12b4581bd20f31d9988342 e7d01e5914a62b/analysis/1472878187/

    It appears as a virus because it was created in Cheat Engine. If the admins need confirmation, I will send the source code.

    Download:

    https://www.mediafire.com/?l3bwoqxthijddqa

    Video Link here:

  9. I think I've found something that can help. So at RAM offset 0x804eb910 the game stores the id of the trainer you are currently battling. This value is set just before the battle starts and is reset to 0 straight after the battle ends. However, the code I got the offset from calculates the offset rather than using a predetermined offset. From the few tests I've done it always calculates the same offset but it's not 100% confirmed so you'll need to double check that it's the same offset for you. It looks promising though.

    Let me know how it goes!

    Thank you! Something I've noticed... Pokemon :XD: Values in CE(from what I've seen) are always 0x10000 addresses off. I finished it as well. I'll call it a BETA for right now because it still has a kink or two. For instance, the graphic part of the pokemon is not always changed. Thank you for all the help though!

  10. Unfortunately I haven't found a function like that yet. Glad you found the address though and yeah gamecube is in big endian didn't realise cheat engine was searching in little endian but it's good information for future reference.

    As of right now, I'm searching for such a function. To ask, is there an address that holds the index of the currently battled trainer? If there is, I can just compare when the value has changed(I tried comparing strings, but it updated so fast the part of my code that allowed things to be randomized again wasn't able to execute before it needed to) If I have to(in a last resort) I'll just make a hotkey that syncs the current pokemon being battled to what their generated base value is. They'd have to press it EVERY time a pokemon is sent out, but that would correct the issue. However, I want things to be automated.

  11. Yeah sorry I meant it's a gecko code. I have no idea why the value would keep changing though. Are you sure it's the right address because 0x38600000 is a pretty common value.

    edit: oh maybe you need to put in a master code?

    I'll get on to that in a little while. Something to ask though, considering you have a symbol map for the game... Is there a way to check if a Pokemon battle is underway? I have a part of my code that allows pokemon to only be randomly generated an X number of times so a battle can end. But, I want to reset that number to 0 the very second a pokemon battle ends or begins. If you have an address or reference of some kind, I would like to use it.

    EDIT: I found the Glitch fix address and included it in the trainer. Gamecube stores values differently than a normal computer. A value stored as 0x38600000 is stored as 0x00006038 in a computer's memory. CE was reporting back what it would typically be in a computer, so I searched the value 0x00006038 instead and I found the address. In CE, the address is 0x8013416C

  12. Yo this looks really good G! I tried following the link to your gecko codes you link in all your videos but it says "Sorry, but only users granted special access can read topics in this forum."

    Hey, do I enter that code as a Gecko Code or an AR Code? I also looked in Cheat Engine and seen a value after the code was enabled constantly being changed back and forth between several other values and 0x38600000 There was one other spot, but it just stayed the same and changed when I worte to it on CE(with an infinite write code it should've been frozen.)

  13. My program was set to copy the base HP that was randomly generated by the program to the current HP 6 seconds after it fainted (so decent enough time was allowed to have it switch out) Even if I was supposed to knock out the trainer, he sends out another pokemon due to the fact the program generates a random pokemon after HP hits zero for one of the two pokemon. If you know where the address is that shows how many pokemon are in a person's party (the Pokeballs above their pokemon), tell me and I'll see if I can'tell use that) And finally, the addresses will probably be very similar, if not the same.

  14. I can't wait to try it out when it's done! I've never used cheat engine but I'll look into it and see what I can do. I normally use dolphin debug mode to view the ASM code and then locate that code in the game files and edit them in ROM. I can give you the memory address in Dolphin's RAM and what to change it to if that helps.

    Yeah ASM isn't too bad once you get the general idea. There is a really great tutorial on hacking super smash bros ASM which is really useful. The combination of this and general programming knowledge should be enough and you can ask me if you need any help too :).

    I'm finished with the randomizer! Although, I do need your help a bit. Pokemon HP values and the HP Stat are two different things (Max HP you can have at that level with current EV/IV and then there's the current value) The game just pulls the health value from what the original pokemon's current HP was going to be and simply places it there. If I just write to the address via the program, a battle will last forever. I need a function that immediately changes current HP to Base HP, but only when the pokemon comes out for the first time in battle. I also need the code to disable the shiny glitch. I can easily just have a person run that code in Dolphin along with my program in the background. I'll make sure to credit you 100% in that department.

  15. Oh and I have a symbol map from dolphin saved with all the functions I've found being named for convenience. Remind me to send that to you some time. How good is your ASM? I know a good tutorial for ASM hacking in dolphin and since it's all in RAM you could do some really cool stuff by playing around with the functions.

    Sorry I haven't been back on in so long. The program is almost complete (I'll be calling this a beta release because I might add some extra little tidbits in the future. What I meant about the two slots of memory was that in the game, there are spots where temporary data is stored (in the RAM) From what I can see, the game checks the battle said person is in, and fills these temporary data slots using the data pulled from the ROM. My program just intercepts those two slots after data has been filled, and fills its own data so the randomized pokemon appear instead. I have the program generating Level 100 Pokemon and having stats anywhere from Nother good EVS and IVS to perfect stats. The program will most likely be finished by tomorrow. However, I might need your help on two things. If you have the function(in Cheat Engine format) that causes the Shiny Glitch, could you please send it to me and tell me how to implement it so I can solve that problem. Also, I've never made ASM codes, but could probably learn if I were guided in the correct direction. From programming in Lua and Java, ASM has started to make more sense. Registers being spots where data is held (kind of like variables), and cmp and jmp kind of acting like program if..then statements. If you wouldn't mind teaching me a bit, I'd be more than happy to learn.

  16. For question 1:

    The one's that can be encountered after starting the game via continue: I'll take a look at that. I believe it's just called from game data and loaded into two slots of RAM, but I'll have to check that out. Fortunately enough, if theyou weren't, they'don't have little relevance.

    For question 2:

    Nope. Pokemon generated by this will be entirely random.

    I could possibly have an encountered Shadow Pokemon be recoverable after a battle with it by loading it into a table. So far though, I think I just want it all to be random. Even if they don't catch a shadow pokemon, one will eventually come up with the same shadow pokemon data anyways (although it may be a different pokemon) Didn't want things to be too predictable though ;)

    For question 3:

    Didn't know that glitchy was present in :XD:. I just set the game trainer's TID and SID to zero, along with the Pokemon generated in a battle. The PID of generated pokemon is set to 4294967293(should wield a Pokemon that is Shiny, has a Bashful nature, and has 31 IVS in everything except HP, which is 29) I could have the program check if the Shadow Pokemon value suddenly changed to and have it check if it is indeed the same pokemon. If the value suddenly changes, have it freeze the address until all stat changes are over, then unfreeze it. I haven't implemented that yet though.

  17. Hey guys, so after 10 days of development, I'm here to present a Program that functions like PokeSav for Pokemon :XD:: Gale of Darkness. It is able to edit the stats of all of your Party Pokemon. It can do many things: such as give your pokemon ridiculous amounts of health, set a Pokemon to be Shiny with almost all 31 IVs, make a Pokemon Shadow and revert it back again, and do much more! This program does all of the work so you won't have to! Enjoy it!

    To use this program, just make a folder on the C: Drive named cheats, and the program will output all of your codes in a text file there.

    Notes:

    If you type letters in the numerical input boxes, the program will not generate a code.

    The Pokemon Nicknamer code has 10 characters and the OT name has 7 characters. Go under the limit and the program pads with spaces. Go over, and it'll just print the first 10/7 letters.

    Enter a numerical value as the PID (0-4294967295)

    The PID Calculator is only accurate if you set the Trainer ID and Trainer SID First.

    Read all of the Boxes(from About to the ??? Box)

    A Pokemon must be in the slot your modifying.

    Use your codes, and then save and turn off the game. Things get glitchy if you proceed any further than this. Afterwards, you may progress normally.

    The shadow Pokemon codes only work if you don't have Shadow Lugia and/or Shadow Teddiursa purified. If it doesn't work for you from this, set the value above the E2000001 line to a value between (1-53) Those Pokemon also must not be purified if you use their value.

    More types of Shadow Pokemon will be added in the future. I was lazy :P

    Setting a Pokemon's stats to something above the value 32767 will make it appear negative in battle and make it appear to be 4 billion in the stats menu. It is actually the number you entered(this is due to it being signed) These stats still function normally in battle.

    Any Pokemon with Shadow Pokemon moves will not be trade-able to Pokemon R/S/E/FR/LG

    Proof it works:

    http://imgur.com/a/KD5GB

    http://imgur.com/a/j9s6a

    http://imgur.com/a/ESlGY

    The end is near! Oh... I meant to say " Karp, karp, karp."

    Credits:

    First and foremost, God and his Son Jesus Christ for giving me the knowledge and patience to make this.

    Reclaimer Shawn = Programming, LV Modifier, EXP Modifier, Nickname Modifier, OT Name Modifier, Trainer ID/SID Modifier, EV Modifiers, PID Modifiers, and Partial Credit for Shadow Modifiers

    Link Master = Battle Stat Modifiers, Move Modifiers, Species Modifiers

    O'Lungfish = Original Party Pokemon Slot 1 Shadow Modifier

    Bulbapedia and Smogon = For the research and information on PIDs and Pokemon Stat generation.

    BullyWiiHacks = For helping me out when I needed some help!

    Lots of Lots of Google/Stack Overflow = Teaching me how to code in Java

    Links:

    Smogon Research: http://www.smogon.com/ingame/rng/pid_iv_creation

    Bulbapedia Research: http://bulbapedia.bulbagarden.net/wiki/Personality_value

    Virus Scan for Program:

    https://www.virustotal.com/en/file/b4ebd816e9a82f83bc1b16916a15a9c0fa22e1cfb920adf781 cdfae672226ee2/analysis/1470190565/

    Download Program:

    https://www.mediafire.com/?lmsecr1vf3ae3ke

    Video:

     

×
×
  • Create New...