I've been taking a look at the data folder, where you can find items, poses, images, clothes and almost everything in the game, but it looks like something has changed, the characters are now unreadable (Characters like û,þ,ÿ), for that matter, just for me changed? If not, do any of you know a mechanism that I can read again?
Here's a script for future usage in case there's any problem getting names, that dumps the name of everything in the game. Do have in mind that it'll be a text file with 30k lines and you won't know what a few IDs are. But for clothes, images, items and a few other things, you shouldn't have any problem. Just search for a random item or clothing name, and you'll get to the rest:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>2609</ID>
<Description>"Booty Calls Name Dumper"</Description>
<LastState/>
<Color>FF8000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
if process and readInteger(process) ~= 0 then mono_initialize() LaunchMonoDataCollector() end
local extraDebug = false
local GCD = mono_class_findInstancesOfClassListOnly(mono_enumDomains()[1],mono_findClass('','GameContentData'))[1]
local cGDCData = 0
function getContents(p,l)
for z = 0,l*4-4,4 do
local cData = readInteger(readInteger(p) + 0x10 + z)
local cKey = readString(readInteger(cData + 0x8) + 0x0C,1000,true)
if z == l*4-4 then
DumpFile:write(' ' .. cKey,"\n\n")
else
DumpFile:write(' ' .. cKey,"\n")
end
--print(readString(readInteger(cData + 0x8) + 0x0C,500,true))
end end
local offsetTable = mono_class_enumFields(mono_findClass('','GameContentData'))
DumpFile = io.open(getCheatEngineDir() .. 'BootyCallsDump.txt', "w+")
for i = 1,#offsetTable do
if (offsetTable[i].isStatic) == false then
if string.match((offsetTable[i].name), "DataDict") then break end
--print(offsetTable[i].name)
local gp = GCD + offsetTable[i].offset
local p = readPointer(gp) + 0x08
local l = readInteger(p + 0x04)
if l ~= 0 then
local cGDCData = i
if cGDCData == i then DumpFile:write(string.format('[' .. offsetTable[i].name .. ']\n')) end
getContents(p,l)
end end end
DumpFile:close()
shellExecute(getCheatEngineDir():gsub("%\\", "\\\\") .. 'BootyCallsDump.txt')
[DISABLE]
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatTable>
Copy and Paste that into the main Cheat Engine window, and with the game process attached, activate the script.
The text file with the dumped names will open automatically.
P.S.: If I see that it's too confusing this way, I might make it so each part of it goes in a different text file, in the future. Like, have a file for items, file for clothes, file for girls, etc.
I tried to use it as you said, but I can't activate it, I use the Nutaku version, is this function only for the Steam version? The option appears, but I can't mark it there like in the other functions.
I tried to use it as you said, but I can't activate it, I use the Nutaku version, is this function only for the Steam version? The option appears, but I can't mark it there like in the other functions.
I haven't tried it on the Nutaku version. But if it doesn't work for you, then it just might not work for that version. Even though it should.
If you mean the page that opens when I enable the cheats, I did not find anywhere the pvp cosmetics tab ;(
I mean that page.
Everything, what you can get by using codes is in the spreadsheet.
Most of the PVP function are serverside. So you cannot obtaining them via CE.
I have a problem when I activate the option "Get Clothes Name [Clothes Browser]" it does not work the option does not activate even if I am in the wardrobe
I have a problem when I activate the option "Get Clothes Name [Clothes Browser]" it does not work the option does not activate even if I am in the wardrobe
It looks like they just removed that method. So that's why it doesn't work. I mean, it's there, but it's empty.
Just theoretically: if I have an earlier version of the game, can we reinstall the code line from it? Might make the job easier?
===================================================================================================
Ok, from now not just theory.
Opened the Assembly-CSharp in DnSpy and replaced that "empty" function. And voilá, the cheat works again.
from now that is the question how can implement this code into autoassembler?
That's way too much and would need to much fixing up stuff in ASM so it works properly. Specially when it uses unnamed methods. So I would be better off making a script to do the same thing.
That's way too much and would need to much fixing up stuff in ASM so it works properly. Specially when it uses unnamed methods. So I would be better off making a script to do the same thing.
I thought it would be enough to copy the JIT code and paste it into autoassembler