Jump to content

Question

Posted (edited)

Help me,i want to know what the right command for this.

1) i search -3,219,128,320 Qword

2) Get about 4 results

3)The cheat will work if i edit 2 code 

   -the -3,219,128,320Q itself

   -and 1 adress inside the -3,219,128,320Q

4)The 1 adresses always be the same value never changed at all,even restart game.

20210309_223213.thumb.png.db6c165825f116fb7a3bc933972ec439.png

5)The 1 adresses is 512D;7.17464814e-43F;512Q

6)editing 7.17464814e-43F > 1,4160822e-46F and -3219128320 > -3146121216

Question?

What command is suitable for this issue ,I want only use Qword search without fuzzy search.

Edited by DrBesar1234566
better understand

13 answers to this question

Recommended Posts

  • 0
Posted (edited)
1 hour ago, DrBesar1234566 said:

Help me,i want to know what the right command for this.

1) i search -3,219,128,320 Qword

2) Get about 4 results

3)The cheat will work if i edit 2 code 

   -the -3,219,128,320Q itself

   -and 1 adress inside the -3,219,128,320Q

4)The 1 adresses always be the same value never changed at all,even restart game.

20210309_223213.thumb.png.db6c165825f116fb7a3bc933972ec439.png

5)The 1 adresses is 512D;7.17464814e-43F;512Q

6)editing 7.17464814e-43F > 1,4160822e-46F and -3219128320 > -3146121216

Question?

What command is suitable for this issue ,I want only use Qword search without fuzzy search.

This is offset.

When in goto click  on the 5th icon to the right looks like 2 squares over eachother and click the offset button it should convert the first address (the result you click goto on) to the address u want to edit make sure u have ur first address selected then the second address u want to edit.

it should give u numbers and letters put 0x infront of what u got and put it after the i[1].address + "put right here"

the flags is the data type u want to edit the offset at so if its qword then gg.TYPE_QWORD

the  x.value is what u want to edit the qword in 

reply if this works

--Delete these comments afterward and you cannot caculate offset without the given number from 2 addresses (first + value you want to edit)
gg.setRanges(gg.REGION_C_ALLOC)
gg.searchNumber("yourValue", gg.TYPE_QWORD)
i = gg.getResults(4)
local x  = {}
x = {}
x[1].address = i[1].address + "yourOffsetCode" --replace yourOffsetCode to the caculated number
x[1].flags = gg.TYPE_QWORD    --the  datatype u want to edit the number
x[1].value = "yourNumber"     --The value u want the data type to be
gg.toast('done')

--Credits to monkey san for helping me =)

 

Edited by Crystal_Mods100x
errors
  • 0
Posted (edited)

@Crystal_Mods100x

I'm sorry ,did you mean like this?

it didn't work

[added 2 minutes later]

@Crystal_Mods100x

btw lets skip

i found a template but i dont have the knowledge to rewrite it,and i think that the most fast excute code i've been using likely similar to this template,

i am wondering if you could rewrite it like a real working script

-- for more than 1 search results, more than 1 offset addresses , more than 1 data types.
function change(szpy, edit)                                                                        -- function for editing the values at offstes
for x = 1, #(edit) do                                                                              -- loop (#edit = 2)
 address = szpy + edit[x]["offset"]                                                                -- new address for editing

type1 = edit[x]["type"]                                                                             -- value type

value = edit[x]["value"]                                                                            -- edit value

 gg.setValues({[1] = {address = address, flags = type1, value = value}})                            -- setting the values
cnt = cnt + 1                                                                                        -- counting the number of values edited
end
end



function search(find)                                                                             -- function for search
gg.clearResults()
 gg.setRanges(find[1]["memory"])                                                                  -- memory range
gg.searchNumber(find[3]["value"], find[3]["type"])                                                -- search
gg.refineNumber(find[3]["value"], find[3]["type"])  
sz = gg.getResultCount()  
sl = gg.getResults(sz)                                                                          -- saving found results
cnt = 0
for i = 1, sz do                                                                                  -- loop using results count
pdsz = true                                                                                       -- save variable for getting nearby address value
for v = 4, #(find) do                                                                             -- loop using length of array 
if pdsz == true                                                                                   -- if true
then 
pysz = {}                                                                                         -- variable array to save value ranges at the offset
pysz[1] = {}                                                                                      -- first array
 pysz[1].address = sl[i].address + find[v]["offset"]                                              -- address will be address of first result + offset
pysz[1].flags = find[v]["type"]                                                                   -- flag will be flag as defined in table
szpy = gg.getValues(pysz)                                                                         -- get values for list of items pysz(see gg.getValues in gg api)
end 
end

