Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <CheatTable>
- <CheatEntries>
- <CheatEntry>
- <ID>415324</ID>
- <Description>"C.E Address to CwCheat Address"</Description>
- <LastState/>
- <VariableType>Auto Assembler Script</VariableType>
- <AssemblerScript>[ENABLE]
- {$lua}
- local al = getAddressList()
- -- Resolve dynamic base
- local base = getAddress(readQword('PPSSPPWindows64.exe+115D048'))
- for i = 0, al.Count - 1 do
- local record = al.getMemoryRecord(i)
- if record.CurrentAddress then
- local offset = (record.CurrentAddress - base) - 0x08800000
- print(string.format("%07X", offset))
- end
- end
- [DISABLE]
- {$asm}
- </AssemblerScript>
- </CheatEntry>
- <CheatEntry>
- <ID>415322</ID>
- <Description>"PPSSPP Print Description's Name"</Description>
- <LastState/>
- <VariableType>Auto Assembler Script</VariableType>
- <AssemblerScript>[ENABLE]
- {$lua}
- local al = getAddressList()
- for i = 0, al.Count - 1 do
- local record = al.getMemoryRecord(i)
- print(record.Description or "N/A")
- end
- getMemoryRecordByID(memrec.ID).Active = false
- [DISABLE]
- {$lua}
- </AssemblerScript>
- </CheatEntry>
- <CheatEntry>
- <ID>415325</ID>
- <Description>"PPSSPP Print Value old"</Description>
- <LastState/>
- <VariableType>Auto Assembler Script</VariableType>
- <AssemblerScript>[ENABLE]
- {$lua}
- local al = getAddressList()
- -- Resolve dynamic base
- local base = getAddress(readQword('PPSSPPWindows64.exe+115D048'))
- for i = 0, al.Count - 1 do
- local record = al.getMemoryRecord(i)
- if record and record.CurrentAddress then
- local addr = record.CurrentAddress
- local offset = (addr - base) - 0x08800000
- local value = ""
- if record.Type == vtByte then
- value = readBytes(addr)
- elseif record.Type == vtWord then
- value = readSmallInteger(addr)
- elseif record.Type == vtDword then
- value = readInteger(addr)
- elseif record.Type == vtQword then
- value = readQword(addr)
- elseif record.Type == vtFloat then
- value = readFloat(addr)
- elseif record.Type == vtDouble then
- value = readDouble(addr)
- -- ✅ STRING SUPPORT
- elseif record.Type == vtString then
- local strLength = record.StringSize or 32
- value = readString(addr, strLength, false) or "N/A"
- end
- -- ✅ Convert numeric values to HEX automatically
- local displayValue = value
- if type(value) == "number" then
- displayValue = string.format("%X", value)
- end
- print(string.format(
- "%s",
- tostring(displayValue)
- ))
- end
- end
- getMemoryRecordByID(memrec.ID).Active = false
- [DISABLE]
- {$asm}
- </AssemblerScript>
- </CheatEntry>
- <CheatEntry>
- <ID>415326</ID>
- <Description>"PPSSPP Print Value"</Description>
- <LastState/>
- <VariableType>Auto Assembler Script</VariableType>
- <AssemblerScript>[ENABLE]
- {$lua}
- local al = getAddressList()
- -- Resolve dynamic base
- local base = getAddress(readQword('PPSSPPWindows64.exe+115D048'))
- for i = 0, al.Count - 1 do
- local record = al.getMemoryRecord(i)
- if record and record.CurrentAddress then
- local addr = record.CurrentAddress
- local offset = (addr - base) - 0x08800000
- local value = ""
- if record.Type == vtByte then
- value = readBytes(addr)
- elseif record.Type == vtWord then
- value = readSmallInteger(addr)
- elseif record.Type == vtDword then
- value = readInteger(addr)
- elseif record.Type == vtQword then
- value = readQword(addr)
- elseif record.Type == vtFloat then
- value = readFloat(addr)
- elseif record.Type == vtDouble then
- value = readDouble(addr)
- -- ✅ STRING SUPPORT
- elseif record.Type == vtString then
- local strLength = record.StringSize or 32
- value = readString(addr, strLength, false) or "N/A"
- end
- -- ✅ Convert numeric values to HEX automatically
- local displayValue = value
- if type(value) == "number" then
- -- Force size based on record type
- if record.Type == vtByte then
- displayValue = string.format("%02X", value & 0xFF)
- elseif record.Type == vtWord then
- displayValue = string.format("%04X", value & 0xFFFF)
- elseif record.Type == vtDword then
- displayValue = string.format("%08X", value & 0xFFFFFFFF)
- elseif record.Type == vtQword then
- displayValue = string.format("%016X", value)
- else
- -- Default fallback
- displayValue = string.format("%X", value)
- end
- end
- print(string.format(
- "%s",
- tostring(displayValue)
- ))
- end
- end
- getMemoryRecordByID(memrec.ID).Active = false
- [DISABLE]
- {$asm}
- </AssemblerScript>
- </CheatEntry>
- </CheatEntries>
- </CheatTable>
Advertisement
Add Comment
Please, Sign In to add comment