есть код написанный на языке пилота для чтения памяти с офсетами
Код
proc readIntager %arr
set #sizeArr size(%arr)
set #adrVal 0
for #i 1 #sizeArr 1
set #address #adrVal + %arr[#i]
readmem #adrVal #address d
log #adrVal
end_for
set $result #adrVal
end_proc
set #gameAdr 0xC392CC
init_arr %targetOffsets #gameAdr 0x34 0xC88
call readIntager %targetOffsets
end_script
выдает он результат как надо:
7:10:37 AM 16 (, 7): 409636904
7:10:37 AM 16 (, 7): 434424376
7:10:38 AM 16 (, 7): 2194703172
переписал этот код на Lua:
Код
--lua
local readIntager = function (offsets)
local adrVal = 0
for i, offset in ipairs(offsets) do
adrVal = readmem(adrVal + offset, "d")
log(adrVal)
end
return adrVal
end
local gameAdr = 0xC392CC
local targetWID = readIntager({gameAdr, 0x34, 0xC88})
выдает:
7:14:57 AM 17 (autosaved_17.txt, 0): 409636904
7:14:57 AM 17 (autosaved_17.txt, 0): 434424376
7:14:57 AM 17 (autosaved_17.txt, 0): -1
т.е. первые 2 офсета читает норм, а с 3 проблема...
собственно вопрос: wtf?