szpy = sl[i].address                                                                             -- if true then new szpy will be the address of first result
change(szpy, edit)                                                                               -- calling the change function to edit the required values 
xgjg = true
end
if xgjg == true                                                                                   -- if true then success
then 
gg.alert(find[2]["name"] .. "Success, Modified " .. cnt .. " codes")                                -- toast success if editing is successful
else
gg.alert(find[2]["name"] .. "Failed")                                                              -- other wise toast failed using name
end   
end
 




while true do--(Start of cycle)
find = {                                                                                          -- values for search
{["memory"] = gg.REGION_ANONYMOUS},                                                                   -- memory range
{["name"] = "Using Offsets via Tables "},
{["value"] = 1, ["type"] = gg.TYPE_DWORD},                                                       -- value and type
{["offset"] = 12, ["type"] = gg.TYPE_DWORD},                                                      -- offset and type(you can write any offset value here and required type)
{["offset"] = 16, ["type"] = gg.TYPE_FLOAT},
--add more offsets if needed according to your required data type
}
edit = {                                                                                         -- values for edit at particular offset
{["value"] =999999, ["offset"] = 12, ["type"] = gg.TYPE_DWORD},
{["value"] = 1000000, ["offset"] = 16, ["type"] = gg.TYPE_FLOAT},
--add edit value for the offsets you added in the table for find.
}

search(find)                                                                                      -- calling search fuunction from line 35 using given values
 break                                                                             
 end
 gg.alert('Done')
 gg.clearResults()
  

 

learning.lua

Edited by DrBesar1234566
idk
  • 0
Posted

i didn't mean that but idk if thats offset if it is then i posted a more simpler code than that

i reccomend you use the first one all you have to do in the code is add your hex number 

to get the hex number you need to select the 2 values (the one you clicked goto address on  and the one your editing)
there is this icon that looks like 2 squares overlapping each other click that then click offset 

i will screen record a video and post it here in a few to show you an example.

  • 0
Posted (edited)

i didn't mean that but idk if thats offset if it is then i posted a more simpler code than that

you should use the first one i provided you

i will screen record a video and post it here in a few to show you an example.

Here is the recording link from streamable: https://streamable.com/m45ln3

(the video has an error in it dont choose copy memory choose the button i choose and click offset)

here is the script as well i wrote it with what you were explaining

so i got 8 what ever number you got add 0x infront of it and if the value is above your first address change the plus sign into minus if its below then use plus i also provided a test script for you watch the video and it should work.

it cannot execute without something to add it to after the so[1].address + 

example: so[1].address + 0x70

you need: so[1].address + "yourHex"

please reply if you need anything of understanding or help

tst.lua

Edited by Crystal_Mods100x
error
  • 0
Posted
i = gg.getResults(4) 

this take 4 results from the search.

x[1].address = i[1].address + "yourOffsetCode"

but call only the 1st out the 4 results for offset editing.

 

  • 0
Posted

- first do the search of your value normally.

- if it give many results then you have to refine it.

if it always in the same address then you may refine to address to get to the value.

- if not...you may have to make a group search of it and then refine to your value.

  • 0
Posted

you can use this as group search.

20210316_234116.thumb.jpg.90de43b63c8580d2e5b42c5ff7b0d221.jpg

= 1.0F;512;4.0F::13,gg.TYPE_DWORD/gg.TYPE_QWORD

only if the value above(1.0F) and below(4.0F) stay the same all the time.

refine to 512 then edit the Float

gg.searchNumber("1.0F;512;4.0F::13",4)--4 is gg.TYPE_DWORD
gg.refineNumber("512")
local t = gg.getResults(1)

for i,v in pairs(t) do
    if v.value == 512 then
    v.flags = 16--Float
    v.value = 14160822e-46F
  end
end
gg.setValues(t)
gg.clearResults()
gg.toast("Done")
end

hope this will help.

  • 0
Posted

same if you want to use this value

= 3,219,128,320 Qword

for edit and then using offset to edit the 2nd value.

--search and refine
gg.searchNumber("3,219,128,320", 32)--32 is gg.TYPE_QWORD
--single value search
gg.refineAddress("address here",-1)
--if too many results and the address stay the same.
--better the same last 4 digit of the address but last 2 still ok.
local p = gg.getResults(1)

-- edit the 1st value
local t = {}
t[1] = {}
t[1].address = p[1].address
t[1].flags = 32
t[1].value = -3,146,121,216
gg.setValues(t)
--edit 2nd value(offset)
t[1].address = p[1].address - 0x30
t[1].flags = 16
t[1].value = 1,4160822e-46
gg.setValues(t)

gg.clearResults()
gg.toast("Done")
end

 

  • 0
Posted (edited)

also base on the video above..im was able to make up a group search like this

gg.searchNumber("512;2.5F::50",4)
--512 is your 2nd value in Dword
--2.5F is your 1st value(Qword) in Float
local p = gg.getResults(2)

