Leaderboard
Popular Content
Showing content with the highest reputation on 02/12/2022 in all areas
-
The issue is in the code that needs to be repeated. When the code is executed for the first time, "value" fields of all sub-tables of the table ("x", for example) are set to "x[1].value", so that when the code is repeated and should set all values to second value, "x[2].value" is already modified to the value of "x[1].value", that's why each time the code is repeated, it sets all values to first value. To actually set all values of a table to value of different table element each time, make sure that there is a copy of values that doesn't get modified and in the code that gets repeated just use values from the copy to set "value" field of sub-tables. To make copy of values, construct a table in which indexes from original table (1, 2, 3, ...) are mapped to values of "value" field of corresponding sub-tables of the original table (x[1].value, x[2].value, x[3].value, ...), for example, like this: local xValues = {} for i, v in ipairs(x) do xValues[i] = v.value end Then use values of constructed table in inner loop of the code that gets repeated (slightly modified version of the loop from @TisNquyen's post above): for loop = 1, #x do for i = 1, #x do x[i].value = xValues[loop] y[i].value = yValues[loop] end gg.setValues(x) gg.setValues(y) gg.sleep(500) end2 points
-
gg.searchNumber('', gg.TYPE_FLOAT) gg.refineNumber('', gg.TYPE_FLOAT) local count = gg.getResultsCount() local results = gg.getResults(count) local _x, _y = {}, {} for i, v in ipairs(results) do _x[i] = {address = v.address + 0x44, flags = gg.TYPE_FLOAT} _y[i] = {address = v.address + 0x4C, flags = gg.TYPE_FLOAT} end _x, _y = gg.getValues(_x), gg.getValues(_y) local x, y = {} for i, v in ipairs(results) do if _x[i].value ~= '0' then table.insert(x, _x[i]) end if _y[i].value ~= '0' then table.insert(y, _y[i]) end end if #x ~= #y then return print "the results from x and y may not be the same!" end for loop = 1, #x do for i, v in ipairs(x) do x[i].value = x[loop].value y[i].value = y[loop].value end gg.setValues(x) gg.setValues(y) gg.sleep(500) end2 points
-
gg.searchNumber('', gg.TYPE_FLOAT) gg.refineNumber('', gg.TYPE_FLOAT) local count = gg.getResultsCount() local res = gg.getResults(count) local x, y = {}, {} local xChecker, yChecker = {}, {} --get values at offset 0x44 and 0x4c for i, v in ipairs(res) do xChecker[i] = {address=v.address+0x44, flags=gg.TYPE_FLOAT} yChecker[i] = {address=v.address+0x4c, flags=gg.TYPE_FLOAT} end xChecker, yChecker = gg.getValues(xChecker), gg.getValues(yChecker) --put addresses with value zero into table x and y for i, v in ipairs(xChecker) do if v.value==0 then x[#x+1] = xChecker[i] end if yChecker[i].value==0 then y[#y+1] = yChecker[i] end end --check if the result amount of x and y are equal if #x~=#y then return print('Ohh the results of x and y are not equal. check maually please') end --loop local total = #x+#y for loop=1, total/2 do for i, v in ipairs(x) do v.value=x[loop].value end gg.setValues(x) for i, v in ipairs(y) do v.value=y[loop].value end gg.setValues(y) gg.sleep(500) end i dont understand the loop part what you want to do.2 points
-
No, that's because all values of the table are explicitly set to value of first element when the following code is executed: for i = 1, #x do x[i].value = x[1].value end If, for example, "x" has 3 elements, the loop is then equivalent to: x[1].value = x[1].value -- value of first element is set to itself x[2].value = x[1].value -- value of second element is set to value of first element x[3].value = x[1].value -- value of third element is set to value of first element And then, when next loop is executed: for i = 1, #x do x[i].value = x[2].value end "x[2].value" no longer has it's original value, because new value (of "x[1].value") has been assigned to it during execution of previous loop. This is why only first loop works as intended and all subsequent ones don't. And this is why copy of values needs to be created before the first loop (to have access to original values after table values have been overwritten).1 point
-
working great. This is not what i thought i writhed and it was a bit hard to figure out with the print function as the values change each every sec. So x[i].value stays is equal to the element 1 as long it is in the "for loop" ? I thought it would grab all the values again at each loop and increment set equal to incremented index number. No, the behavior of values was not mentioned. But the values change based on coordinates of an object. So the values will never be the same. It's also why i use the sleep function. well, i only sended the relevant part of the script. But issue seems to be fixed now. can continue now.1 point
-
gg.searchNumber('', gg.TYPE_FLOAT) gg.refineNumber('', gg.TYPE_FLOAT) local count = gg.getResultsCount() local results = gg.getResults(count) local _x, _y = {}, {} for i, v in ipairs(results) do _x[i] = {address = v.address + 0x44, flags = gg.TYPE_FLOAT} _y[i] = {address = v.address + 0x4C, flags = gg.TYPE_FLOAT} end _x, _y = gg.getValues(_x), gg.getValues(_y) local x, y = {}, {} for i, v in ipairs(results) do if _x[i].value ~= '0' then table.insert(x, _x[i]) end if _y[i].value ~= '0' then table.insert(y, _y[i]) end end if #x ~= #y then return print "the results from x and y may not be the same!" end for loop = 1, #x do for i, v in ipairs(x) do x[i].value = x[loop].value y[i].value = y[loop].value end gg.setValues(x) gg.setValues(y) gg.sleep(500) end1 point
-
1 point
-
gg.searchNumber('', gg.TYPE_FLOAT) gg.refineNumber('', gg.TYPE_FLOAT) local count = gg.getResultsCount() local results = gg.getResults(count) local _x, _y = {}, {} for i, v in ipairs(results) do _x[i] = {address = v.address + 0x44, flags = gg.TYPE_FLOAT} _z[i] = {address = v.address + 0x4C, flags = gg.TYPE_FLOAT} end _x, _y = gg.getValues(_x), gg.getValues(_y) local x, y = {} for i, v in ipairs(_x) do if _x[i].value ~= '0' then table.insert(x, x[i]) end if _y[i].value ~= '0' then table.insert(y, y[i]) end end if #x ~= #y then return print "the results from x and y may not be the same!" end for loop = 1, #x do for i, v in ipairs(x) do x[i].value = x[loop].value end gg.setValues(x) for i, v in ipairs(z) do z[i].value = z[loop].value end gg.setValues(z) gg.sleep(500) end1 point
-
for j = 1, 50 do x[#x + 1] = {address = resultAddress, flags = gg.TYPE_FLOAT} end here, even if you have 50 more results, you will only get 1 result in x and y1 point
-
I want to ask where the value of z and y is obtained, as far as I can see, you only get the result from a1 point
-
Just for the info if anybody needs it - the version "rr3_race_mode.v9.8.2.3.7.bin.lua" works in 10.2 Cheers1 point
-
***Please consider donating to my PayPal: [email protected]*** This took a lot of time to figure out. Then even more to create this much information and map many of these ids for everyone. And PLEASE.... If you plan on reposting or doing a guide based on this, I ask that credit is given to me. Enjoy!!!! To start searching for a value, you can first try doing 0x4 dword search. When value changes, unknown changed. Then search 0x4 again. Do this a few times until you can scroll through and find 2 values. Where the value above minus the value below it equal the quantity of the item you are searching for. This method isn't a definite. If you look at picture "Main" you can see that sometimes the values A and B DO NOT match. Which means the 0x4 will not work. The other method is to do a utf16 text search using item id and the quantity. The best time to do this is when you first open the game. So if you have 21 basic health packs, the search will be ";hp1*21". Usually goto first result result and pointer search. Then when you goto address, look above for the value structure like you see in "Main" picture. The next 2 Dword values in "Main", E and F. E is how many digits at the end of the encrypted value to ignore. F is how many digits total the encrypted value is. So if you have 20 of something. Values below could be, 0 and 2. Or 1 and 3, or 2 and 4.... Then the pointer "G", is the encrypted value. It's utf16, and the key to the encryption is this: M = 9 B = 8 N = 7 Q = 6 E = 5 W = 4 Z = 3 X = 2 D = 1 L = 0 So, if you have 549 of something, it will be E.W.M. But you might see something like E.W.M.L.L which would make you think you have 54900. But if you look at the values "E and F", it would be 2 and 5. Telling you its ignoring the L.L. at the end. Now for the edit... I ALWAYS click pause at the top right of game to ensure value doesn't somehow change while I am working on it. So values "A and B" I try to keep "original". YOu might be able to set these to 0 and edit the values "C and D" and be negative the value you want. In my video, I keep them untouched. After you edit that. Need to make sure encrypted value matches and the "total digits and digits ignored" all are correct for the value you want. ANYTHING DONE WRONG = INSTANT BAN. Make sure you did everything CORRECT before resuming game. Item changing: I would try finding item via quantity or item id/quantity. Then goto pointer "H". Here will be the item id. The basic health pack is "hp1". YOu could just edit the 1 to a 4 and have a value in you backpack change then restart game. Those health packs will become the big red health packs. If you are looking to change in from health pack to a Red Saber Crate, I recomend doing a utf16 search for the item id you want. Go through results look for the 'correct' value like I do in video. Copy address of the "header" for that id. Then edit pointer "H" and paste that address and put h after it. So if address is AABBCCDD, then you'll dword edit it to AABBCCDDh. Have something in backpack change and restart game. Those health packs will now become Red Saber Crate. I went through and mapped out MANY items already. If you want SPECIFIC materials/items, I'll provide a list of "ids" and you can sort through them to determine which is what. I'll explain the naming scheme though of gear. One weapon is "near". Which is melee. so, near#1_#2_#3. #1 is the equipment id. #2 is the level of the equipment. and #3 is the rarity. I THINK near6_200_7 would be a red saber level 200. Video Guide: Health item ids: hp1 to hp9. hp4 is the big red health pack. Food: food1 to food16 Water: water1 to water7 Here is the "other" items list. This is probably all you really need for most things. ID Item Description other2 Gold other3 Coins other4 Standard Equipment Box Contains a Blue quality or above equipment. other5 Standard Weapon Box Contains a Blue quality or above weapon other6 Advanced Equipment Box 50% chance to gain an Orange Equipment. other7 Advanced Weapon Box 50% chance to gain an Orange Weapon other8 R&D 1min bost Reduces current R&D time. other9 R&D 5min boost Reduces current R&D time. other10 R&D 15min boost Reduces current R&D time. other11 R&D 1hr boost Reduces current R&D time. other12 R&D 3hr boost Reduces current R&D time. other13 5min Accelerator Reduces time for Refuge upgrade or survivor missions. other14 15min Accelerator Reduces time for Refuge upgrade or survivor missions. other15 30min Accelerator Reduces time for Refuge upgrade or survivor missions. other16 1hr Accelerator Reduces time for Refuge upgrade or survivor missions. other17 3hr Accelerator Reduces time for Refuge upgrade or survivor missions. other18 Perk Rebooter Resets all perk points other19 Common Pet Box Contains a Green quality or above pet. other20 Rare Pet Box Contains a Blue quality or above pet. other21 Epic Pet Box Contains a Purple quality or above pet. other22 Legendary Pet Box Contains a Gold quality or above pet. other23 Artifact Pet Box Contains a Orange quality or above pet. other31 Common Attachment Box Contains a random White attachment. other32 Uncommon Attachment Box Contains a random Green Attachment. other33 Rare Attachment Box (Blue) other34 Epic Attachment Box (Purple) other35 Legendary Attachment Box (Gold) other36 Artifact Attachment Box (Orange) other37 Double EXP Card +100% boost for 15min other38 Orange Equipment Box Contains an orange Equipment other39 Orange Weapon Box Contains an Orange Weapon other40 ***Don’t use this for item swap*** ***Item will be deleted from inventory*** other41 Motorcycle Key other42 Zombie Lair Map A map that marked the lair of the zombies. This map grants access to the Zombie Lair for once. other44 ***Don’t use this for item swap*** ***Item will be deleted from inventory*** other45 Follower’s Perk Rebooter Use to reset current Follower’s Perk. other46 Discount Ticket Super great deal to have a 45% discount on the Pass! other47 Advanced Discount Ticket Super great deal to have a 50% discount on Advanced Pass! other48 Orange Light Saber Box other49 Red Light Saber Box other51 Normal Appearance Ticket Can craft a elementary appearance without materials. other52 Rare Appearance Ticket Can craft an artifact appearance without materials. (The 2nd appearance of any building) other53 Advanced Appearance Ticket Can craft an artifact appearance without materials. (The 3rd appearance of any building, which costs 600 Gold) other54 Artifact Appearance Ticket Can craft an artifact appearance without materials. (The 4th appearance of any building, which costs 1,800 Gold) other55 Artifact Attachment Box (Red) other56 Candy other57 Horn other59 Token Rescue Survivors to get Tokens in exchange for resources. other60 Raffle Ticket other61 Normal Redeem Ticket Can exchange normal items. other62 Advanced Redeem Ticket Can exchange advanced items. other63 White Core Box other64 Green Core Box other65 Blue Core Box other66 Purple Core Box other67 Gold Core Box other68 Orange Core Box other69 Red Core Box Here is a small sample of weapons/gear ids: near3_200_1 usp1_200_1 ak1_200_1 clothes_200_1 shose_200_1 pants_200_1 hat_200_1 armor_200_11 point
-
Lua table not specified order of fields. Maybe in future I try fix this. I make this support of scripting in last 3-4 weeks. It is first public release. Something can be not good or broken. In future we try improve it.1 point