Jump to content

Monty3540

Member
  • Posts

    68
  • Joined

  • Last visited

Everything posted by Monty3540

  1. I found the line in Kaphotic's script where he calls a Trainer The readable command in NPRE is SingleTrainerBattle (XXX) 0 0 With the three XXXs being the Trainer ID. The Hex I have for setting up a Trainer battle with ID number 616 for the Trainer I added to fill in the blank slot is below: SingleTrainerBattle (616) 0 0 85 00 68 02 00 00 00 00 Byte 03-04 is the Trainer ID number It is then followed by a flag, normal battle logic. And I then added in some before and after message text into the correct file in a003.narc to make the dialogue. FYI I can send you what I did for the Battle Script, including a Flag to stop them endlessly rebattling you (which Kaphotics helped me work out) if you wish. I think Script 1 that I parsed is what calls the initial before battle scripting. So facing the trainer, reaction etc. I just now need to somehow add into this script a few commands. 1) NPC being alerted with '!' when you are in the sight range 2) trigger relevant Trainer Class music 3) walk towards you and then start the script I have already created. That would pretty much complete what I am looking at - and make the trainer looks less like they had just been placed in - as currently you have to directly talk to them to trigger the battle. I am currently looking down this route, since I still have no idea how the NPC battle script points to the relevant dialogue in a002.narc 381 before and after battle. After going through scrparse.lua a few times, I have come to the conclusion that one of the Call Routines call upon the other script (such as the trainer ID, messages etc.) however I cannot work out which one is right... I need to be a bit more clued up to work it out. Trainer 616 Challenger Cave Battle Script NPRE.txt
  2. Yes I found all the in-battle text was in there for the Trainers i was editting 616-620 However since these Trainer ID seemed to be previously removed data, there is no text for before and after the battle. When I tried to add some strings above and below it doesn't seem to upload - and if it did I would imagine it shifts down all the strings below it and make a mess. I assumed they would be in an order to match each trainer, but it doesn't seem to be the case if you follow the links here: File 382 (Trainer ID) https://projectpokemon.org/rawdb/black2/msg/382.php File 381 (Trainer ID) https://projectpokemon.org/rawdb/black2/msg/381.php Eg. Trainer Shaun ID is 42, yet his text strings start at #2007 - 2009. So I assume there is another call routine within the NPC battle script itself that is specific for each battling NPC I did try adding in a new Trainer as 814, adding in three strings into 381 and the end of 382 as there is a duplicate of them. Yet all that did was not show a text box at all and the game would be in limbo... If you add in the Trainer 814 battle in the way Kaphotics did in his battle script, it all works fine. So there must be some sort of pointer between the Trainer ID and the dialogue. I tried parsing the script for the NPC after locking eye contact with them...I did get ALOT of data , three scripts - which I am admittedly struggling to work out (File attached) Was hoping it would be a little more straight forward haha What I may yet do as a last resort is just see if any of the current Trainers are Version Exclusive, and then swap those with the NPCs I have added , change their text accordingly and hopefully that works. However the only one off the top of my head is N - with the differing legendary depending on the version. But still, Ideally if I can work out how the NPC battle script works, I can use some of the commands and stick into the individual trainer scripts like in the Kaphotics method, or even just find out how it points to the messages etc. Challenger Cave B1F NPC Battle (scrparse)
  3. Yeah I was going to try that tonight i did a quick test using an NPC with Colress’ 813 battle to see if that showed the pre and post battle text - however it didn’t , maybe because it is a Yes or No triggered battle I will try it on a random trainer number that I haven’t battled and see if it works. I haven’t tried it on a new trainer outside of the standard 813 yet . So I will try one at 814 , adding the three strings of dialog to 381 and the bottom of 382 to see if that works i do have a feeling it won’t be as simple as that though.... there must be a Call Routine per trainer that dictates what number of dialogue it picks up However I can’t be sure until I find the main script for NPC battles that trigger when you are in their sight range (triggering ‘ ! ‘ and then the trainer class music etc ) Will have another go soon.
  4. No worries will try that soon @Kaphotics Im trying to remember the best way of seeing the script the NPC uses... Isn’t that by using your scrparse.lua script ? (I think that’s the correct one ) Using it as soon I engage with the NPC. I have a feeling there will be a ton of scripts involved that I will probably be out of my depth with - but I will give it a try !
  5. Thanks for the heads up on stopping the re-battling @Kaphotics! I had a literal brain fart ignoring the absolute obvious that I had literally been doing for the static Pokemon previously in my hack... Managed to sort the re-battling issue quite quickly with a StoreFlag command. Similar to how the 'Yes or No' box works in your Battle Script example, where I set the flag for the NPC after the battle is won. I have had a look into the 381 file for the dialogue, quite a few are *3 the Trainer ID, but quite a few I noticed weren't. For example Veteran Shaun's ID is 42, yet his dialogue is appearing in 2007-2009. So I am a bit stumped on that still - might need to do some more research and some trial and error tomorrow. If I get no where with that however... Is there a way to fully replicate the NPC trainer battle sequence, to go alongside the battle script I have? So the NPC would spot you, ' ! ' exclaim pop up, they walk towards you, whilst correct trainer class music plays - then into the battle script etc. As that may probably be quicker in the long run now that I think about it more....
  6. Hi Everyone Hope someone can help... In my current hack, I have inserted 5 trainers into the current gap between 616-620 (which is currently blank in BWTE) to go with the five NPCs that exist in Challengers Cave - which I have successfully fully reinserted into B2W2. (Massive credit to @theSLAYER for all his help on that ! ) I managed to get all battle scripts working from the Overworld Script, so the NPCs trigger the' ! 'and approach you when in sight range to start the battle. (turns out byte 0x06 is this exact function) However, the issue I found is these new NPCs that I have inserted into the previous blanks files of 616-620 within BWTE, currently have no dialogue before and after the battle... I found that text file witin a002.narc to make the changes for the message after 'winning' the battle. So that is one piece of dialogue I have found I can change. But I cannot work out how the dialogue in files 381 of a002.narc link up with the NPC battling script for trainers in the game.... If I know where that points, I can add in the messages to the bottom of that particular file, re-point it and hopefully get these messages in-game. Some files in 381 show multiple text entries from different NPCs. For example, Veteran Shaun has three bits of dialogue showing in this link here: https://projectpokemon.org/rawdb/black2/msg/381.php#entry2007 His entries are numbers 2007-2009 for Starting the battle, Winning the battle and After the battle. But I cannot for the life of me work out how the script finds these values.... Has anyone by anychance got any knowledge of the complete NPC battle script that triggers when an NPC gets within sight-range of you? I have currently done a work around using @KaphoticsBattle Scripting Tutorial in the meantime. However with this I cannot work out how to stop endlessly rebattling the trainer when you speak to them (as I have removed the Yes or No battle box that was used in the tutorial) If someone can shed some light on how I do this - I will atleast have a fully working backup if the above isn't possible. Any help from anyone would be hugely appreciated! :)
  7. No need to credit Happy to help I did literally do the exact same thing you are doing now yesterday, so it made sense to share with you what I learnt to try and save you some pain ! If you do find out how to edit the dialogue the NPCs speak before and after a battle within the a002.narc and how they link up however, please do let me know! I racked my brain for a few hours on that last night, before giving up and doing the Kaphotics tutorial method instead - just so I could get to a mental checkpoint before this week
  8. Yeah I found that too first as for some reason the text comes up as symbols If you paste it into Notepad ++ though, you get the numbers to the left to denote each trainers ID number So you can work out which name is who from that (remember Notepad ++ starts from 1 however and PPTXT starts from 0 , so factor in the 1 difference when you find the correct trainer ) I did find that opening the Rom in SDSME and then clicking on the Text Editor . Then selecting the Game option and scrolling to 382 , opens up the a002.narc and the correct file , where the names were showing correctly in English . In my instance I scrolled to 616-620 and changed their names to the ones I wanted too , which matched the trainer battles I added to the restored Challenger Cave. So you can use SDSME to act as a further reference. Or you can copy and paste that into PPTXT as well if you so wish (Make sure it is an exact copy over what you need , becareful of any offsets) - just also make sure you keep the funny symbol that declares PKMN for the Pokemon Trainers showing , as the full name title won’t fit in the dialogue boxes
  9. Open file 382 in PPTXT Link to the program is here So you open the a002.narc in PPTXT and then navigate to file 382 You should be able to then edit the text inside there. I usually copy and paste the whole content into Notepad ++, make a copy, so the changes and copy and paste back in. Dont forget to click Save Text in the top right once you have done your changes in PPTXT and then click File > Write to NARC to complete the process , before you reinsert it back into the ROM with NitroExplorer / Tinke The ID of the trainer is just the number you assigned them in BWTE. For example the battle with Colress in the post game is 813. So if you viewed the script data in the Plasma Frigate overworld script file (use the Lua script Kaphotics made is the best method here) you would see the number 813 in Colress’ NPC data, within bytes OA - OB. If you need a worked example of how to use PPTXT and how to edit the text etc. I recommend you watch the latter half of this YouTube video by @Kaphotics - as it shows him adding in a custom text file for NPC dialogue, as well as editing it and reinserting it into the ROM. Hope this helps
  10. There should be a long list of every trainer name inside a002.narc, file 382, which lines up with the order in BWTE 2-1000 Aslong as those names are in the same order it should pick it up in battle in theory. It might be worth asking @Drayano as he added in the Hoenn gym leaders plus a few other trainers in his brilliant Blaze Black 2 and Volt White 2 Rom hacks. So he may be able to help with that , or you can maybe reverse engineer what he did in his file to get an idea. There is a lot of battle messages underneath this list of trainers in file 382- which may have the numbers altered in the NPC trainer scripts, depending how many trainers you add. I have not tested this yet. In my current hack, I have inserted 5 trainers into the current gap between 616-620 (which is currently blank in BWTE) to go with the NPCs in Challengers Cave - which I have successfully fully reinserted into B2W2. They still don’t have trainer names in the BWTE list , I don’t know how to edit the names that appear in the BWTE list, but I wasn’t worrying about that as I knew which trainer was what. I managed to get all battle scripts working , so the NPCs trigger the ! and approach you when in sight range to start the battle. To do this for the NPCs, I went into the Overworld script , changed the script called (0A-0B) to point to the battle script for that trainer you edited in BWTE. For some reason, the script for an NPC that will approach you, is the BWTE number of the trainer , +3000 if you want to NPC to trigger the battle and approach you when you are within sight view. (Convert from DEC to Hex of course) However, the issue I found is these new NPCs Iv inserted into previous blanks within the original 813 battles, currently have no dialogue before and after the battle... Only in battle when you win - as I found that text file to make the changes, inside a002.narc. But I cannot find the text for before and after the battle and I cannot work out how the dialogue in files 381 - 382 link up with the NPC battling script for trainers in the game....so they currently just have blank message boxes until I work out where this text file is and how to add it etc. (Any help from anyone would be hugely appreciated!) Currently to get around this, I am just doing the workaround @Kaphotics posted on his YouTube tutorial for Battle Scripting below: I used this to add in the battle script with the Yes or No option removed .So now you talk to the NPC, set the dialogue you want them to say before and after the battle in a003.narc and paste the battle script and appropriately reference the number of the trainer in BWTE you inserted into the scripts data (a056.narc) In your overworld file (a126.narc), add the NPC as normal , but make the script they call be the one created in a056.narc that you create as per the video - not the BWTE one. So for example in a previously empty room it would call script 1, instead of script 3000+ that I mentioned at the start of the post. I would like to add the ! mark and make the new NPC walk towards you in what I’m doing now , just to replicate the normal NPC battle scenarios...however I haven’t worked out the commands I need to add to do this yet. If I could do that, it would be desirable as it would make it look and feel more like it is a normal NPC , ‘see you and battles you’ scenario - rather than a clear add on where you talk to request a battle. (If that makes sense) I hope this helps you! Just sharing my experience that I have been doing over the weekend which is on the same lines as what you are trying to do. Hopefully someone may have an idea on the issues I mentioned too, which could also help you in the long run too
  11. Sorry I completely confused myself trying to find the right one I just now need to work out how to convert NSBMD files to be able to open existing BW / B2W2 maps and edit them in this tool. Thank you for the quick reply!
  12. Hi Guys I've been racking my brain for a couple of weeks now trying to find out the command that sets the weather within a Route's Script file in B2W2 (and BW) I am basically trying to make Tornadus / Thundurus appear at a certain time in B2W2 at Route 7, just outside the House that you get their Therian Pokedex entries in B2W2 (Ihave the Flags set on the conversation to trigger the two Genies overworld appearences upon leaving the house) However I am trying to set it so their respective weather appears at the same time as the Genies spawn.... I have been looking through BW's script which is conviently the same number for Script and Overworld, however I cannot for the life of me work out what the weather setting is from it.... I've attached the file for the BW Script on Route 7 just incase anyone is able to help me. Many Thanks M BW 1 Script 674.txt
  13. Hi Guys Has anyone had any luck with being able to add in the following: 1. Weather conditions on a certain route after a Flag has been set My scenario is to make Thundurus and Tornadus appear at certain times infront of the house on Route 7, after speaking to the elders inside. Speaking to the elder woman will SetFlag for the two Genies to appear on that route following their Pokedex entries being revealed I can make both Genies appear where I want them too no problem in this scenario, however I would like to set the respective weather on that Route to occur when they are spwaning, like in the original BW (Where the weather changes on the route they are roaming) 2. Making an NPC appear at a certain time Linking back to the above, I would like to set it so Tornadus would appear only in the morning and Thundurus only in the evening Is there a way to set this in the script file for 674? I am just a bit unsure on the commands required despite doing a bit of researching and some trail & error Hope someone can help:)
  14. Hi both Im tackling the exact same scenario in my personal hack in changing some ground items. I have been trying to work out where the Script links too from the overworld item. My example I am using the Dragon Orbs in the Dragonspiral Tower (Overworld: 260 and Script: 420) Iv identifed the Griseous Orb in HxD having: Flag (0x08 -> 0x09) of C8 05 (05C8) Script Called (0x0A -> 0x0B) of D4 1C (1CD4) However I am a bit stumped in working out the exact script within Script File 1241 that it pointing too.... When I convert the numbers into decimal, I am looking for the Item IDs listed on the Bulbapedia list here https://bulbapedia.bulbagarden.net/wiki/List_of_items_by_index_number_(Generation_V) This is mainly as I am trying to add in the Red Orb and Blue Orb for Kyogre and Groudon respectively in the Abyssal Ruins These Pokemon will then appear in a certain location when the item has been collected by the player - in a similar way to how Heatran is spawned from the Magma Stone (I will need to look into the script for Heatran to replicate this and change the values once iv got the item worked out) Any help on this would be very much appreciated, I am just a bit confused where I am meant to be looking:) EDIT------ I found the Orbs Specifically in the Sc:1240 Script - I think that file is seperate for Key Items judging by the list in there and they use a different command : SetVarEqVal 0x800C XXX compared to SetVar2A 0x8000 XXX for something like the Carbos on the outside of DragonSpiral Tower. I have managed to pick out the Griseous Orb from Sc: 1240 - which was SubScript 380 using NPRE and identifying the number from Bulbapedia's list. However I still cannot work out from the Hex numbers in the Overworld 260 file how it points to that particular script file, as the numbers dont seem to match up.... When I convert the Griseous Orb Hex to Decimal: I get 7380 from 0x1CD4 So the end three numbers seems to by chance match the SubScript, but it has the 7 at the start obviously, so I am a bit wary this isn't correct... (This is the same scenario with the Lustrous Orb - so I don't know if I am onto something or not)
  15. Hi Everyone I have recently got into ROM Hacking and had a lot of fun playing with Wild Pokemon Levels, Trainer Pokemon Levels and tweaking difficulties etc. in Platinum. However the two main things I want to try and learn how to do are: 1). Change the levels of Legendary Pokemon - I cannot for the life of me find out how to change these, I have only managed to do Wild Pokemon so far. Basically I want to change a few levels in Platinum and slightly change their movepools: (eg. Regigigas to Lvl 70, The Regis to Lvl 40 atleast, Arceus to Lvl 100, Giratina to Lvl 50, Heatran to Lvl 70) This is to go with the increased level challenges I am giving myself (along with changing the Pkmn Evolutions to not require trading which I have already done successfully) 2). I have just finished playing through Black & White, and I was wondering if it is possible to make the version alternate Dragon (Zekrom in Black, Reshiram in White) appear in Dragon Spiral Tower in the Post-Game? I would set it to be captured at Lvl 70 so there is the option of catching both of the Yin & Yang Dragons. (I would do this in B2W2 as well at a later date when I finally play through that) This I imagine will be quite advanced, as I havent got that far into Map Editting etc. Would anyone be able to give me any tips in approaching these two ideas if possible please? Number 1 I have a funny feeling im missing something incredibly obvious, but number 2 should be a longer term project I will do over the coming weekends - Just looking for some guidance to see if it is possible and the best tools / tutorials to look at to achieve this Many thanks in advance! Monty
×
×
  • Create New...