Editor Issues and Howto Fix:
Finding and fixing errors. Most errors with the editor is based on two things:
- You don't have SQL installed correctly see below.
- You're database is different and the table offsets needs adjustment.
How do you know which one is the error?
Its a simple process, did an older version work on your database? If so, SQL is working fine and you've got issue 2.
If its your first time and you're receiving an error, make sure to follow the steps to fix 1 first, then move onto fixing issue 2.
Fixing SQL (1):
1. Open the installer as indicated.
2. Select Download Media
3. Select LocalDB
4. Download it.
5. Install it (will be under your downloads folder)
Fixing Offsets (2):
Unfortunately this is a bit more technical and might require some skill. Its important to understand that each of the things you're seeing in the
editor is actually an database table. Each table has a place where it starts and each has a place where it ends. The editor is programmed with default start and end locations for each table.
These you can view under settings:
For the sake of this tutorial, let's not worry too much about the boxes underneath the HEX strings. If you don't know what the HEX strings are, I suggest you stop.
On you're left you have start locations and on your right you have end locations. 99.99% if you're database has an error, its because one of these locations can't be found.
You can test this by using the new test DB function. This function will attempt to find which of these offsets can't be found, and you can proceed to manually get it.
Let's use an example of an database having issues.
You don't have to load the database, the test function will do so. So let's clicks Test DB. The editor will tell you which table it is testing, if no error occurs and it moves on, then that table is fine.
Here you will see we have our first issues!
To debug this, we have to confirm if these offsets on the editor, is actually found in the DB!. Let's open an HEX editor and start searching.
Search using the HEX editor for the HEX values, you must be sure to select HEX and not Text when you searching.
In this example, I couldn't find the end offset for the competitions. Here we'll see that the user has a lot more competitions, and that's why its failing.
We need to adjust the offsets.
For competitions, the start of each record is 61 characters before the name. See here:
Each record within a table has a specific size, this is also now displayed in the editor. Once you know where a record starts, you can determine where it ends. The end of a table needs to be either the last record,
or the first records after the last one. in this example we can see a competition record size is 100 characters. Lets count 100 from the start of the last record.
And the ones after that would be the end offset.
Let's take at least around 30 characters.
The HEX string 01 00 00 00 75 04 35 66 32 31 61 32 66 30 31 39 61 38 64 63 62 32 35 31 63 35 38 64 34 37 will become our new end for competitions.
Now for the Lineups we have an unique situation, we have both offsets that can be found. Based on the rules we know that each record for a lineup is 776 of length.
The match based on the current end for lineups is shown in yellow.
We can see that there is some characters at top. This is unfortunately not so easy to do. We can see some HEX characters here. Marked in blue. 776 characters from them doesnt' match our current match.
This would mean we need to adjust. So our actual end needs to be 01 00 00 00 82 1D 70 60 02 00 00 00 83 1D 71 60 03 00 00 00 85 1D 73 60 04 00 00 00 87 1D 74 60 05 00 00 00 5F 1A 77 60 06 00 00 00.
This is very technical and I cannot help everyone to get their DBs working. The following guides can be followed:
Players --> 1348
Lineups --> 776
Teams --> 212
Kits --> 280
Fixtures --> 16
Competitions --> 100
You can also open old databases or stock ones and then see how it differs on the specific matches from yours.