Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,564,264
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-09-24 01:46 AM
Guest: Register | Login

0 users currently in Super Mario RPG Hacking | 1 guest

Main - Super Mario RPG Hacking - How to Raise the Level Cap over 30!!! New thread | New reply


Darkkefka
Posted on 01-25-14 08:54 AM (rev. 5 of 01-25-14 05:08 PM) Link | Quote | ID: 155523


Red Koopa
Level: 26

Posts: 96/123
EXP: 94295
Next: 7980

Since: 04-09-11

Last post: 3135 days
Last view: 3303 days
I promised I would make this public once I learned how to it.
The level cap in my game is 60. I chose that level to prevent anybody from accusing me of using their game as a background.

Okay, for starters, YOU NEED TO USE A HEX EDITOR!!!! I'm going to assume that if you're reading past this point, you have some knowledge of using one.
I don't think it matters which one you use. I used Translhextion..which is ironic considering who the hardest boss is my hack is.......

Next, understand that this isn't for the impatience. There's A LOT of work to be done.

Okay. Let's get started. First I recommend expanding your ram from 4 to 8.
I don't think it's needed, but I did it anyway.

http://acmlm.kafuka.org/board/thread.php?id=7728

You will also need a Vanilla 8 ram if you patch it with Lunar or other IPS files.

Lazy Shell won't show the changes, but they are there. SAVE THIS STEP FOR LAST AFTER EDITING YOUR GAME!! The reason for this is because the game might reset the pointer to their default locations if you edit it...not that you can't easily fix it.

Now then, in order to do this, you need to understand "POINTERS". What's a pointer? Simple, a pointer literally "POINTS" to a certain place in the editor, however, that value is read backwards. Let's take the Levels for example:

The Pointer for Level EXP is offset 3801100(3A000C). There is a FF then a 1A there. You flip the FF and IA, you have to pointer going to 3A1AFF. Now go to that offset. The offset number is 38077999. That's Level 2. Take note of the (10 00) there. That's a decial number. In REAL Numbers, that's 16. Next is (30 00)...which is 48. Then we have ( 54 00) which is 84. This means is takes a total of 16 EXP to reach level 2, total of 48 EXP to reach level 3, and 84EXP to reach level 4. You follow? Good.

Now, if I'm correct the game can't read more than 9999 EXP unless you change that value which I haven't yet learned.

The reason why you need to learn how pointers work is because in order to do this, you NEED to change the direction the pointer is going. Look at Offset Number 3808055(3A1B37.) It's (0F 27), which is 9,999 EXP to reach level 30. The very NEXT offset(05 32) starts the stat growth per level. This means Mario will gain 5 HP, 3 atk, 2 def, 2 mag, and 2 mag def at level 2.)

Changing the EXP level pointer isn't enough. You also need to change the Pointer of the stat growth, bonus growth, AND level up spells, otherwise your characters learn strange spells and their stat growth will be funny.... That pointer needs to point to a place where you have the room for your levels.


This guide will raise the cap to 35 for practice. You can raise it to whatever you what once you learn how it's done.
-------------------------------------------------------


First, let's Change the level EXP pointer. Go to the EXP level pointer 3801100(3A000C). You need to change the (FF 1A) to where you want it to go. Note that this spot MUST be in the same group. In this case, it must be within the 3A0000 Range. This pointer won't read anything from 3B0000 and beyond. Don't worry, there's PLENTY of room.

Okay, change the FF 1A to (80 ED)....This will take the pointer to offset number 3861888(3AED80). Go to that offset. See all the room you have??!! You can easily get 100 levels out of this!! We need 2 bytes per level.

Now, you need to divide 9999 EXP by 34 levels. The game will continue to read EXP gain until you gain 9999. For this reason, the level cap offset of your choice MUST read 9999 EXP, otherwise the pointer will read anything past that point, and you will find your character going to level 652,394....

For practice, do 1 exp,2 exp,3,4,5,6,7,8,9,ect.......
Then when you get to the level 31 offset 3861946 or 3AEDBa) Make that (C8 00...200 EXP). Then do C900 for level 32, CA00 for level 33, CB00 for level 34, and finally 0F27 for level 35.

Now comes the most important part, you must stop the game from reading EXP past your level cap. So the next EXP number needs to be something that the game can't read.
Personally, I like to put in (1F 4E), then lot's of FFFFFFFFF after that as a marking point.

This will tell the game that level 36 is reached at 20,000 EXP, and it will read ~000 in the game, but that will never happen since you have 9999. If the number you pick is TOO high (65,000), the game will read that as a negative number and mario could gain infinite levels!!!! LOL
It should look like this:


This means it takes a grand total of 29 EXP to reach level 30, a grand total of 200 EXP to reach level 31, and a grand total of 9,999 to reach level 35.
The Levels are done.


------------------------------
Stats growth per level:

Now we need to change the pointer of the stat growths per level. The pointer is 3801102(3A000E). Change the (39 1B) to (F0 ED). This will move the pointer spot to offset 3862000(3AEDF0).

Now here's the tricky part:
Each character takes 3 bytes before it moves to the next character.
So in this case, Mario's level 2 offset is 3AEDF0. Put in 55 43 21. This means at level 2, mario will gain 85 HP, 4 atack, 3 Defense, 2 m.attack, and 1 m.defense. The next set of 3 bytes is Toadstool's level 2 Growth offset(3AEDF3). We are only dealing with Mario right now, so leave it. The next 3 is Bowser's level 2(3AEDF6), then Geno's Level 2(3AEDF9), and finally Mallow's level 2(3AEDFC).

