


It'll ask for a file to save the memory to, the address of the memory to copy and the size. Print(("Warning: incorrect read, filesize is 0x%X but read 0x%X"):format(size, read)) Print(("Loaded 0x%X bytes into %x"):format(read,mem)) Local read = readRegionFromFile(FileName, mem) If not mem then print('Failed to allocate memory') return end Local size = file:seek("end") - get file size If not file then print("Failed to open file") return end

Print(("Warning: Write was incomplete! Asked for 0x%X wrote 0x%X."):format(size, written)) Local written = writeRegionToFile(FileName, addr, size) If not size then print('canceling') return end Local size = tonumber(inputQuery('size','size',''),16) If not addr then print('canceling') return end Local addr = getAddressSafe(inputQuery('Address','Address','')) Od.InitialDir = os.getenv("userprofile"). If you do need to restart the game here's a quick script example I tested in the lua engine window: Limitations: you can't close the game (or the saved values disappear) and you, probably, can't do multiple addresses at the same time (unless you want to keep only the values that never change across all of them). right click in the bottom and "Filter out different element(s)" change the locked address to the Shadowcopy address (right click again to see it)ĥ. right click one of them and lock it (causing CE to copy the memory elsewhere)ģ. If you don't need to restart the game you can grab the structure dissect filter lua extension by predprey here then in the structure dissect window you canĢ.
