Jump to content

Recommended Posts

Posted (edited)

Great job with your new feature `record script` devs. It would be awesome if you guys make it to recognize offset. It is great feature to auto because sometimes the value we need to chage is not a constant but nearby values is. @Enyby@d2dyno

Edited by RogerAngell2018
  • Moderators
Posted

Better would be the support of add search results to save list.  Change address location. And recall the save results back into the search. Maybe implement the record feature to work with this?

  • Administrators
Posted

A script entry can not record all of your actions in a portable form. Everything that can not be written in a general form is not recorded.
You can not record the offset, because it should be written in a general form, and so you can not do it.
You can not say - apply an offset to the 3 result of the search, because tomorrow it will not be the third search result. Even on your device or on another device.
If you save the memory address in the script, the script will become useless even after the game is restarted.

In general, writing a script is not intended to make a ready script, it is impossible by definition, but to provide some workpiece, for later manual editing.

Well, or for writing VERY simple scripts. Something like found a group search and replaced / frozen everything.
Not more difficult than this.

_______________________________________________
added 1 minute later

And what you are talking about (shifting) requires a fine and precise work. Cycles, a clear understanding of what is happening, and why.

Posted (edited)
58 minutes ago, Enyby said:

A script entry can not record all of your actions in a portable form. Everything that can not be written in a general form is not recorded.
You can not record the offset, because it should be written in a general form, and so you can not do it.
You can not say - apply an offset to the 3 result of the search, because tomorrow it will not be the third search result. Even on your device or on another device.
If you save the memory address in the script, the script will become useless even after the game is restarted.

In general, writing a script is not intended to make a ready script, it is impossible by definition, but to provide some workpiece, for later manual editing.

Well, or for writing VERY simple scripts. Something like found a group search and replaced / frozen everything.
Not more difficult than this.

_______________________________________________
added 1 minute later

And what you are talking about (shifting) requires a fine and precise work. Cycles, a clear understanding of what is happening, and why.

I know, but im talking of a really nearby address, so the offset is always same.. For exemple, search `x` value and the value that I need to edit is always in [Address(x) -5C]. Even if I restart my game, phone, etc.

Edited by RogerAngell2018
  • Administrators
Posted

This can not be formalized.
The application can not read minds.
Therefore, you can not do this automatically. Learn programming, API and write manually. All good things are always done by hand.

  • Moderators
Posted
3 hours ago, Enyby said:

A script entry can not record all of your actions in a portable form. Everything that can not be written in a general form is not recorded.
You can not record the offset, because it should be written in a general form, and so you can not do it.
You can not say - apply an offset to the 3 result of the search, because tomorrow it will not be the third search result. Even on your device or on another device.
If you save the memory address in the script, the script will become useless even after the game is restarted.

In general, writing a script is not intended to make a ready script, it is impossible by definition, but to provide some workpiece, for later manual editing.

Well, or for writing VERY simple scripts. Something like found a group search and replaced / frozen everything.
Not more difficult than this.

_______________________________________________
added 1 minute later

And what you are talking about (shifting) requires a fine and precise work. Cycles, a clear understanding of what is happening, and why.

I'm not referring to value x out of a series of results, I'm talking all results, shift y distance. Now use these new location as the values you search and edit.

  • Administrators
Posted

Get results into table. loop over table with change address and value. Set values from this table.

In any case all possibility ca not be handled via record. If you need complicated actions you need write script manually.

  • 6 months later...
Posted
On 9/20/2018 at 10:19 AM, Enyby said:

This can not be formalized.
The application can not read minds.
Therefore, you can not do this automatically. Learn programming, API and write manually. All good things are always done by hand.

I didn't find the offset in the API

Posted
11 minutes ago, Enyby said:

Try using a brain. Offset is the difference between addresses.

I know this, I want to know if I can provide a calculation method, or do I have to look for it in lua?

  • Administrators
Posted

Subtracting (or adding) two numbers, what could be easier? But you can search for detailed manuals on how to add two numbers in Lua.

  • 2 years later...
Posted

Idk where to ask, but that is what i would like to have added, this would be great for faster value searching like in cpp mod menus, for an example i search 2 Float and then an offset of 4 values underneeth it is an aim assist value of 15 Float, Now game guardian is checking 4 values underneeth the 2 Float if the value is 15,  it is gonna edit this value. This is faster then group search (2F;15F:50), i came to this idea because i saw this is how the cpp mod menus value editing works on an youtube video 

At Time 10:30

 

 

Posted
On 1/4/2022 at 5:34 PM, Johnny50 said:

for an example i search 2 Float and then an offset of 4 values underneeth it is an aim assist value of 15 Float

Current capabilities of GG are more than enough to find values that meet this condition. There are 2 main approaches for this case:
  - ordered group search with "placeholder" values;
  - searching for target value and checking whether found results meet the condition(s) (like whether value at offset X is equal to Y).

So the task is to find all float values equal to 15.0 for which float value at offset -16 (-0x10) is equal to 2.0.

With the first approach the code may be next: 

gg.clearResults()
gg.searchNumber("2.0F;0D~~0D;0D~~0D;0~~0D;15.0F::17")
gg.refineNumber("15.0", gg.TYPE_FLOAT)

And the second approach can be implemented, for example, like this: 

gg.clearResults()
gg.searchNumber("15.0", gg.TYPE_FLOAT)
local results = gg.getResults(gg.getResultsCount())
local checkValues = {}
for i, v in ipairs(results) do
  checkValues[i] = {address = v.address - 0x10, flags = gg.TYPE_FLOAT}
end
checkValues = gg.getValues(checkValues)
for i, v in ipairs(checkValues) do
  if v.value ~= 2.0 then -- exact comparison of float values should be avoided in general, but for particular case of value "2.0" it will work
    results[i] = nil
  end
end
gg.loadResults(results)

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.