Step 1. Check the table ranges for the id.
- Open the "itemtables" cache file. It can be found in the "rom/cache" folder. It is made up of about 27 tables and each table is made up of a number of ranges.
- Try to find which table the id should belong to. For example if the id is 101515 and the "NPCObjectDB" only goes from 100001 to 100811 then that's the table with the problem. For comparison, here are the tables and their start and end values that I show. If any of your "EndId" values are different then that's probably the table with the problem.
Code: Select all
StartId = 570000, EndId = 588455, Name = "ImageObjectDB"
StartId = 510000, EndId = 513527, Name = "AddPowerObjectDB"
StartId = 220001, EndId = 229752, Name = "ArmorObjectDB"
StartId = 2000, EndId = 2394, Name = "BodyObjectDB"
StartId = 710000, EndId = 710004, Name = "CampObjectDB"
StartId = 760000, EndId = 760015, Name = "CreateRoleObjectDB"
StartId = 770000, EndId = 771138, Name = "CardObjectDB"
StartId = 740000, EndId = 745840, Name = "EqRefineAbilityObjectDB"
StartId = 780000, EndId = 780986, Name = "FlagObjectDB"
StartId = 200000, EndId = 240635, Name = "ItemObjectDB"
StartId = 540000, EndId = 545487, Name = "KeyItemObjectDB"
StartId = 590000, EndId = 590019, Name = "LearnMagicExDB"
StartId = 500000, EndId = 620700, Name = "MagicObjectDB"
StartId = 490000, EndId = 498152, Name = "MagicCollectObjectDB"
StartId = 560000, EndId = 560082, Name = "MineObjectDB"
StartId = 100001, EndId = 106101, Name = "NPCObjectDB"
StartId = 1000, EndId = 1010, Name = "PlayerObjectDB"
StartId = 420025, EndId = 424425, Name = "QuestDetailObjectDB"
StartId = 110000, EndId = 118945, Name = "QuestNPCObjectDB"
StartId = 550000, EndId = 551736, Name = "RecipeObjectDB"
StartId = 520000, EndId = 521490, Name = "RuneObjectDB"
StartId = 600000, EndId = 600352, Name = "ShopObjectDB"
StartId = 610000, EndId = 610410, Name = "SuitObjectDB"
StartId = 530000, EndId = 530752, Name = "TitleObjectDB"
StartId = 720000, EndId = 725776, Name = "TreasureObjectDB"
StartId = 210001, EndId = 213451, Name = "WeaponObjectDB"
StartId = 750000, EndId = 750461, Name = "ZoneObjectDB"
- Now that we've found the problem table, have a look at the last range. To continue the example above it might look like this.
Code: Select all
{StartId = 100001, EndId = 100811, Name = "NPCObjectDB", Ranges = {
{Start = 100001, End = 100803, StartAddress = 0x100D6540},
{Start = 100805, End = 100805, StartAddress = 0x100D00E0},
{Start = 100804, End = 100804, StartAddress = 0x100D00C0},
{Start = 100806, End = 100811, StartAddress = 0x100D00A0},
}},
- Now take note of the last address of the highest id, in this case it's "100D00A0"
- Now start up Cheat Engine, attach to the game client and go to the "Memory View".
- Right click the bottom half of the display and select "Display Type/4 Byte hex" to change the display to show groups of 4 bytes.
- Right click it again and select "Goto address" and enter the address we found above.
- Now scroll upwards until you see the end of the range. It should look something like this.
- When you have the display looking something like that, then take a snapshot of it and post it here and I'll have a look at it.
- Most likely the problem will be in the snapshot above. It should include the address where the range continues. If it looks ok and the address is there then I might need you to go to the address where the range continues and take a snapshot there as well. The address to go to can be in either the second or third column and usually stands out. In the example above the address to go to is "1184FFE0". "1184FFC0" also stands out and would work also.
- If you can identify the addess then right click the display and select "Goto address" and enter that address.
- You should be at the bottom end of the range so scroll up a bit until you have a display like this. If you are not at the bottom of the range but part way through it then scroll down until you reach the end.
- Take a snapshot and include it in your post.