![](https://gameguardian.net/forum/static/set_resources_41/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
Count_Nosferatu
Ascended-
Posts
97 -
Joined
-
Last visited
-
Days Won
7
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Count_Nosferatu
-
OK. Do you still need a script?
-
Which of the three libraries are you shifting from? There are three of them. I showed it to you. From the start address or from the end address?
-
Which of these libraries do you mean? From the beginning or from end of the library? For what architecture? x32 or x64? print(gg.getRangesList('libRealRacing3.so*')) End of script: { -- table(acc9e80) [1] = { -- table(86aacb9) ['end'] = 87629824, ['internalName'] = '/data/app/com.ea.games.r3_row-2/lib/arm/libRealRacing3.so', ['name'] = '/data/app/com.ea.games.r3_row-2/lib/arm/libRealRacing3.so', ['start'] = 67108864, ['state'] = 'Xa', ['type'] = 'r--p', }, [2] = { -- table(62218fe) ['end'] = 88342528, ['internalName'] = '/data/app/com.ea.games.r3_row-2/lib/arm/libRealRacing3.so', ['name'] = '/data/app/com.ea.games.r3_row-2/lib/arm/libRealRacing3.so', ['start'] = 87629824, ['state'] = 'Cd', ['type'] = 'r--p', }, [3] = { -- table(296385f) ['end'] = 88399872, ['internalName'] = '/data/app/com.ea.games.r3_row-2/lib/arm/libRealRacing3.so', ['name'] = '/data/app/com.ea.games.r3_row-2/lib/arm/libRealRacing3.so', ['start'] = 88342528, ['state'] = 'Cd', ['type'] = 'rw-p', }, [4] = { -- table(79d22ac) ['end'] = 88563712, ['internalName'] = '/data/app/com.ea.games.r3_row-2/lib/arm/libRealRacing3.so:bss', ['name'] = '', ['start'] = 88399872, ['state'] = 'Cb', ['type'] = 'rw-p', }, }
-
One video or one website will not teach you how to write in LUA. In any Internet search engine, look for "lua reference manual" and "lua example" LUA commands added only to GG, are described in: https://gameguardian.net/help/index.html Ask specific questions here, or via PM. Good luck!
- 1 reply
-
1
-
Of course I saw your comment, I just gave a little more information.
-
WORD, DWORD, QWORD is hexadecimal number representation format. WORD - 2 bytes long, (max 65 535) DWORD - 4 bytes, (max 4 294 967 295) QWORD - 8 bytes, (max 18 446 744 073 709 551 615) On your screenshot first address xx8C, second address xx8E From xx8C to xx8E - 2 bytes. It's format WORD If you use next two bytes, this will be format DWORD. Number 3198 looks same in WORD and DWORD formats. (0x0C7E or 0x00000C7E) You can write in cell xx8C, number in format DWORD But if you write number in QWORD format, you will change the following data. This can lead to problems in game.
-
Command gg.clearResults() must be executed before, not after search.
-
You need to understand that a script is automated execution of certain actions, for example: find such and such a number, divide by 10, write there, repeat 6 times, etc... What needs to be done in a specific game, you need to ask in another thread. Read LUA documentation Read GameGuardian documentation Sckips examples: First thread Second thread
-
Or with endless loop. gg.clearResults() gg.setVisible(false) local a,b,c,d,e gg.setRanges(gg.REGION_ANONYMOUS) function inp(a,e) ::retr:: out =gg.prompt( {e}, {[1] = a}, {[1] = 'number'} ) if out == nil then goto retr end b = tonumber(out[1]) return(b) end inp(0, 'Enter Your Number') gg.searchNumber(b, gg.TYPE_DWORD, true, gg.SIGN_EQUAL, 0, -1, 0) c = gg.getResults(1) while true do d = gg.getValues({{address = c[1].address, flags = gg.TYPE_DWORD}})[1].value if d ~= b then inp(d, 'Refine Your Number') gg.setValues({{address = c[1].address, flags=gg.TYPE_DWORD, value = b}}) end end
-
Check examples in gg.addListItems
-
Thanks for the advice, but dealing with decompiled programs is not my thing. It's easier for me to look at errors when running scripts. gg.internal1(1122) results like execute gg.searchNumber(':1122',, gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1, 0) gg.internal1(0xFFFF) results like execute gg.searchNumber(':65536',, gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1, 0) gg.internal1('qwerty') results like execute gg.searchNumber(':qwerty',, gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1, 0) gg.internal1(qwerty)) Error ..` bad argument #1: nil: string expected, got nil (field 'internal1') .. gg.internal2() Error... bad argument #1 to 'gg.internal2' (no value: closure expected, got nil) (field 'internal2') ... gg.internal2(100) Error... bad argument #1 to 'gg.internal2' (number: closure expected, got number) (field 'internal2') ... gg.internal2(nil) Error... bad argument #1 to 'gg.internal2' (nil: closure expected, got nil) (field 'internal2') ... gg.internal3(true) Error... bad argument #1: boolean: int expected, got boolean (field 'internal3') ... gg.internal2('qwerty') Error... bad argument #1 to 'gg.internal2' (string: closure expected, got string) (field 'internal2') ...
-
Can be used gg.searchPointer()
-
Ok, what about "gg.internai1" & "gg.internai2" ?
-
I think this is a check of argument type, if it integer is true, if not then an error. print(gg.internal3(0)) --> true print(gg.internal3(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)) --> true print(gg.internal3(2023)) --> true print(gg.internal3(Zanzibar)) --> Error --> .. --> `print(gg.internal3(Zanzibar))` --> bad argument #1: nil: int expected, got nil (field 'internal3') --> ..
-
-- <your_address> -- <your_type> like gg.TYPE_DWORD, gg.TYPE_FLOAT ... -- <your_search_number> like "10" or "10;10;10;10::16" .. local A,b,l .. A = gg.getValues({{address = <your_address>, flags = <your_type>}})[1].value .. gg.searchNumber(<your_search_number>, <your_type>) b = gg.getResults(1) gg.setValues({{address = b[1].address, flags = <your_type>, value = A}}) ..
-
Can someone send a function to replace a offset to false?
Count_Nosferatu replied to douglaspo's question in Help
I think offset value cannot be a boolean type (false/true) It's number (0xFFFF or 11111) But you can change the value if something false/true -
For oldfags, like me -> Britannica
-
local sel = gg.choice({'Select A\n for 1', 'Select B\n for 2'}, nil, 'Choose what you want:') if sel == nil then os.exit() end if sel == 1 then gg.toast('You choosed 1 (A)') -- Your code for A variant end if sel == 2 then gg.toast('You choosed 2 (B)') -- Your code for B variant end
-
He is trying to perform an action with <dragostand[1]> And it <dragostand> is 'number'
-
Quote from https://www.lua.org/manual/5.1/manual.html Small change to a line from documentation local configFile = gg.getFile()..'.cfg' -- local var = assert(loadfile("directory"))() local var = assert(loadfile(configFile), ' CONFIG FILE NOT FOUND !!! :-( ')() If .cfg file does'nt exist, we will receive an error message: Script ended: Script error: luaj.o: /storage/emulated/0/....../test-assert.lua:5 `local var = assert(loadfile(configFile), ' CONFIG FILE NOT FOUND !!! ')()` CONFIG FILE NOT FOUND !!! (global 'assert') ..blah.. blah.. blah.. An example script looks like: Examples of Lua scripts (#1lj25n68)
-
RR3 v12.0.1 Reset bonus price (VP)
Count_Nosferatu commented on Count_Nosferatu's file in LUA scripts
-
RR3 v12.0.1 Reset bonus price (VP)
Count_Nosferatu replied to Count_Nosferatu's topic in LUA scripts
Hmmm... I tested in emulator and Android 10 with VirtualXposed only. Android 13 not tested, since I don't have it. -
RR3 v12.0.1 Reset bonus price (VP)
Count_Nosferatu replied to Count_Nosferatu's topic in LUA scripts
I tried running script 10 times, reloading game, rebooting device, it always works. Try reloading game and running script again. -
RR3 v12.0.1 Reset bonus price (VP)
Count_Nosferatu replied to Count_Nosferatu's topic in LUA scripts
If there are any error messages, please send them. -