View difference between Paste ID: bqhPRGW6 and sSz2Rec2
SHOW: | | - or go back to the newest paste.
1-
-- Script generated by GameGuardian 101.1
1+
-- script creator: Nok1a (before under the name Platonic/Mr.Dragon Star)
2-
-- Lua help: http://gameguardian.net/help/
2+
-- Tutorial on how to use:  https://youtu.be/OylUtyEwGVA
3
-- Use whatever you like in the script in case needed
4-
local scriptName = [=====[👑  PRO ปั้ม BY เซียน    ➡️  1 เมษา 2025]=====]
4+
-- value = Time.timeScale
5-
local scriptVersion = '1.0.0'
5+
6-
local scriptAuthor = 'User'
6+
local hexConvert = 0x0
7
local dataType = 0x0
8-
-- วันหมดอายุ
8+
local cdOffsetSmall = 0x0
9-
local expirationDate = os.time({year=2025, month=1, day=1}) -- วันที่หมดอายุ: 31 มีนาคม 2025
9+
local cdOffsetBig =  0x0
10-
local currentDate = os.time()
10+
local cbOffsetSmall = 0x0
11
local anonSpeedOffsetSmall = 0x0
12-
-- เช็ควันหมดอายุ
12+
local anonSpeedOffsetBig = 0x0
13-
if currentDate > expirationDate then
13+
local anonGroupSearchOffset = 0x0
14-
    gg.alert("🙏วันใช้งานหมด🙏 กรุณาติดต่อ🧑‍✈️ FB เซียน ประวีน")
14+
15
function isProcess64Bit()
16
  -- Function -> by CmP: https://gameguardian.net/forum/topic/36604-how-to-get-instruction-set-architecture-on-emulator-virtual-memory-addresses/?do=findComment&comment=135506
17
  local regions = gg.getRangesList()
