Today I present to you a tool that Zed from the Windower team put together for me a bit back.
In a nutshell, it allows for the modification of in-game item text or addition of new items within the DATS. As of right now, there are 27-30k item IDs used in retail FFXI. The DATS have space for 65k so there is plenty of room for new things!
On to the tool. It's called Resource Builder and it works off of files (.lua) spit out by Windower Resource Extractor (links for both at the below.)
You will need Visual Studio to build/use these tools.
Usage:
1) Download and build Resource Extractor here: https://github.com/Windower/ResourceExtractor
2) Run Resource Extractor to produce your source files (the results will populate in your Resource Extractor Folder):
3) Navigate to \resources\lua\
4) Edit items.lua and item_descriptions.lua to your liking (example below.)
In my example, I have selected the Onion Knife for testing. Note that there are formatting rules in these files, but I have not tested enough to find out what all of them are. to start a new line on the item description use \n, for quotation marks and other punctuation, they must be proceeded by a slash like so \"testing\" or you will break the file! Don't forget to save your edits.
5) Download and build Resource Builder here: https://github.com/z16/ResourceBuilder
6) BACK UP YOUR ORIGINAL FFXI DAT FILES!! This tool will not directly overwrite DATs, but a clean backup is highly recommended when making any modifications. The list of DATs to back up are as follows ROM\118\106 through 110; ROM\217\21; ROM\286\73; and ROM\301\115.
7) Open a command prompt and run the command "C:\YOUR\PATH\TO\ResourceBuilder.exe" "C:\YOUR\PATH\TO\Resource Extractor\resources\lua"
"C:\YOUR\PATH\TO\FINAL FANTASY XI\ROM"
The result should look something like this:
Find your results in your Resource Extractor lua folder:
8) Overwrite your existing DATs with your modified new ones and load into any server for testing:
As for adding items, simply add your custom item to the bottom of the list with an unused item ID. Follow the same formatting as existing items and don't forget to add it to your database or it won't work!
This tool is not complete in it's current state, Zed made this for me as a huge favor to a complete stranger (THANK YOU AGAIN,) but there are a few things that are broken as far as I can tell with my limited knowledge of coding wizardry.
1) The (119) tag cannot be added or removed from (or to) existing items. There is a spot for 119 to go in the description file, but changing it seems to do nothing.
2) Modifying the DATs with this tool currently breaks element resist display like so:
As all item data is listed in the same files, changing even one item will affect ALL items in this way. That wasn't a deal breaker for my server and I have no clue how to fix it so we rolled with it, your mileage may vary. If you know how to fix these issues, do tell!
If you have any questions you can hit me up on Discord at @Ohnoes#2817