I did this for my S1 server setup from https://forum.ragezone.com/f522/guide-setting-la-tale-s1-1205612/
Process may work differently for other releases.
Both server and client use ROWID.SPF for a lot of values regarding stats, EXP rates, world layout and so on.
By using existing tools and some Python scripting, it is easy to modify all EXP and item drop rates of enemies for example.
This guide will explain how to do this and will provide a sample Python script for some modifications.
Important: ROWID.SPF of client and server must always be in sync, always copy the modified ROWID.SPF to both!
What you need
1. Preparing the files
For each of "EFFECT.LDT", "MOBLOOT.LDT", "MOBBASE.LDT" and "QUEST_DROP_ITEM.LDT" in "Unpacked\DATA\LDT" repeat the following process:
2. Patching the files with the Python script
I made a script to modify a couple of things by adjusting all entries in the LDT files individually. In its current form it lowers EXP and drop rates a bit, because the S1 server from my other guide is a tad too fast-paced by default for my liking. However, you can adjust the values in the script to also increase rates as you see fit.
The script is a base to get you started, do what you want with it.
Simply keep the unmodified .LDT.TXT files next to the script, just change the script values and re-execute the script. The .LDT.TXT files will always be the unmodified base.
3. Applying the patched files by rebuilding ROWID.SPF
For each of the .patched.TXT files repeat the following process:
If something goes wrong, remove the "Unpacked" folder and restore your backup copy of "ROWID.SPF" and repeat the process starting with main step 1.
Process may work differently for other releases.
Both server and client use ROWID.SPF for a lot of values regarding stats, EXP rates, world layout and so on.
By using existing tools and some Python scripting, it is easy to modify all EXP and item drop rates of enemies for example.
This guide will explain how to do this and will provide a sample Python script for some modifications.
Important: ROWID.SPF of client and server must always be in sync, always copy the modified ROWID.SPF to both!
What you need
- "LaTaleTool.exe" and "Packer2" from the "Tools\LDT_Editing" folder of Fantasy Tale: https://forum.ragezone.com/f521/release-fantasy-tale-season-2-a-1203153/
- my Python3 script for scaling LDT values:
To view the content, you need to sign in or register
- note: downloading from Pastebin, will result in a "...py.py" file, remove the second ".py" from the name, the name should be "LaTale_LDT_modifier.py"
- a Python3 interpreter, e.g. Python 3 "Windows embeddable package" from
To view the content, you need to sign in or register
1. Preparing the files
- unpack the Fantasy Tale archive, you will need its "Tools" directory
- make a backup copy of "ROWID.SPF"!
- from your server copy "ROWID.SPF" to "Tools\LDT_Editing\Packer2"
- drag the "ROWID.SPF" and drop it on "UP_P_Unpack.bat", this will create a "Unpacked" directory
For each of "EFFECT.LDT", "MOBLOOT.LDT", "MOBBASE.LDT" and "QUEST_DROP_ITEM.LDT" in "Unpacked\DATA\LDT" repeat the following process:
- open LaTaleTool.exe, use "Choose File" on the right and open the .LDT file
- select "Tools" > "LDT to TXT" and save the file with .TXT ending (note: save the .TXT files somewhere else, not the "Unpacked\DATA\LDT" directory!), convert as follows:
Code:EFFECT.LDT -> EFFECT.LDT.TXT MOBLOOT.LDT -> MOBLOOT.LDT.TXT MOBBASE.LDT -> MOBBASE.LDT.TXT QUEST_DROP_ITEM.LDT -> QUEST_DROP_ITEM.LDT.TXT
2. Patching the files with the Python script
I made a script to modify a couple of things by adjusting all entries in the LDT files individually. In its current form it lowers EXP and drop rates a bit, because the S1 server from my other guide is a tad too fast-paced by default for my liking. However, you can adjust the values in the script to also increase rates as you see fit.
The script is a base to get you started, do what you want with it.
- extract the Python 3 embeddable archive to subfolder called "python3" in the folder where your .LDT.TXT files are located
- place the LaTale_LDT_modifier.py script in the same folder as the .LDT.TXT files and the python3 subfolder
- open up the LaTale_LDT_modifier.py script in a suitable editor (e.g. Notepad++) and edit the values at the upper part of the script below the explanation text to your liking, e.g. "XP_RATE = 5.0" (= 5x EXP rate from monsters)
- in the folder where the .LDT.TXT files and script are, hold [Shift], right-click and select "Open command window here", then execute the script with
Code:python3\python.exe LaTale_LDT_modifier.py
- (you can make this command into a .bat file in this folder for future executions)
- if you did everything correctly, the script should have created the following patched files in the folder
Code:EFFECT.LDT.patched.TXT MOBLOOT.LDT.patched.TXT MOBBASE.LDT.patched.TXT QUEST_DROP_ITEM.LDT.patched.TXT
Simply keep the unmodified .LDT.TXT files next to the script, just change the script values and re-execute the script. The .LDT.TXT files will always be the unmodified base.
3. Applying the patched files by rebuilding ROWID.SPF
For each of the .patched.TXT files repeat the following process:
- open LaTaleTool.exe
- select "Tools" > "TXT to LDT"
- load the .patched.TXT file
- save the .LDT file to the original "Unpacked\DATA\LDT" folder using its original name (remove the ".patched.TXT" part from name), overwrite the existing file
- navigate to where the "ROWID.SPF" and the "Unpacked" folder are
- drag the "ROWID.SPF" and drop it on "UP_P_Unpack.bat"
- this will update the "ROWID.SPF" with the contents of the "Unpacked" folder and replace it
- copy "ROWID.SPF" to your server and client
- restart server and client
If something goes wrong, remove the "Unpacked" folder and restore your backup copy of "ROWID.SPF" and repeat the process starting with main step 1.