Size: a a a

2020 May 24

A

Alex in pro.lua
Народ подскажите плиз, нужно в скрипте под GameGuardian из значения (id предмета)
получать его указатель

На arm системах работало идеально так:

function idToPointer(id)

local tmp = gg.getValues({{address = id,value=nil,flags=gg.TYPE_DWORD}})

return tmp[1].value
end

Где id - DWORD значение
источник

A

Alex in pro.lua
На arm64 системе он криво преобразовывает id в адресс и идет сбой
источник

A

Alex in pro.lua
источник

S

Snusmumriken in pro.lua
(наверное, проблема в gameguardian на ARM-системах)
(или тебе стоит сделать то же, что было в прошлый заход, когда была схожая фигня?)
источник

A

Alex in pro.lua
Не, там наоборот было, значение из адреса получать
источник

S

Snusmumriken in pro.lua
И что ты там таки сделал? : )
источник

A

Alex in pro.lua
function convertAddressToValue(pageInMemory,addressToConvert)
local a = gg.setValues({{address=pageInMemory,value=addressToConvert,flags=gg.TYPE_DWORD}})
local b = gg.getValues({{address=pageInMemory,value=nil,flags=gg.TYPE_DWORD}})
return b[1].value
end
источник

A

Alex in pro.lua
Выделяю адрес в памяти , присваиваю ему значение равное адресу, получаю значения, возвращаю получившееся значение
источник

A

Alex in pro.lua
Тут нормально стало работать и на arm, и на arm64 и на разных ведрах
источник

S

Snusmumriken in pro.lua
А теперь попробуй выделить адрес в памяти, и записать туда указатель предмета по ID какой-нибудь функцией "получить адрес по ID". Работаем с указателями через выделение в памяти кусочка.
источник

A

Alex in pro.lua
Щас попробую)
источник

A

Alex in pro.lua
Не
источник

A

Alex in pro.lua
На arm - ок
источник

A

Alex in pro.lua
На arm64 хрен
источник

A

Alex in pro.lua
источник

A

Alex in pro.lua
function convertValueToPointer(pageInMemory,valueToConvert)
local a = gg.setValues({{address=pageInMemory,value=idToPointer(valueToConvert),flags=gg.TYPE_DWORD}})
local b = gg.getValues({{address=pageInMemory,value=nil,flags=gg.TYPE_DWORD}})
return b[1].value
end
источник

A

Alex in pro.lua
Получается 0
источник

S

Snusmumriken in pro.lua
Жуть какая
источник

I

Igor725 in pro.lua
Alex
function convertValueToPointer(pageInMemory,valueToConvert)
local a = gg.setValues({{address=pageInMemory,value=idToPointer(valueToConvert),flags=gg.TYPE_DWORD}})
local b = gg.getValues({{address=pageInMemory,value=nil,flags=gg.TYPE_DWORD}})
return b[1].value
end
Я, конечно, не силён в API этого твоего GameGuardian'а, но что если на самом деле он правильно 0 возвращает?
источник

A

Alex in pro.lua
Неправильно
источник