After this, it rotates back to mario and the next level. So offset (3AEDFF) is mario's level 3 growth. Make this one 66 54 32. This means at level 3 Mario will gain 102 HP, 5 attack, 4 def, 3, magic, and 2 magic defense. By now you should understand this, so fill in all 1's for the rest of mario's levels until 34. From level 4 to level 34, mario will gain 17 HP, and 1 everywhere else. Make level 35 all 9s to make sure you did everything right. At level 35, Mario will gain 153 HP, and 9 everywhere else. Mario's level up growth is done. You can change the other characters when you learn how this works. For now they all gain 0 stats in all area's.(LOL)It should look like this:




-----------------------------------
Bonus stats:
Now we need to control the Bonus stats gained at the levels. Offset 3801104(3A0010) is the pointer. Change the (EC 1C) to (10 F0), moving the pointer spot to 3862544(3AF010).

Fortunity, this is done the very same way as normal growth. Just put 1's in all of mario's levels and 9s in level 35 to make sure you did it right. So each level up bonus will give him 17 HP, 1 attack and def,or 1 magic and magic def. At level 35, he would get either 153 HP, 9 atk and def, or 9 magic and magic def.
-----------------------------------

Spells learned:
Now we need to change which spell they learn at what level. If you skip this step, they will learn odd spells from level 31 and above.
If you don't care to change which level they learn the spells, you STILL need to move the pointer spot. Offset 3801120(3A0020) is the pointer. Change the (F5 42) it to (40 F2), moving the pointer spot to 3863104(3AF240).

Each level takes 5 bytes( 1 byte per character). The levels that you DON'T want them to learn a spell needs to be FF.

So let's say we want Mario to learn Fire Orb at level 6, Super Jump at level 12, Super Flame at level 20, Ultra Jump at level 27, and Ultra Flame at level 35. Here's what you do.

The first 2 numbers is Mario's Level 2, the next is Toadstools, then Bowser, Geno, Mallow, then back to Mario Level 3. I will leave 0's for the other characters(which means they are trying to learn jump everytime they level up...lol). So it needs to look like this:


NOW WE ARE DONE WITH MARIO.
Let's test that baby out. HP isn't suppose to read over 999, so it will look funny, this is just an example. Use what ever numbers you want.


-------------------------------------------------------------------
Now start a new game and play up to the Mushroom way.
Edit the Goombas and make them give you 8 EXP, now make the sky troopas give you 200 exp, and the spikey's give you 9999 exp.

Fight the goombas until you reach level 30. Check to make sure everything is the way we planned.

Look at your stats. You will notice that it doesn't tell you the next level. The game isn't suppose to reach anything past level 30, but it can.

Now fight the Troopas, and Mario still levels up. Look at your stats, it now shows the next level, which should be a large number of EXP.

You'll notice that the game doesn't tell you that he learns the next spell at level 35. As I said, the game isn't suppose to read anything past level 30, but it will.

Now fight the Spikeys and mario should reach level 35 and learn Ultra Flame. Look at the stats. It will say a strange number for the next level, but the game can't read past 9999 exp, so it will never go there.

Here's a video using the level cap I made for this guide:
http://www.youtube.com/watch?v=_EOehJyHvMU&feature=youtu.be

Now, one thing you will notice is that once a character reaches level 30, when they do there spells, the game will NOT tell you how to increase damage. Why the hell this happens is beyond me. It's a rather small price to pay, however, you can simply edit the Ally Spells animations to FORCE it to tell you if it bothers you. That's what I did....


Somebody gave me another way to do it. It works wonders, except for one thing...Smithy Freezes the game after transforming if you do it that way. Why?? I don't know.......If Smithy's transformation isn't in your hack, then do it his way:

http://acmlm.kafuka.org/board/thread.php?id=7771&page=2

So there you are, breaking the Level cap in Super Mario RPG. Once you've mastered this with Mario, simply choose the level cap of your choice and do this for all characters. It's a very time consuming process, but well worth it, and rather easy once you learn how it's done.


And if anybody is interested in playing my hack, I just released a Public Beta Version of my game. It's still in testing.

http://www.insanedifficulty.com/board/index.php?/forum/96-super-mario-rpg-armageddon/

SuperMarioRPGHacker
Posted on 04-18-14 07:09 PM Link | Quote | ID: 156403


Octorok
Level: 11

Posts: 16/21
EXP: 5833
Next: 152

Since: 04-18-14

Last post: 3671 days
Last view: 3671 days

how hard heh? and lol isane difficult forum merchanside here

____________________
FINAL FANTASY MARIO BLOG: http://finalfantasymario.blogspot.com.br
Some SMRPG Hacking questions? Ask me here: http://finalfantasymario.blogspot.com.br/2014/04/smrpg-hacking-questions.html

Cain Hampton
(post deleted) ID: 167100

Main - Super Mario RPG Hacking - How to Raise the Level Cap over 30!!! New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.165 seconds. (347KB of memory used)
MySQL - queries: 43, rows: 65/66, time: 0.161 seconds.