Hey !
I'm just releasing some addresses, they might be outdated, the last time i used it was in April, but i think it should work.
Inf. Ammo
Pattern to search : 8B 45 08 33 05
I deleted my first source code, but i guess you should replace it by
8B 45 04
Item Change
Pattern to search : 8B 04 91 89 45 D8 8B 4D D8 51 E8
It will makes the basic items of the character change
You can replace them with hacked clothes with MP bonuses, and they will work.
But you cannot apply a SET to the character, it must be only exactly the same parts.
Codecave source : (pretty bad coded, was improvising)
Code:
void LoadItemsID(LPCSTR name)
{
ITM.Melee = GetPrivateProfileInt("Weapons", "Melee", 3010100, name);
ITM.Rifle = GetPrivateProfileInt("Weapons", "Rifle", 3020000, name);
ITM.Shotgun = GetPrivateProfileInt("Weapons", "Shotgun", 3030000, name);
ITM.Sniper = GetPrivateProfileInt("Weapons", "Sniper", 3040000, name);
ITM.Gatling = GetPrivateProfileInt("Weapons", "Gatling", 3050000, name);
ITM****cket = GetPrivateProfileInt("Weapons", "Bazooka", 3060000, name);
ITM.Grenade = GetPrivateProfileInt("Weapons", "Grenade", 3070000, name);
ITM.P_Hair = GetPrivateProfileInt("Pandora", "Head", 1130100, name);
ITM.P_Face = GetPrivateProfileInt("Pandora", "Face", 1230100, name);
ITM.P_Shirt = GetPrivateProfileInt("Pandora", "Shirt", 1330100, name);
ITM.P_Pants = GetPrivateProfileInt("Pandora", "Pants", 1530100, name);
ITM.P_Gloves = GetPrivateProfileInt("Pandora", "Gloves", 1630100, name);
ITM.P_Shoes = GetPrivateProfileInt("Pandora", "Shoes", 1730100, name);
ITM.N_Hair = GetPrivateProfileInt("Naomi", "Head", 1110100, name);
ITM.N_Face = GetPrivateProfileInt("Naomi", "Face", 1210100, name);
ITM.N_Shirt = GetPrivateProfileInt("Naomi", "Shirt", 1310100, name);
ITM.N_Skirt = GetPrivateProfileInt("Naomi", "Skirt", 1410100, name);
ITM.N_Pants = GetPrivateProfileInt("Naomi", "Pants", 1510100, name);
ITM.N_Gloves = GetPrivateProfileInt("Naomi", "Gloves", 1610100, name);
ITM.N_Shoes = GetPrivateProfileInt("Naomi", "Shoes", 1710100, name);
ITM.K_Hair = GetPrivateProfileInt("Knox", "Head", 1120100, name);
ITM.K_Face = GetPrivateProfileInt("Knox", "Face", 1220100, name);
ITM.K_Shirt = GetPrivateProfileInt("Knox", "Shirt", 1320100, name);
ITM.K_Pants = GetPrivateProfileInt("Knox", "Pants", 1520100, name);
ITM.K_Gloves = GetPrivateProfileInt("Knox", "Gloves", 1620100, name);
ITM.K_Shoes = GetPrivateProfileInt("Knox", "Shoes", 1720100, name);
ITM.C_Hair = GetPrivateProfileInt("CHIP", "Head", 1140100, name);
ITM.C_Face = GetPrivateProfileInt("CHIP", "Face", 1240100, name);
ITM.C_Shirt = GetPrivateProfileInt("CHIP", "Shirt", 1340100, name);
ITM.C_Pants = GetPrivateProfileInt("CHIP", "Pants", 1540100, name);
ITM.C_Gloves = GetPrivateProfileInt("CHIP", "Gloves", 1640100, name);
ITM.C_Shoes = GetPrivateProfileInt("CHIP", "Shoes", 1740100, name);
}
_declspec(naked) void CC_ItemChange()
{
_asm pop dwReturn
_asm mov eax,[ecx+edx*0x4]
_asm mov ItemID, eax
if (ItemID == 3010100)
ItemID = ITM.Melee;
else if (ItemID == 3020000)
ItemID = ITM.Rifle;
else if (ItemID == 3030000)
ItemID = ITM.Shotgun;
else if (ItemID == 3040000)
ItemID = ITM.Sniper;
else if (ItemID == 3050000)
ItemID = ITM.Gatling;
else if (ItemID == 3060000)
ItemID = ITM****cket;
else if (ItemID == 3070000)
ItemID = ITM.Grenade;
// Pandora
else if (ItemID == 1130100)
ItemID = ITM.P_Hair;
else if (ItemID == 1230100)
ItemID = ITM.P_Face;
else if (ItemID == 1330100)
ItemID = ITM.P_Shirt;
else if (ItemID == 1530100)
ItemID = ITM.P_Pants;
else if (ItemID == 1630100)
ItemID = ITM.P_Gloves;
else if (ItemID == 1730100)
ItemID = ITM.P_Shoes;
// Naomi
else if (ItemID == 1110100)
ItemID = ITM.N_Hair;
else if (ItemID == 1210100)
ItemID = ITM.N_Face;
else if (ItemID == 1310100)
ItemID = ITM.N_Shirt;
else if (ItemID == 1510100)
ItemID = ITM.N_Pants;
else if (ItemID == 1610100)
ItemID = ITM.N_Gloves;
else if (ItemID == 1710100)
ItemID = ITM.N_Shoes;
// Knox
else if (ItemID == 1120100)
ItemID = ITM.K_Hair;
else if (ItemID == 1220100)
ItemID = ITM.K_Face;
else if (ItemID == 1320100)
ItemID = ITM.K_Shirt;
else if (ItemID == 1520100)
ItemID = ITM.K_Pants;
else if (ItemID == 1620100)
ItemID = ITM.K_Gloves;
else if (ItemID == 1720100)
ItemID = ITM.K_Shoes;
// CHIP
else if (ItemID == 1140100)
ItemID = ITM.C_Hair;
else if (ItemID == 1240100)
ItemID = ITM.C_Face;
else if (ItemID == 1340100)
ItemID = ITM.C_Shirt;
else if (ItemID == 1540100)
ItemID = ITM.C_Pants;
else if (ItemID == 1640100)
ItemID = ITM.C_Gloves;
else if (ItemID == 1740100)
ItemID = ITM.C_Shoes;
_asm mov eax, ItemID
_asm mov [ebp-0x28],eax
_asm push dwReturn
_asm ret
}
How works the Item IDs ?
1740100
1 => Type of item (1: Costumes - 3: Weapons)
7 => Subtype of Items (Costumes : Parts / Weapons : i don't remember lol)
4 => Character ID (1: Naomi 2:Knox 3:Pandora 4:CHIP)
OR Subtype of Weapons (shotgun, rocket, blablabla)
01 => Item ID
00 => Item SubID (for exemple the 50 is generally the Unlimited version of the item !
How to find the Item ID
It's kinda simple, search the name of your item in Cheat Engine, open it in the Memory viewer, and set the Hexview on 4 bytes display, and then search for an ID around that looks like the one i posted.
Just as a side note, if you want to farm EXP/MP with it, go to a single room with someone, and don't invite anybody, else it will give you errors that will make you either freeze or crash.
I hope it will help some people !
Have fun