Jump to content

Count_Nosferatu

Ascended
  • Posts

    111
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Count_Nosferatu

  1. Count_Nosferatu

    Help!!

    Official version of BlueStacks does not have root permission. You need to look for a special version with root access. NOX, MEMU, LDPlayer has a root settings.
  2. Count_Nosferatu

    Help!!

    You didn't ask about installing GG on a smartphone
  3. Count_Nosferatu

    Help!!

    Read this forum. the successful combination of your Emulator and virtual space APK (#1882nrfi)
  4. Each file has a permission: read, write, executable. Each folder has permission: read, write, and to view its content. This is for owner of file and for group owner belongs to. You won't be able to change this using GG. Standard lua function os.execute(command), blocked for security reasons.
  5. After executing your script, what does file */game_status.bin contain ?
  6. GG requires root rights to work. This can be done by running a virtual machine, or rooting your smartphone or tablet. In emulator, set root in settings. There is no need to install virtual machine in emulator.
  7. I don't understand why, when the emulators have root in their settings, you are trying to install virtual machines in them? Please explain.
  8. Perhaps You can't explain what You want. An old programmer's joke: "To ask a question correctly, you need to know more than half answer!"
  9. Long tap on desired address, and select "Search Pointer" Or use in script gg.searchPointer() https://gameguardian.net/help/classgg.html#a5eef9aac9f02932a4c67a184edec2bd4
  10. The value of one byte can be from 0 to 255 decimal numbers. (0x00 - 0xFF) If the decimal number is greater than 255, then it is already two or more bytes. 256 - 0x01 & 0x00 257 - 0x01 & 0x01 999 - 0x03 & 0xE7
  11. Instead of the last line in your script, write: local r = getListItems() gg.clearList() local t for i = 1, #r do t = gg.getValues({{address = r[i].address, flags = gg.TYPE_DWORD}})[1].value if t ~= 670 then return else break end end print(r[i].value) print(r[i].address) Then do whatever you want.
  12. Hi Guys. Open the script with any text editor, the comments say what needs to be done for new versions of the game. Specifically for version 12.6.1 you need to change: local Events = { -- For RR3 v12.5 'HUAYRA ROYALE (Flashback) - August 20, 2024', 'Ferrari 296 GTB TTC - August 26, 2024', "F1 PIRELLI GP D'ITALIA 2024 (Race Day) - August 27, 2024", 'TRACK DAY: MONZA SP1 (Flashback) - September 1, 2024', 'Acura NSX GT3 LTS - September 6, 2024', 'GT3 Challenge TTC - September 10, 2024', 'Jaguar C-X75 R3 Spec LTS - September 11, 2024', 'F1 SINGAPORE GP 2024 (Race Day) - September 16, 2024', } local Date = { -- For RR3 v12.6 '2024082000', '2024082600', '2024082700', '2024090100', '2024090600', '2024091000', '2024091100', '2024091600', }
  13. I think the problem is not in the search, but in the memory overflow after execution gg.loadResults(results)
  14. For example, look at this part of the code, here you can see the main difference between x32 and x64 local f = {} local f1 = 0 local f2 = 0 local f3 = 0 local b = 0 local d2 = '2;h08;h32;h30;h30;h39::' local d6 = '6;h08;h32;h30;h31;h30::' local d7 = '7;h08;h32;h30;h31;h33::' local bytes = 9 gg.setRanges(gg.REGION_ANONYMOUS) if gg.getTargetInfo().x64 then bytes = 13 gg.setRanges(gg.REGION_C_ALLOC | gg.REGION_OTHER) end gg.searchNumber(d2 ..bytes, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 1) f = gg.getResults(1) f1 = f[1].address gg.toast('\nFound data for item #2') gg.clearResults() gg.searchNumber(d6 ..bytes, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 1) f = gg.getResults(1) f2 = f[1].address gg.toast('\nFound data for item #6') gg.clearResults() gg.searchNumber(d7 ..bytes, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 1) f = gg.getResults(1) f3 = f[1].address gg.toast('\nFound data for item #7') gg.clearResults() if gg.getTargetInfo().x64 then gg.searchNumber(f1 ..';' ..f2 ..';' ..f3 ..'::24', gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1, 1) b = gg.getResultCount() if b == 3 then gg.refineNumber(f1, gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1, 0) b = gg.getResultCount() f = gg.getResults(1) end else gg.searchNumber(f1 ..';' ..f2 ..';' ..f3 ..'::12', gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 1) b = gg.getResultCount() if b == 3 then gg.refineNumber(f1, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) b = gg.getResultCount() f = gg.getResults(1) end end gg.alert('Found first address of items table')
  15. My grandfather used to say: "Everything is new, this is long forgotten old."
  16. Pointer is jump address. For 32bit programs, address is 4 bytes DWORD. For 64bit programs, address is 8 bytes QWORD
  17. Count_Nosferatu

    Game lib

    I think that the problem has not yet been solved. It is not clear which range should be used. The script finds many ranges with ['type'] = 'rw-p' t = gg.getRangesList('com.ea.games.r3_row*base.apk') for i = 1, #t do if t[i]['type'] == 'rw-p' then print(t[i]) end end script-output.txt
  18. Count_Nosferatu

    Game lib

    Script ended: Script error: luaj.o: /storage/emulated/0/Pictures/Scripts/pointerTest.lua:67 ` if ((a[1].address > v["start"]) and (a[1].address < v["end"])) then` attempt to index ? (a nil value) with key 'address' (field '1')
  19. Count_Nosferatu

    Game lib

    Doesn't really work. It is not clear which of base apk to count from. gg.setRanges(gg.REGION_CODE_APP) t = gg.getRangesList('^/data/*com.ea.games.r3_row*base.apk*$') print('Found ' ..#t ..' results') a = 0 for i = 1, #t do if t[i]['type'] == 'rw-p' then print(t[i]) a = a + 1 end end print('Found ' ..a ..' rw-p results') -- -> Script ended: Found 37 results { -- table(5d5648b) ['end'] = 133868052664320, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868052647936, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(f005968) ['end'] = 133868054269952, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868054241280, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(cd3f181) ['end'] = 133868055478272, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868055474176, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(4995226) ['end'] = 133868055621632, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868055617536, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(bb3be67) ['end'] = 133868057997312, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868057923584, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(a35a414) ['end'] = 133868058820608, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868058816512, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(c4d24bd) ['end'] = 133868059889664, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868059885568, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(5386ab2) ['end'] = 133868116672512, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868116594688, ['state'] = 'O', ['type'] = 'rw-p', } Found 8 rw-p results
  20. Count_Nosferatu

    Game lib

    Tablet Android 10 x64 with VirtualXposed, script returned this: Script ended: { -- table(8e7fafb) [1] = { -- table(2608718) ['arch'] = 'AArch64', ['end'] = 522830204928, ['internalName'] = '/data/data/io.va.exposed/virtual/data/app/com.ea.games.r3_row/base.apk', ['name'] = '/data/data/io.va.exposed/virtual/data/app/com.ea.games.r3_row/base.apk', ['start'] = 522830127104, ['state'] = 'O', ['type'] = 'rw-p', }, } It's normal ? print(gg.getTargetInfo()) --> --- ['nativeLibraryDir'] = '/data/user/0/io.va.exposed/virtual/data/app/com.ea.games.r3_row/lib', ---
  21. View File RR3 All version. Unlocks events in current ROUND. Unlocks events in current ROUND, which have not yet begun. Automatically changes rows count in gg.choice(), depending on the current date. Open source Submitter Count_Nosferatu Submitted 01/16/2024 Category LUA scripts  
  22. Version 1.0.0

    285 downloads

    Unlocks events in current ROUND, which have not yet begun. Automatically changes rows count in gg.choice(), depending on the current date. Open source
  23. Possible version of your script. Search is done once when script starts. Then it goes into invisible mode and waits for GG icon to be pressed. Until you select “Exit”, all found data in tables will be saved. gg.isVisible(false) gg.clearResults() gg.clearList() -------------Flying cost-------------------- gg.searchNumber( "-8.0004e10",gg.TYPE_FLOAT) -- Why do a refining if you don’t have a group search? gg.refineNumber(' -8.0004e10',gg.TYPE_FLOAT) Fly = gg.getResults(gg.getResultsCount()) gg.clearResults() -------------Energy cost-------------------- gg.searchNumber('55;53', gg.TYPE_FLOAT) -- Refining is needed here. gg.refineNumber('53', gg.TYPE_FLOAT) Energy = gg.getResults(gg.getResultsCount()) gg.clearResults() -------------Water cost-------------------- gg.searchNumber("7018090782024269824",gg.TTYPE_QWORD) -- Why do a refining if you don’t have a group search? gg.refineNumber("7018090782024269824",gg.TTYPE_QWORD) Water = gg.getResults(gg.getResultsCount()) gg.clearResults() ::retr1:: choices = gg.choice({'Engery cost', 'Water cost', 'Exit'}, 0, '\tSelect item cost:\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯') if choices == 1 then for i = 1, #Water do gg.setValues({{ address = Water[i].address, flags = gg.TTYPE_QWORD, value = 7018090361117474816 }}) end for i = 1, #Energy do gg.setValues({{ address = Energy[i].address, flags = gg.TYPE_FLOAT, value = 25 }}) end for i = 1, #Fly do gg.setValues({{ address = Fly[i].address, flags = gg.TYPE_FLOAT, value = 0 }}) end gg.toast('Engery cost') end if choices == 2 then for i = 1, #Fly do gg.setValues({{ address = Fly[i].address, flags = gg.TYPE_FLOAT, value = -8.0004e10 }}) end for i = 1, #Energy do gg.setValues({{ address = Energy[i].address, flags = gg.TYPE_FLOAT, value = 53 }}) end for i = 1, #Water do gg.setValues({{ address = Water[i].address, flags = gg.TTYPE_QWORD, value = 7018090782024269824 }}) end gg.toast('Water cost') end if choices == nil or choices == 3 then gg.setVisible(true) os.exit() end while not gg.isVisible() do gg.sleep(100) end gg.setVisible(false) goto retr1 os.exit()
  24. local resultnumber = {1} print(resultnumber) --> { -- table(d2fd880) --> [1] = 1, --> }
×
×
  • 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.