- -1
Finding and changing the field offset using the Guardian game script
-
Similar Content
-
- 15 answers
- 3,802 views
-
- 2 comments
- 47,017 views
-
Find offset
By trafo,
- 9 answers
- 5,664 views
-
- 0 replies
- 5,486 views
-
- 3 answers
- 2,617 views
-
Question
Trews27
Hi. I already know how to do this, but there was a problem with one game. With Feild offset finder everything is found and easily changed, but the script does not find anything. Class: ActorCameraController. Fields: public struct ActorCameraController.State Outside; // 0x60. function metaDataOffsets(). I tried to write the field name in different ways, nothing helps. Maybe there is a way to search without the field name?
function metaDataOffsets()
startAddressDat = 0
endAddressDat = 0
local rangesDat = gg.getRangesList("global-metadata.dat")
for i, v in ipairs(rangesDat) do
if v.state == "O" then
startAddressDat = v.start
endAddressDat = rangesDat[i]["end"]
break
end
end
end
metaDataOffsets()
function stringNames()
Class_ActorCameraController = "h004163746f7243616d657261436f6e74726f6c6c657200"
end
stringNames()
function searchString(className)
gg.clearResults()
gg.searchNumber(className, gg.TYPE_BYTE, nil, nil, startAddressDat, endAddressDat)
gg.searchPointer(0)
local a = gg.getResults(5)
for i, v in ipairs(a) do
v.address = v.address - classOffset
end
gg.loadResults(a)
end
function isProcess64Bit()
local regions = gg.getRangesList()
local lastAddress = regions[#regions]["end"]
return (lastAddress >> 32) ~= 0
end
function validISA()
instructionSetArchitecture = 0
if isProcess64Bit() == true then
instructionSetArchitecture = 64
else
instructionSetArchitecture = 32
end
return instructionSetArchitecture
end
validISA()
function instructionsOffset()
if instructionSetArchitecture == 32 then
hexConvert = 0xFFFFFFFF
dataType = 4
classOffset = 0x8
else
dataType = 32
classOffset = 0x10
end
end
instructionsOffset()
function offset_actorCameraController()
if instructionSetArchitecture == 32 then
else
offset_Outside = 0x60
end
end
offset_actorCameraController()
function ActorCameraController()
gg.clearResults()
searchString(Class_ActorCameraController)
gg.searchPointer(0)
local instances_ActorCameraController = gg.getResults(gg.getResultsCount())
gg.clearResults()
local ActorCameraController_Outside = {}
for i, v in ipairs(instances_ActorCameraController) do
ActorCameraController_Outside[i] = {address = v.address + offset_Outside, flags = gg.TYPE_FLOAT}
end
gg.loadResults(ActorCameraController_Outside)
end
11 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now