18-
-- init
18+
  local lastAddress = regions[#regions]["end"]
19-
gg.require('101.1', 16142)
19+
  return (lastAddress >> 32) ~= 0
20-
gg.toast(scriptName..' v'..scriptVersion..' by '..scriptAuthor)
20+
21
22-
-- Function to perform the main action
22+
function noselect()
23-
function mainAction()
23+
  gg.toast("You not select anything")
24
end
25-
    gg.searchNumber("h0100000012CA9A3BFF", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1, 0)
25+
26
function cb_nothingFound()
27-
    local results = gg.getResults(100)
27+
  if gg.getResultsCount() == 0 then
28-
    for i, v in ipairs(results) do
28+
    gg.alert("Search not found, Use Fuzzy or Xa")
29-
        if v.flags == gg.TYPE_BYTE then
29+
    start()
30-
            v.value = "h3300000012CA9A3BFF"
30+
  end
31-
            v.freeze = true
31+
32-
        end
32+
33
34-
    gg.addListItems(results)
34+
local ISA = isProcess64Bit()
35-
    gg.processResume()
35+
local resultsCount = gg.getResultsCount()
36-
    gg.toast("👑 RUN ออโต้กันแบน BY เซียน")
36+
gg.clearResults()
37
38
function instructions()
39-
-- Menu function (ไม่ต้องวนลูป)
39+
  if ISA == false then -- if true then 32 bit else 64 bit
40-
local options = {
40+
    hexConvert = 0x100000000
41-
    "💵   เด้งแพค ปั้มยุทธ์ BY เซียน",
41+
    dataType = 4
42-
    "🔴   +6 100%",
42+
    cdOffsetSmall = 0xC
43-
    "🚪    Exit"
43+
    cdOffsetBig =  0xB58
44-
}
44+
    cbOffsetSmall = 0x1C
45
    anonSpeedOffsetSmall = 0xE4
46-
local choice = gg.choice(options, nil, scriptName)
46+
    anonSpeedOffsetBig = 0xEC
47-
if choice == 1 then
47+
    anonGroupSearchOffset = 0x30
48-
    mainAction()
48+
  else
49-
elseif choice == 2 then
49+
    hexConvert = 0x0
50-
    gg.alert("📣 กำลังอัพเดต เกมพึ่งอัพเดตไป ครับหัวหน้าใจเยสๆๆนะครับ")
50+
    dataType = 32
51-
end
51+
    cdOffsetSmall = 0x18
52
    cdOffsetBig = 0x16B0
53
    cbOffsetSmall = 0x38
54
    cbOffsetBig = 0x48
55
    anonSpeedOffsetSmall = 0xF4
56
    anonSpeedOffsetBig = 0xFC
57
    anonGroupSearchOffset = 0x44
58
  end
59
end
60
function unityVersion()
61
  gg.searchNumber(":Expected version: ", gg.TYPE_BYTE, gg.setRanges(16384))
62
  if gg.getResultsCount() == 0 then
63
    gg.alert("This game is not made with Unity, fuzzy will be automatically activated!")
64
    gg.alert("Make sure your game is open, don't hide it on the background!")
65
    randomized()
66
    os.exit()
67
  else
68
    local count = gg.getResultsCount()
69
    local results = gg.getResults(count)
70
    values = {}
71
    for i = 18, count, 18 do
72
      local resultAddress = results[i].address
73
      for j = 1, 7 do
74
        values[#values + 1] = {address = resultAddress + j, flags = gg.TYPE_BYTE}
75
      end
76
      values = gg.getValues(values)
77
    end
78
    
79
    local str = ''
80
    for i, v in ipairs(values) do
81
      str = str .. string.char(v.value & 0xFF)
82
    end
83
    gg.clearResults()
84
    if values[1].value <= 0x35 and values[2].value == 0x2E and values[3].value <= 0x35 then -- unity versions 5.5 or below
85
      gg.alert("Unity version "..str..",This version is to old. Use Speedhack through Cb or Fuzzy")
86
      anonGroupSearchOffset = 0x3C
87
      cbOffsetSmall = 0x24
88
      anonSpeedOffsetSmall = 0xBC
89
    end
90
    gg.clearResults()
91
  end
92
end
93
94
function finalSpeedResult()
95
  resultsCount = gg.getResultsCount()
96
  local values = gg.getResults(resultsCount)
97
  local results = {}
98
  local speed = {}
99
  for b = 1, #values do
100
    local loop = 0x0
101
    for i = 1, 70 do
102
      results[#results + 1] = {address = values[b].address + loop, flags = gg.TYPE_FLOAT}
103
      loop = loop + 4
104
    end
105
  end
106
  results = gg.getValues(results)
107
  for i, v in ipairs(results) do
108
    if v.value == 1 then
109
      speed[#speed +1] = {address = v.address, flags = v.flags, name = "Speed"}
110
      break
111
    end
112
  end
113
  
114
  if #speed ~= 0 then
115
    gg.toast("Time.timeScale found")
116
    gg.addListItems(speed)
117
    gg.clearResults()
118
    os.exit()
119
  end
120
end
121
122
function startxa()
123
  gg.clearResults()
124
  gg.setRanges(gg.REGION_CODE_APP)
125
  gg.searchNumber("h 6A 6F 79 73 74 69 63 6B 20 31 36 20 62 75 74 74 6F 6E 20 31 39")
126
  if gg.getResultsCount() == 0 then
127
    gg.alert("Search not found, try Speedhack Cb or Fuzzy")
128
    start()
129
  else
130
    local a = gg.getResults(1)
131
    gg.clearResults()
132
    gg.setRanges(gg.REGION_C_DATA | gg.REGION_OTHER)
133
    gg.searchNumber(a[1].address, dataType)
134
    resultsCount = gg.getResultsCount()
135
    a = gg.getResults(1)
136
    gg.clearResults()
137
    gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
138
    gg.searchNumber(a[1].address + cdOffsetSmall, dataType)
139
    if gg.getResultsCount() ~= 1 then 
140
      gg.clearResults()
141
      gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
142
      gg.searchNumber(a[1].address - cdOffsetBig, dataType)
143
    end
144
    finalSpeedResult()
145
  end
146
end
147
148
function filterCb()
149
  local b = {}
150
  gg.clearResults()
151
  gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
152
  gg.searchNumber("h 00 00 80 3F CD CC 4C 3E 00 00 00 41 00 00 C8 42 00 00 B4 43 0A D7 23 3C CD CC 4C 3E 00 00 40 3F 00 00 00")
153
  if gg.getResultsCount() == 0 then
154
    gg.searchNumber("-9.81000041962", gg.TYPE_FLOAT)
155
    cb_nothingFound()
156
    resultsCount = gg.getResultsCount()
157
    local t = gg.getResults(resultsCount)
158
    for i, v in ipairs(t) do
159
      v.address = v.address + 0xC
160
    end
161
    gg.loadResults(t)
162
    gg.refineNumber("1", gg.TYPE_FLOAT)
163
    cb_nothingFound()
164
    resultsCount = gg.getResultsCount()
165
    b = gg.getResults(resultsCount)
166
  elseif gg.getResultsCount() ~= 0 then
167
    gg.refineNumber("h 00 00 80 3F", gg.TYPE_FLOAT)
168
    cb_nothingFound()
169
    resultsCount = gg.getResultsCount()
170
    local a = gg.getResults(resultsCount)
171
    for i, v in ipairs(a) do
172
      v.flags = gg.TYPE_FLOAT
173
    end
174
    b = gg.getValues(a)
175
  end
176
  return b
177
end
178
function startcb()
179
  local fakeSpeedPointers = {}
180
  local b = filterCb()
181
  for i, v in ipairs(b) do
182
    if v.value == 1 then
183
      fakeSpeedPointers[#fakeSpeedPointers + 1] = {address = v.address - anonGroupSearchOffset, flags = gg.TYPE_FLOAT}
184
      fakeSpeedPointers[#fakeSpeedPointers + 1] = {address = v.address - 0x48, flags = gg.TYPE_FLOAT}
185
      fakeSpeedPointers[#fakeSpeedPointers + 1] = {address = v.address - 0x44, flags = gg.TYPE_FLOAT}
186
    end
187
  end
188
  gg.setRanges(gg.REGION_C_BSS | gg.REGION_OTHER | gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC)
189
  gg.loadResults(fakeSpeedPointers)
190
  gg.searchPointer(0)
191
  resultsCount = gg.getResultsCount()
192
  local offsetStart = gg.getResults(resultsCount)
193
  for i, v in ipairs(offsetStart) do
194
    v.address = v.address - cbOffsetSmall
195
  end
196
  local valu = gg.getValues(offsetStart)
197
  for i, v in ipairs(valu) do
198
    if ISA == false then
199
      v.address = v.value&0xFFFFFFFF
200
    else
201
      v.address = v.value
202
    end
203
  end
204
  gg.loadResults(valu)
205
  finalSpeedResult()
206
end
207
208
209
function randomized()
210
  gg.clearResults()
211
  gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_ALLOC | gg.REGION_OTHER)
212
  gg.searchFuzzy('0', gg.TYPE_FLOAT, gg.SIGN_FUZZY_GREATER)
213
  for i = 1 , 50 do
214
    gg.searchFuzzy('0', gg.TYPE_FLOAT, gg.SIGN_FUZZY_GREATER)
215
    gg.refineNumber('0.01~6', gg.TYPE_FLOAT)
216
    gg.sleep(50)                                                   
217
  end
218
  resultsCount = gg.getResultsCount()
219
  secondResults = gg.getResults(resultsCount)
220
  local addTables = {}
221
  local speed = {}
222
  for i = 1, #secondResults do
223
    local loops = 0x0
224
    for b = 1, 200 do
225
      addTables[#addTables + 1] = {address = secondResults[i].address + loops, flags = gg.TYPE_FLOAT}
226
      addTables[#addTables + 1] = {address = secondResults[i].address - loops, flags = gg.TYPE_FLOAT}
227
      loops = loops + 0x4
228
    end
229
  end
230
  addTables = gg.getValues(addTables)
231
  for i, v in ipairs (addTables) do
232
    if v.value == 1 then
233
      speed[#speed +1] = {address = v.address, flags = v.flags, name = "Speed"}
234
    end
235
  end
236
  if #speed ~= 3 then
237
    gg.toast("Possible speed values found(not guaranteed)")
238
    gg.addListItems(speed)
239
    gg.clearResults()
240
  else
241
    gg.toast("Nothing found with Fuzzy, shuttind down script")
242
  end
243
  os.exit()
244
end
245
246
local functLoop = true
247
function start()
248
  if functLoop == true then
249
    instructions()
250
    unityVersion()
251
    functLoop = false
252
  end
253
  menu = gg.multiChoice({"Fuzzy","Speedhack through Xa","Speedhack through Cb"},nil,"for fuzzy game must be open, don't hide it on the background")
254
  if menu == nil then
255
    noselect()
256
  else
257
    if menu[1] then
258
      gg.alert("Make sure your game is open, don't hide it on the background!")
259
      randomized()
260
    end
261
    if menu[2] then
262
      startxa()
263
    end
264
    if menu[3] then
265
      startcb()
266
    end
267
  end
268
end
269
270
271
while (true) do
272
  if gg.isVisible() then
273
    gg.setVisible(false)
274
    start()
275
  end
276
  gg.sleep(100) 
277
end
278