local t = {}
t[1] = {}
t[1].address = p[1].address
--512 address
t[1].flags = 16--edit the Float
t[1].value = 14160822e-46
gg.setValues(t)
t[1].address = p[2].address
--2.5F address
t[1].flags = 32--edit the Qword
t[1].value = -3146121216
gg.setValues(t)

gg.clearResults()
gg.toast("Done")
end

but i not know for sure if all above will work because i cannot test it.

i cant install the game on my device somehow.

Edited by MonkeySAN
  • 0
Posted
43 minutes ago, MonkeySAN said:

same if you want to use this value

= -3,219,128,320 Qword

for edit and then using offset to edit the 2nd value.


--search and refine
gg.searchNumber("-3,219,128,320", 32)--32 is gg.TYPE_QWORD
--single value search
gg.refineAddress("address here",-1)
--if too many results and the address stay the same.
--better the same last 4 digit of the address but last 2 still ok.
local p = gg.getResults(1)

-- edit the 1st value
local t = {}
t[1] = {}
t[1].address = p[1].address
t[1].flags = 32
t[1].value = -3,146,121,216
gg.setValues(t)
--edit 2nd value(offset)
t[1].address = p[1].address - 0x30
t[1].flags = 16
t[1].value = 1,4160822e-46
gg.setValues(t)

gg.clearResults()
gg.toast("Done")
end

 

correction =  -3,219,128,320 Qword

  • 0
Posted (edited)

ohh i see,Thx MonkeySan and CrystalMod

i really appreciate your help,now i understand what is offset and how to write them in simple script,thx so much for the scripting example and the videos.

btw, the -3,219,128,320 Qword will get about 1-10 results.In the video above,i already remove the unwanted value and using only 1 code as example for the video.

I knew i could use the group search as MonkeySan provided and there was a another easy example one, that goes like this >

gg.searchNumber("7,1746481e-50F;-3219128320Q:512",gg.TYPE_AUTO,false,gg.SIGN_FUZZY_EQUAL,0,-1)
gg.getResults(850)
gg.editAll("1,4160822e-46",gg.POINTER_WRITABLE)
gg.editAll("-3146121216",gg.TYPE_QWORD)

but I know there must a be method for a faster editing multiple adress with the same search value,and use the offset in the script.

I want to learn that knowledge ,bcuz in the game i am playing,the faster the code the better it be ^w^,Btw i really appreciate the example that have been provided,i might use it for another function cheat in the game.Thx so much.

Let me describe how totally the cheat will work.

1)it is an xray code,after edit the values,i can see enemy bodies through wall

2)i get the code -3219128320 qword by tracking another fast script.Results will be under 10 values.

3)I have studied what is the working code,that is 

-all -3219128320 qword founded

-1 another adress inside only 2 code/address/value from the results founded

-the 1 another adress are not same inside the 2 values

-512D ; 7,1746481e-50F ; 512Q

-512D ; 7,1746481e-50F ; -4,294,966,784Q

4)Edit all -3219128320 from the results

5)edit 7,1746481e-50F ; 512Q from only 1 in the results

6)edit 7,1746481e-50F ; -4,294,966,784Q from only 1 in the results

7)both offset are same which is 30

8)gg.toast('done')

 

 

Edited by DrBesar1234566
  • 0
Posted (edited)

Btw i know it hard to understand,

however,i finally founded the working template,and i have tested and it working.

Thx so much for the offset example that has been taught,

I am using new search code for the template and the code also i tracked from another fast script ^w^.The script using offset and i could conclude that it is easier that i ever thought.But without the offset knowledge i might not understand how it working.

function BRAY()
qmnb = {
{["memory"] = gg.REGION_C_ALLOC},
{["name"] = "MENU"},
{["value"] = 1017159841, ["type"] = gg.TYPE_DWORD},
{["lv"] = 1075838976, ["offset"] = 0x44, ["type"] = gg.TYPE_DWORD},
{["lv"] = 512, ["offset"] = 0x14, ["type"] = gg.TYPE_DWORD},
}
qmxg = {
{["value"] = 1010550, ["offset"] = 0x14, ["type"] = gg.TYPE_DWORD},
{["value"] = -3146121216, ["offset"] = 0x44, ["type"] = gg.TYPE_QWORD},
}
xqmnb(qmnb)
end

I used the 'another adress' with dword type bcuz the edit code is same which is 1010550.

 

and the  -3219128320 qword must be edit.and it become 1075838976 dword in the template..by the template i can edit it using a qword type which is -3146121216.

finally i learned it,and it template.Thx so much,

i am wondering if someone could write an scirpt example from the template if i want to gg.addListItems the valued edited at offset 44 and 14.

 

here is the script i tested

XRAYHAHAHA.lua

Edited by DrBesar1234566

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.