Jump to content

Kaphotics

Helpful Member
  • Posts

    7825
  • Joined

  • Last visited

  • Days Won

    449

Everything posted by Kaphotics

  1. I'm thinking that the group of 4 unused is for set move; currently the game just grabs the current level moves since none are special. I'd also think that one would set nationality similar to the HGSS Magicarp (Foppa). EVs might be in there too. Ability=3 would be rand(0,1) for ability, and 4 would be rand of all 3 abilities similar to how we've seen with wondercards. There might be a shiny prevention flag or a shiny always flag, too. No time for me to test all of this though It's pretty easy to edit with tinke by just swapping out each bin
  2. Yeah, it probably has some sort of flag in the script that says to accept any offer rather than the one required from the data.
  3. https://dl.dropbox.com/u/12206225/pporg/ingametrade.htm here's what I used to parse that data. https://dl.dropbox.com/u/12206225/pporg/ingametrade.xlsx >FF FF corresponds to random IV. Each piece of data is stored as 32 bits so it's pretty empty when it comes to meaningful information. I like to use HxD because it has other things like Checksum calculation etc.
  4. You have to "set" the pokemon you're editing back into the box.
  5. You were already answered. Plus, those are legit. He knows how to RNG and they're just a false positive because he purposefully RNG'd his ID/SID for that.
  6. Since Andi didn't give where that RAM was located in the memory (usually in dumps it starts at 0x00000000 rather than 0x02000000), I set out to find it in the RAM myself The string that Andi found is located in the RAM offset : 0x224C048 for the Tutor (edit: this location varies). scrcmd_shop.c is what is right before it, indicating that script command shop is what's being grabbed. As for the structure, it looks like u32 & u32 for Move and Shard Quantity. The script the shopkeeper uses WAS located at 224BC84 (again, it varies), which isn't the typical location for the main scripts. I'm now looking for what script file he's located in. For now, here's a barebones parse of what his script is: Script 1: 00000014 ~~~~~Script 1~~~~~~ SetVarEqVal (0x0028) Var_32 Num_0 SetVarEqVal (0x0028) Var_33 Num_0 SetVarEqVal (0x0028) Var_34 Num_0 SetVar29 (0x0029) Var_33 Var_0 SetVar29 (0x0029) Var_34 Var_1 Logic09 (0x0009) Var_34 Logic08 (0x0008) Num_0 Logic11 (0x0011) Num_5 IfThenGoTo (0x001F) 0xFF jump=0x0000000C Message1 (0x003C) MID=Num_4 NPC=32785 CompareAtoB (0x0019) A=Var_33 B=Num_246 IfThenGoTo (0x001F) 0x01 jump=0x0000002D CompareAtoB (0x0019) A=Var_33 B=Num_245 IfThenGoTo (0x001F) 0x01 jump=0x00000020 CompareAtoB (0x0019) A=Var_33 B=Num_244 IfThenGoTo (0x001F) 0x01 jump=0x00000013 CompareAtoB (0x0019) A=Var_33 B=Num_243 IfThenGoTo (0x001F) 0x01 jump=0x00000006 GoTo (0x001E) jump=0x0000000C CallRoutine (0x0004) 0x000001DE GoTo (0x001E) jump=0x00000032 CompareAtoB (0x0019) A=Var_33 B=Num_254 IfThenGoTo (0x001F) 0x01 jump=0x00000013 CompareAtoB (0x0019) A=Var_33 B=Num_253 IfThenGoTo (0x001F) 0x01 jump=0x00000006 GoTo (0x001E) jump=0x0000000C CallRoutine (0x0004) 0x00000153 GoTo (0x001E) jump=0x00000006 CallRoutine (0x0004) 0x00000002 EndStdReturn[**] (0x001D) 0x8023 0x0 SetVarEqVal (0x0028) Var_36 Num_0 SetVarEqVal (0x0028) Var_37 Num_0 Logic09 (0x0009) Var_34 Logic08 (0x0008) Num_2 Logic11 (0x0011) Num_1 IfThenGoTo (0x001F) 0xFF jump=0x00000012 Message1 (0x003C) MID=Num_1 NPC=32785 GoTo (0x001E) jump=0x0000000C Message1 (0x003C) MID=Num_0 NPC=32785 SetVarEqVal (0x0028) Var_36 Num_1 SetVarEqVal (0x0028) Var_37 Num_1 Logic09 (0x0009) Var_37 Logic08 (0x0008) Num_1 Logic11 (0x0011) Num_1 IfThenGoTo (0x001F) 0xFF jump=0x000000BF CompareAtoB (0x0019) A=Var_36 B=Num_0 IfThenGoTo (0x001F) 0x01 jump=0x00000006 GoTo (0x001E) jump=0x00000018 Message1 (0x003C) MID=Num_2 NPC=32785 SetVarEqVal (0x0028) Var_36 Num_1 GoTo (0x001E) jump=0x0000008E CompareAtoB (0x0019) A=Var_36 B=Num_1 IfThenGoTo (0x001F) 0x01 jump=0x00000006 GoTo (0x001E) jump=0x00000012 CallRoutine (0x0004) 0x00000112 SetVar29 (0x0029) Var_36 Var_32 GoTo (0x001E) jump=0x00000069 CompareAtoB (0x0019) A=Var_36 B=Num_2 IfThenGoTo (0x001F) 0x01 jump=0x00000006 GoTo (0x001E) jump=0x00000012 CallRoutine (0x0004) 0x00000143 SetVar29 (0x0029) Var_36 Var_32 GoTo (0x001E) jump=0x00000044 CompareAtoB (0x0019) A=Var_36 B=Num_3 IfThenGoTo (0x001F) 0x01 jump=0x00000006 GoTo (0x001E) jump=0x00000012 CallRoutine (0x0004) 0x0000015F SetVar29 (0x0029) Var_36 Var_32 GoTo (0x001E) jump=0x0000001F CompareAtoB (0x0019) A=Var_36 B=Num_255 IfThenGoTo (0x001F) 0x01 jump=0x00000006 GoTo (0x001E) jump=0x0000000C SetVarEqVal (0x0028) Var_37 Num_0 GoTo (0x001E) jump=0x00000000 GoTo (0x001E) jump=0xFFFFFF2E Message1 (0x003C) MID=Num_3 NPC=32785 WaitKeyPress (0x0032) CloseMessage (0x003E) SetVarEqVal (0x0028) Var_37 Num_0 SetVarEqVal (0x0028) Var_36 Num_0 SetVarEqVal (0x0028) Var_35 Num_0 End???[*TR] (0x0005) SetVarEqVal (0x0028) Var_38 Num_0 SetVarEqVal (0x0028) Var_39 Num_0 SetVarEqVal (0x0028) Var_40 Num_0 Message1 (0x003C) MID=Num_8 NPC=32785 PopYesNoVar (0x0047) Var_38 Logic09 (0x0009) Var_38 Logic08 (0x0008) Num_0 Logic11 (0x0011) Num_1 IfThenGoTo (0x001F) 0xFF jump=0x00000006 CallRoutine (0x0004) 0x0000008E Message1 (0x003C) MID=Num_9 NPC=32785 WaitKeyPress (0x0032) CloseMessage (0x003E) SetVarEqVal (0x0028) Var_40 Num_0 SetVarEqVal (0x0028) Var_39 Num_0 SetVarEqVal (0x0028) Var_38 Num_0 End???[*TR] (0x0005) SetVarEqVal (0x0028) Var_41 Num_0 CallRoutine (0x0004) 0x0000005E SetVarEqVal (0x0028) Var_41 Num_0 End???[*TR] (0x0005) SetVarEqVal (0x0028) Var_42 Num_0 ?????Multi2 (0x00B2) A=0x11F B=0x1 C=0x0 D=0x100 16=0x2A01 E=44928 ScriptText??? (0x00AF) A=Num_5 B=Var_16383 C=Num_2 ScriptText??? (0x00AF) A=Num_6 B=Var_16383 C=Num_3 ScriptText??? (0x00AF) A=Num_7 B=Var_16383 C=Num_255 ???? (0x0077) Logic09 (0x0009) Var_42 Logic08 (0x0008) Var_16382 Logic11 (0x0011) Num_1 IfThenGoTo (0x001F) 0xFF jump=0x0000000C SetVarEqVal (0x0028) Var_32 Num_255 GoTo (0x001E) jump=0x00000006 SetVar29 (0x0029) Var_32 Var_42 SetVarEqVal (0x0028) Var_42 Num_0 End???[*TR] (0x0005) SetVarEqVal (0x0028) Var_43 Num_0 SetVarEqVal (0x0028) Var_43 Num_1 CloseMessage (0x003E) 0x149 0x8021 0x802B Logic09 (0x0009) Var_43 Logic08 (0x0008) Num_0 Logic11 (0x0011) Num_1 IfThenGoTo (0x001F) 0xFF jump=0x0000000C SetVarEqVal (0x0028) Var_32 Num_255 GoTo (0x001E) jump=0x00000006 SetVarEqVal (0x0028) Var_32 Num_0 SetVarEqVal (0x0028) Var_43 Num_0 End???[*TR] (0x0005) SetVarEqVal (0x0028) Var_44 Num_0 SetVarEqVal (0x0028) Var_45 Num_0 0x1A4 0x1A7 CloseMessage (0x003E) 0x14B 0x14E 0x0 0x802C 0x802D 0x14A 0x1A3 0x1A7 Logic09 (0x0009) Var_44 Logic08 (0x0008) Num_0 Logic11 (0x0011) Num_1 IfThenGoTo (0x001F) 0xFF jump=0x0000000C SetVarEqVal (0x0028) Var_32 Num_255 GoTo (0x001E) jump=0x00000006 SetVarEqVal (0x0028) Var_32 Num_0 SetVarEqVal (0x0028) Var_45 Num_0 SetVarEqVal (0x0028) Var_44 Num_0 End???[*TR] (0x0005) SetVarEqVal (0x0028) Var_34 Num_0 SetVarEqVal (0x0028) Var_33 Num_0 0x0 0x5200 0x46 0x1800 ?????Multi2 (0x00B2) A=0x2800 B=0xA928 C=0x24A9 D=0x224 16=0x2 E=0 -- beyond here it errors out due to not all commands being known 0x0 CallRoutine (0x0004) 0x6373194D 0x6372 0x646D 0x735F 0x6F68 0x2E70 0x63 0xBE34 0xDA00 0x125 0xDFC5 0xBA84 0x7 0xF5 0x1 0x0 0xD 0x0 0x15 0x0 0x1E58 ??? (0x0227) A=Cont_10020 B=Num_546 0xDA24 0x221 0x3024 0x222 0x7124 0x222 0xAE24 0x222 0x183 0x0 End (0x0002) ~~~~~~Finish~~~~~~ 0x0 script returned but is still running registered functions script begins in scriptnarc @ 7CC78, corresponds to script file 6_1247. Depending on what tutor you talk to, the list that Andi gave will be different. No idea where the table is from though! Was able to change the move he gives out. Most likely the text of the menu is set within the script, but when selecting a move it loads the proper text.
  7. Nurse is a possible female player Trainer Class, in the "Restoring" section of the OP my example has a picture with a nurse player. Meh The one I suggested. This is because fabricating a trainer from the ground up is too much work (for me at least). The memory write AR code type would be the way of doing it.
  8. It's because >Region Unova (Black 2) >Hatched/Met Poké Transfer Lab Unknown encounter in the LA, did you perchance hatch it inside the lab for no good reason? There's no way to get an origin hex of B2W2 on a transferred mon. I checked the OT/ID/SID of your Dugtrio, and it matched a HG trainer of the same gender ~ it wasn't associated to any account [so it's private as well]. https://www.pokecheck.org/?p=search&tid=50462%2F210&notpub=1 This doesn't seem like it's Pokécheck's fault.
  9. B2/W2 Script Parser Reads the memory of the game and translates the script language to meaningful instructions similar to XSE and other scripting programs. I primarily made the script to help me see how commands are used and help further our understanding of each command. No, it does not make the scripts, only interprets the hex. Some examples of what it creates in the Console window: http://pastebin.com/raw.php?i=72nRf1aa http://pastebin.com/raw.php?i=fRBaRPkv http://pastebin.com/raw.php?i=gMRLPeuR http://pastebin.com/raw.php?i=TpgbtWnF To use it, the script file must be already loaded in game. Talk to an NPC that uses a script from the script file so that the game will have it loaded in the memory. Some locations don't work, I've only tested it indoors. I'll be updating it when I get time, school comes first Unknown/Un-programmed commands can throw off the parse so in general don't trust anything when it starts reporting hex.
  10. Why don't you just fill up every shop with a keeper, and then change their roles with an AR code? Much simpler that way. Use the method I posted to get a new pointer value for the code, then set the shop setting with the other part of the line. It's just simple math which can be done with a calculator or websites like Wolfram Alpha. 0x920 + 0x246AC + 0xB4 = XXXXX (helper 1), and choose the shop type.
  11. This Pokémon is missing DPPt hatch trash bytes. Not verified. It's still battle legal, but it wouldn't match a Torterra of legitimate origins. If you want to check your creations, you can use Pokecheck.org to check legality with.
  12. You have to select the right pallet (RLCN), then choose the right tileset (RGCN), then choose the right tile arrangement (RCSN). The arrangement is lower in the list and forms the actual image. If you're replacing the hero with Skyla and Skyla with the hero, you have to also change the Hero sprite. I briefly explained how in this post.
  13. Kaphotics

    Convert .3gpkm to .pkm

    edit: oh. derp I'm pretty sure IR-GTS can deliver 3gpkms to 4th gen over wifi. Then use PokeGen or Pokecheck to shift them.
  14. yes It's a critical hit! SHEDINJA lost 306 HP (30600%). SHEDINJA hung on with its focus sash! It probably requires watching and comparing though; usually it's not something visible (ie, a missing/misplaced RNG call)
  15. Made a teambuilder in excel. Spits out a 6*0x34 long string which you can directly overwrite an existing entire team with. The text edits/brackets/etc are simple enough to do quickly in hex (for now) https://dl.dropbox.com/u/12206225/pwt-teambuilder.xlsx Edit: fixed shiny flag not being set. Abilities can't be illegal, the game has to have one that is legal for it...
  16. Nah, they just include data they don't need to. Certain parts of the save file aren't used for anything and are essentially wasted between each block, especially in the download region (not the main/backup).
  17. For PWT downloads, we've already got a thread and a tool that inserts (and can edit a few aspects) courtesy of Prof. 9. The files you posted are a little superfluous with the data at the end (just FF's), and PWTE accounts for this. Plus we can make custom tournaments too! All of the distributed tournaments (in all languages) have been posted too
  18. Bond697 and I have been figuring out how the game does Event Flags, hopefully we can provide Drayano with safe event flags to pick from (yeah anything smaller than 3000 isn't safe)
  19. I've parsed their teams, they do reside in the narcs. In the General ROM info thread I give their location. /a/2/5/3 ********* pwtpoke2 - 1000 files, first bunch are for PWT (second set) /a/2/5/4 ********* pwttr1, 68 files - world tournament trainer pkm choices 1v1 /a/2/5/5 ********* pwttr6, 68 files - world tournament trainer pkm choices 6v6 /a/2/5/6 ********* pwtpoke - world tournament pkm sets (first set) /a/2/5/7 ********* 1000 files, pokemon sets pretty much filled ~still diff (subway?) /a/2/5/8 ********* pwt vgc top4 event, relic of dev testing which is unaccessible but I converted it here. Problem is, I'm pretty sure that modding the underlying tournament structure would require edits to the overlays. No idea which one; that's the issue. If you want, you can just replace their sprites/text and just swap up which teams they choose such that you get the lineup you desire for your hack. Might as well just make a PWT Download using alder and such, then change the sprites and text of the special trainers.
  20. find the text file that sets all the names. for comparison, here's the one for BW2
  21. http://projectpokemon.org/forums/showthread.php?24589-B2W2-General-ROM-Info
  22. Availability: Change Encounters and Hidden Hollow tables to allow so. A few programs on our forum can do this. Version Abilities: Change the personal stats with an editor like Pokemon ROM Changer. Evolution: Edit evolution methods (again, Pokemon ROM Changer works) To start off with the National Dex, add this to an NPC's script at the start of the game. 01C6 EnableNationalDex Drayano did this with his "Unlocker" guy who gives you the keys. Edit the Trainers / Challenge Trainers. Move tutors: Technically possible since the Pokemon stats doesn't use all the tutor bits, however nobody knows how to edit the moves they tutor in the first place.
  23. Just zero them and run it through trashbytes.exe again. Uploading it as a gen V pokemon causes Pokecheck to not change the text; normally when Pokeshifting the game changes the text to unicode. Shiny leaves aren't in BW, they get removed when Poketransferring and instead that hex is used for another purpose. It's still hacked anyways, that's not a valid egg PID/IV.
  24. Edits either ROM, be sure to choose the correct version when doing so.
  25. You probably didn't remember the exact IV spread, I checked to see if that IV combination was possible for Modest and it wasn't... The Gamecubes just used a different LCRNG for generating PIDIVs; they are as diverse as Method 1 spreads (ABCD), just another set.
×
×
  • Create New...