Hi,
The script, you provided contains several points.
In first piece of code, script searches for number "4321" three times in a row.
As a result, after tc = gg.getListItems(), you will have only one number, with one address,
because all three times only one number will be found and filtered out.
If you want to find number "4321" located in memory three times, search string would be:
gg.searchNumber("4321", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 3)
Read description of this command on website:
https://gameguardian.net/help/classgg.html#a14685d871e664a2f8ea74dc3293e428e
Why do you even use command gg.addListItems() & gg.getListItems() ?
In scripts it is needed only if you want to "freeze" some number.
Just create a table and process it.
In your script, definition "local t=" is used six times.
Correct programming style is to make definitions at beginning,
and indicating type of variable.
In your case:
local t = {}
local tc = {}
Local tb = {}
And so on.
And remove all words "local" from body of script.
Honestly, from your description and example code, I still don’t understand what you want to do.
Good luck!