Final Fantasy 7 > General Discussion

FF7 Exp/AP Mod?

(1/2) > >>

Proloe:
Hey, so I'm pretty new to the FF7 modding scene. I'm not looking to modify things too much as I'm trying to play through the game effectively for the first time. My main concerns are just to clean up some of the graphics, add some QoL elements, and make the game a little bit less grindy.

I've got 7th Heaven installed and am working through the mods in the browser there, but one thing I'd like to do is to reduce some of the grinding by just increasing the EXP and AP awarded form battles, so that I don't have to worry about ending up under-levelled (my last attempt at running this game without mods had me blocked by being about 20 levels below what the game expected from me). I don't see a mod that can achieve that, only mods that make the game harder, or just give me EXP immediately, which isn't what I'm looking for. Does anyone know of any mods that might help with this, or how I could construct one myself?

Sega Chief:
The Bahamut tool can mass-edit enemy data, so what you could do is x2 the EXP given.

https://forums.qhimm.com/index.php?topic=18071.0

Target the game's scene.bin in FF7/DATA/BATTLE (1998 PC/7h version) or FF7/DATA/LANG-EN/BATTLE (Steam version).

As for making it into an IRO for use with 7h, the 7h Launcher has tools for doing this. Best way would be to visit the 7h site to read the documentation and/or unpack a pre-existing IRO and repurposing it into a new one with your adjusted scene.bin.

One key thing to remember with scene.bin editing; the kernel.bin (where character data is stored) also has a table of encounter IDs that the game used on PSX to load encounters faster by identifying which section of the scene.bin has the requested enemy formation. While this isn't really needed for PC, it is still used by the game and needs to be updated if the data of the game changes in such a way as to move formations into different sections. If it's wrong, then it'll load the wrong formations which leads to unintended encounters/crashes.

The Bahamut tool unfortunately doesn't do this from what I'm reading on its thread page. The Proud Clod tool, the mainline scene.bin editor. Recommended workflow is:

1) Make a backup of the game's data folder (so you have defaults to fall back on)
2) Open the scene.bin using Bahamut and make the mass edit to exp; save and close
3) Open the modified scene.bin with Proud Clod; click File then Save/Create Scene.bin. A prompt to check Kernel will appear. Confirm. If it needs to make changes, it'll tell you; confirm yes. If it doesn't need to make changes, you're good to go.

4a) If PRC didn't need to change the kernel, then just package the scene.bin into an IRO.
4b) If PRC did need to change the kernel, then by default it adjusts the one in FF7/DATA/KERNEL. If it doesn't find it, then you'll need to specify the kernel's file location. Make sure to take this modified kernel out and package it with your IRO.

Proud Clod tool is here: https://forums.qhimm.com/index.php?topic=8481.0


Proloe:

--- Quote from: Sega Chief on 2020-04-29 01:05:16 ---just package the scene.bin into an IRO.

--- End quote ---

So, I'm a complete beginner here, and I have no idea how to do this. The rest seems... possible, if tedious, but I'd like to make sure I know what I'm doing before I attempt this.

Proloe:
Couldn't see a way to edit my post, so I apologise for the double post here.

I just tried to open the scene.bin file using Bahamut, to see what I'd need to do for this, and it just gave me an error message.
Spoiler: showSee the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at Bahamut.Form1.buttonOpenFile_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4150.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
Bahamut
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///E:/Users/USERNAME/Downloads/Bahamut%20v1.02/Bahamut%20v1.02/Bahamut.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4150.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4001.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4121.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.3752.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Proloe:
Once again, apologies for the triple post.

I managed to work out everything up to using Proud Clod to fix the kernel. Unfortunately, that also gives me an error message when I attempt to correct the kernel:

Unable to load DLL 'zlib1.dll': The specified module could not be found. (Exception from HRESTULT: 0x8007007E)

I'm not really sure how to handle this.

Navigation

[0] Message Index

[#] Next page

Go to full version