wilmans2m

MCOC

Mar 29th, 2024 (edited)
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 23.36 KB | Gaming | 0 0
  1. LUA = 'WILS2M'
  2. GLabel = 'Champions'
  3. GProcess = 'com.kabam.marvelbattle'
  4. GVersion = '(vAU.02)'
  5. xbit = 64
  6. LibResult = 1
  7. xlib = 'libil2cpp.so'
  8. xREV = 1  I={}
  9. xCNE = 0
  10. xSSE = 0
  11. XbitX = 2
  12. printx = '---------------------------------------------------------------'
  13. expire='free'
  14. game = gg.getTargetInfo()
  15. P=game.processName
  16. FP=game.name
  17. L=gg.getTargetInfo().label
  18. M=gg.getTargetInfo()["label"]
  19. V=game.versionName
  20. TP=gg.getTargetPackage()
  21. xTAGx="Have fun"
  22. xLINKx="https://t.me/HxE_Chat"
  23. xLINK1x="https://www.tiktok.com/@hxesq"
  24. APEXSN=gg.getFile():match('[^/]+$')
  25. printx="---------------------------------------------------------------"
  26. print(printx)
  27. print(xTAGx)
  28. print("Telegram = "..xLINKx)
  29. print("TikTok = "..xLINK1x)
  30. print(printx)  
  31. print("Script = "..GLabel.."  "..GVersion)
  32. --███████████████████████
  33.  
  34. HxEmenu = ('            ⚡HxE Menu by wils2m⚡\
  35.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  36.                     ⛥🇮‌🇳‌🇫‌🇴‌⛥\
  37.  🎮🅖🅐🅜🅔🎮 : '..GLabel..'\
  38.  🎰🅥🅔🅡🅢🎰 : '..GVersion..'\
  39.    🎰🅐🅡🅜🎰   : '..xbit..'\
  40. \
  41. ⏳Exᴘɪʀᴇᴅ Date⏳ : '..expire..'\
  42. 🎁 Encryption 🎁 :  '..expire..'\
  43.            ❦ ════ •⊰❂ - ❂⊱• ════ ❦')
  44.            
  45. gg.alert(HxEmenu)
  46.  
  47. gg.alert("                           Patch Note\
  48.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  49. - HxE script menu\
  50. - New script interface (Apex[GG])\
  51. - Thanks to APEX[GG]v2 for initial script\
  52. - (https://t.me/apexgg2Home)\
  53. - Script Auto Updated\
  54. - Disable Enemy\
  55. - Always Critical Hit\
  56. - Critical Damage\
  57. - Long Range Attack\
  58. - Infinite Special Attack ( !! NO PvP !! )\
  59.           ❦ ════ •⊰❂ - ❂⊱• ════ ❦\
  60. ")
  61.  
  62. --███████████████████████
  63. --███████████████████████
  64. -- APEX[GG]v2
  65. apex=1
  66. gg.setVisible(false)
  67. v=gg.getTargetInfo()
  68.     if v==nil then
  69.         print("×× ERROR ××\n×× INVALID PROCESS SELECTED / OR NO ROOT ACCESS")
  70.         gg.setVisible(true) os.exit()
  71.         return
  72.     end
  73. ------------------------------------------------------------------------------
  74. A={} for i =1,100 do A[i]={} end
  75. ------------------------------------------------------------------------------
  76. OFF="× " ON="√ "
  77. EA=OFF ES=OFF EB=OFF LR=OFF SA=OFF AC=OFF CD=OFF
  78.  
  79. function menu()
  80. apex=0
  81. gg.toast(xTAGx)  
  82. mc=gg.multiChoice({
  83.     EA.."Disable Enemy",
  84.     AC.."Always Critical Hit",
  85.     CD.."Critical Damage",
  86.     LR.."Long Range Attack",
  87.     SA.."Infinite Special Attack ( !! NO PvP !! )",
  88.     "[ EXIT ]"},
  89.     {},xTAGx.."\n"..xLINKx.."\n"..GLabel.." "..GVersion.." "..xBITx)
  90.    
  91.     if mc==nil then cancel() return end
  92.     if mc[1] then disable() end  
  93.     if mc[2] then critchance() end
  94.     if mc[3] then critdamage() end
  95.     if mc[4] then range() end
  96.     if mc[5] then special() end
  97.    
  98. xhaX={
  99.     EA.."Disable Enemy",
  100.     AC.."Always Critical Hit",
  101.     CD.."Critical Damage",
  102.     LR.."Long Range Attack",
  103.     SA.."Infinite Special Attack ( !! NO PvP !! )",
  104.     }
  105. xhaX=table.concat(xhaX, "\n")
  106. xhaX=tostring(xhaX)
  107.  
  108.     if mc[6] then exit() return end
  109.  
  110. gg.toast("[√] Complete")
  111.  
  112. gg.alert("Hacks "..GLabel.." "..GVersion.." "..xBITx.."\n\n"..xhaX,"OK",nil,xTAGx)
  113.  
  114. end
  115.  
  116. --█████████████████████████████████████████████
  117.  
  118. --public class AIController
  119. --private void StateAIStartEnter()
  120.  
  121.     A[1].class="AIController"
  122.     A[1].method="StateAIStartEnter"
  123.  
  124. function disable()
  125.     if A[1].error==1 then error() return end
  126.     for i = A[1].start, A[1].finish do o=I[i]
  127.     if EA==OFF then x=0 arm() else revert() end
  128.     end
  129.  
  130.     if EA==OFF then EA=ON else EA=OFF end
  131.     end
  132.        
  133. --█████████████████████████████████████████████
  134.  
  135. -- public class PlayerAttributes : IAttributesSystem // TypeDefIndex:
  136. -- public float CalculateCritChance(float oppChallengeRating) { }
  137.  
  138.     A[2].class="PlayerAttributes"
  139.     A[2].method="CalculateCritChance"
  140.  
  141. function critchance()
  142.     if A[2].error==1 then error() return end
  143.     for i = A[2].start, A[2].finish do o=I[i]
  144.     if AC==OFF then x="h0059A8D2" arm() else revert() end
  145.     end
  146.  
  147.     if AC==OFF then AC=ON else AC=OFF end
  148.     end
  149.  
  150. --█████████████████████████████████████████████
  151.  
  152. -- public class PlayerAttributes : IAttributesSystem // TypeDefIndex:
  153. -- public float CalculateCritDamage(float critDamage, float opponentChallengeRating, float critMod) { }
  154.  
  155.     A[3].class="PlayerAttributes"
  156.     A[3].method="CalculateCritDamage"
  157.  
  158. function critdamage()
  159.     if A[3].error==1 then error() return end
  160.     for i = A[3].start, A[3].finish do o=I[i]
  161.     if CD==OFF then x="hA02EA9D2" arm() else revert() end
  162.     end    
  163.  
  164.     if CD==OFF then CD=ON else CD=OFF end
  165. end
  166.  
  167. --█████████████████████████████████████████████
  168.  
  169. -- public class UltimatePlayerController : CharacterAnimatorController, ITriggerVolumeQuerier // TypeDefIndex:
  170. -- public bool IsHitEventInRange(HitEventInfo info) { }
  171.  
  172.     A[4].class="UltimatePlayerController"
  173.     A[4].method="IsHitEventInRange"
  174.    
  175. function range()
  176.     if A[4].error==1 then error() return end
  177.     for i = A[4].start, A[4].finish do o=I[i]
  178.     if LR==OFF then x=1 arm() else revert() end
  179.     end    
  180.  
  181.     if LR==OFF then LR=ON else LR=OFF end
  182. end
  183.  
  184. --█████████████████████████████████████████████
  185.  
  186. -- public class SpecialAttacks : MonoBehaviour // TypeDefIndex:
  187. -- public bool CanUse(int index) { }
  188.  
  189.     A[5].class="SpecialAttacks"
  190.     A[5].method="CanUse"
  191.  
  192. function special()
  193.     if A[5].error==1 then error() return end
  194.     for i = A[5].start, A[5].finish do o=I[i]
  195.     if SA==OFF then x=1 arm() else revert() end
  196.     end    
  197.  
  198.     if SA==OFF then SA=ON else SA=OFF end
  199. end
  200.  
  201. --█████████████████████████████████████████████
  202. --█████████████████████████████████████████████
  203. --█████████████████████████████████████████████
  204.     if v.processName~=GProcess then
  205.         print("This Script is For:\n    "..GLabel.."\n    "..GProcess.."\nYou Selected:\n    "..v.label.."\n    "..v.processName)
  206.         gg.setVisible (true) os.exit()
  207.         return
  208.     end
  209. ------------------------------------------------------------------------------
  210.     if v.x64 then bitx=64 xBITx="[x64]" else bitx=32 xBITx="[x32]" end
  211.         print(xBITx)  
  212.         print(printx)  
  213. ------------------------------------------------------------------------------
  214.  
  215.  
  216. isrdy=gg.alert("Marvel CoC\nThis Script is Auto-Updating. \nInitial Calibration May Take A While.\n\nYOU MUST CURRENTLY BE IN ANY GAMEPLAY (MISSION/BATTLE/ETC). Otherwise, Calibration will Fail and Hacks Not Work\n\n(All hacks must be activated from lobby)","EXIT","START",xTAGx)  
  217. if isrdy~=2 then gg.setVisible(true) os.exit() return end
  218.  
  219. --█████████████████████████████████████████████
  220.     if LibResult==1 then
  221.     xAPEXx={} xXx=0
  222.     xLibRes=0
  223.     libx=gg.getRangesList()
  224.         if #(libx)==0 then
  225.         print("×× LIB ERROR #01 ××\nNo Libs Found\nTry a Different Virtual Environment \nor Try a Better Game Installation Method\nor Download Game From 'apkcombo.com' ")
  226.         gg.setVisible(true)
  227.         os.exit()
  228.         end
  229.     libx=gg.getRangesList(xlib)
  230.         if #(libx)==0 then  
  231.         print("×× No "..xlib.." Found")
  232.         xLibRes=2
  233.         goto APEX_SPLIT
  234.         end
  235.     xlibn=0
  236.         for i, v in ipairs(libx) do
  237.             if libx[i].state=="Xa" then
  238.             xXx=xXx+1
  239.             xAPEXx[xXx]=libx[i].start
  240.             xLibRes=1
  241.             end
  242.         end
  243.         if xLibRes==0 then
  244.         print("×× LIB ERROR #03 ××\nNo "..xlib.." Found in Xa\nTry a Different Virtual Environment \nor Try a Better Game Installation Method\nor Download Game From 'apkcombo.com' ")
  245.         gg.setVisible(true)
  246.         os.exit()    
  247.         end    
  248.                  
  249.         ::APEX_SPLIT::    
  250.         if xLibRes==2 then
  251.         splitapk=0
  252.         libx=gg.getRangesList()
  253.             for i, v in ipairs(libx) do
  254.                 if libx[i].state=="Xa" and string.match(libx[i].name,"split_config") then
  255.                 splitapk=1
  256.                 end
  257.             end
  258.             if splitapk==1 then
  259.             xsapk={} xsapkx=0
  260.                 for i, v in ipairs(libx) do
  261.                     if libx[i].state=="Xa" then
  262.                     xsapkx=xsapkx+1
  263.                     xsapk[xsapkx]=libx[i]["end"]-libx[i].start
  264.                     end
  265.                 end
  266.                 if xsapkx~=0 then                
  267.                 APEXQ=math.max(table.unpack(xsapk))
  268.                     for i, v in ipairs(libx) do              
  269.                         if libx[i].state=="Xa" and libx[i]["end"]-libx[i].start==APEXQ then              
  270.                         xXx=xXx+1            
  271.                        xAPEXx[xXx]=libx[i].start
  272.                         print("√√ Split Apk Lib Found\n√√ "..libx[i].name)
  273.                         xLibRes=1                      
  274.                         end
  275.                     end
  276.                 end
  277.             end
  278.          
  279.              if splitapk==0 and xLibRes~=1 then
  280.              print("×× No split_config Lib Found")  
  281.              xc=1 xt={}
  282.              libx=gg.getRangesList()
  283.                  for i, v in ipairs(libx) do
  284.                      if libx[i].state=="Xa" then
  285.                      xt[xc]=tonumber(libx[i]["end"]-libx[i].start)
  286.                      xc=xc+1
  287.                      end
  288.                  end
  289.              APEXQ=math.max(table.unpack(xt))
  290.                  for i, v in ipairs(libx) do              
  291.                      if libx[i].state=="Xa" and libx[i]["end"]-libx[i].start==APEXQ then        
  292.                      xXx=xXx+1      
  293.                      xAPEXx[xXx]=libx[i].start
  294.                      print("√√ math.max Xa Lib Found\n√√ "..libx[i].name)
  295.                      xLibRes=1  
  296.                      end
  297.                  end
  298.             end                        
  299.  
  300.             if xLibRes~=1 then
  301.             print("×× Correct Lib Not Found ××\n×× Direct/Split Config/Xa Max ××")
  302.             gg.setVisible(true)
  303.             os.exit()
  304.              return
  305.             end
  306.         end
  307.     end
  308. --█████████████████████████████████████████████
  309. function arm()
  310. o=tonumber(o)
  311.     for XxX=1,#(xAPEXx) do
  312.     xdump=nil xdump={}
  313.     xdump[1]={} xdump[2]={}
  314.     xdump[1].address=xAPEXx[XxX] + o
  315.     xdump[1].flags=4
  316.         if x==0 then xdump[1].value=xfalse end
  317.         if x==1 then xdump[1].value=xtrue end
  318.         if x~=0 and x~=1 then xdump[1].value=x end
  319.     xdump[2].address=xAPEXx[XxX]+(o+4)
  320.     xdump[2].flags=4
  321.     xdump[2].value=xEND
  322.     gg.setValues(xdump)
  323.     end
  324. end
  325. ------------------------------------------------------------------------------  
  326. function revert()
  327.     for XxX=1,#(xAPEXx) do
  328.     REVERT=nil REVERT={} xRx=nil xRx=1
  329.         for i, v in ipairs(ORIG) do
  330.             if tonumber(xAPEXx[XxX]+o)==ORIG[i].address then
  331.             REVERT[xRx]={}
  332.             REVERT[xRx].address=xAPEXx[XxX]+o
  333.             REVERT[xRx].flags=4
  334.             REVERT[xRx].value=ORIG[i].value
  335.             xRx=xRx+1
  336.             REVERT[xRx]={}
  337.             REVERT[xRx].address=xAPEXx[XxX]+o+4
  338.             REVERT[xRx].flags=4
  339.             REVERT[xRx].value=ORIG[i+1].value
  340.             gg.setValues(REVERT)
  341.             break
  342.             end
  343.         xRx=xRx+1
  344.         end
  345.     end
  346. end
  347.  
  348. --█████████████████████████████████████████████
  349.  
  350. function sort()
  351. SORT1={} apexsort=0
  352.      for sorti = A[s].start, A[s].finish do
  353.          apexsort=apexsort+1
  354.          SORT1[apexsort] = I[sorti]
  355.      end
  356. SORT2={} table.sort(SORT1)
  357.     for sort2, v in pairs(SORT1) do
  358.         SORT2[sort2]=v
  359.     end
  360. r=SORT2[r]
  361. end
  362.  
  363. --█████████████████████████████████████████████
  364. if v.x64 then
  365. xtrue="h200080D2" -- MOV X0, #0x1
  366. xfalse="h000080D2" -- MOV X0, #0x0
  367. xEND="hC0035FD6" -- RET
  368. else
  369. xtrue="h0100A0E3" -- MOVW R0, #1
  370. xfalse="h0000A0E3" -- MOVW R0, #0
  371. xEND="h1EFF2FE1" -- BX LR
  372. end
  373.  
  374. --█████████████████████████████████████████████
  375. -- APEX[GG]v2
  376. function clear()
  377. gg.getResults(gg.getResultsCount())
  378. gg.clearResults()
  379. end
  380. ------------------------------------------------------------------------------  
  381. function get()
  382. gg.getResults(gg.getResultsCount())
  383. end
  384. ------------------------------------------------------------------------------  
  385. function search()
  386. gg.getResults(gg.getResultsCount())
  387. gg.clearResults()
  388. gg.searchNumber(x,t)
  389. end
  390. ------------------------------------------------------------------------------  
  391. function refine()
  392. gg.refineNumber(x,t)
  393. end
  394. ------------------------------------------------------------------------------  
  395. function refinenot()
  396. gg.refineNumber(x,t,false,gg.SIGN_NOT_EQUAL)
  397. end
  398. ------------------------------------------------------------------------------  
  399. function edit()
  400. gg.getResults(gg.getResultsCount())
  401. gg.editAll(x,t)
  402. end
  403. ------------------------------------------------------------------------------  
  404. function check()
  405. E=nil E=gg.getResultsCount()
  406. end
  407. ------------------------------------------------------------------------------  
  408. function offset()
  409. o=tonumber(o) addoff=nil
  410. addoff=gg.getResults(gg.getResultsCount())
  411.     for i, v in ipairs(addoff) do
  412.         addoff[i].address=addoff[i].address+o
  413.         addoff[i].flags=t
  414.     end
  415. gg.loadResults(addoff)
  416. end
  417.  
  418. --█████████████████████████████████████████████
  419. function cancel()
  420. gg.toast("CANCELLED")
  421. end
  422. ------------------------------------------------------------------------------  
  423. function wait()
  424. gg.toast("Please Wait..")
  425. end
  426. ------------------------------------------------------------------------------  
  427. function error()
  428. gg.toast("× ERROR ×")
  429. gg.sleep(1000)
  430. end
  431. ------------------------------------------------------------------------------  
  432. function exit()
  433. gg.getListItems()
  434. gg.clearList()
  435. gg.getResults(gg.getResultsCount())
  436. gg.clearResults()
  437. gg.toast("[ EXIT ]")  
  438.     if xhaX~=nil then
  439.         print(printx)
  440.         print(xhaX)
  441.         print(printx)  
  442.     end
  443. gg.setVisible(true)
  444. os.exit()
  445. return
  446. end
  447. --█████████████████████████████████████████████
  448. if v.x64 then off1=-16 typ=32 else off1=-8 typ=4 end
  449. gg.setRanges(gg.REGION_OTHER | gg.REGION_C_ALLOC)
  450. gmdx=gg.getRangesList("global-metadata.dat")
  451.     if #(gmdx)~=0 then        
  452.     gmds=gg.getRangesList("global-metadata.dat")[1].start
  453.     gmde=gg.getRangesList("global-metadata.dat")[1]["end"]
  454.     else gmds=nil gmde=nil
  455.     end
  456. ATOTAL=0
  457. for i = 1,100 do
  458.     if A[i].class==nil then break end
  459.     ATOTAL=ATOTAL+1
  460. end
  461.  
  462. ASTART=1 AEND=0 ATABT=ATOTAL+1 ATAB=1
  463. S=0
  464.     while ATAB<=ATOTAL do
  465.     ::AUTOSTART::
  466.         if ATAB>ATOTAL then break goto FINISHED end
  467.     gg.toast("Please Wait.. [ "..ATABT-ATAB.." ]")
  468.     A[ATAB].error=1
  469.     ANAME=nil ANAME={}
  470.     if A[ATAB].name~=nil then
  471.         for i = 1,#(tostring(A[ATAB].name)) do
  472.             ANAME[i]=string.byte(A[ATAB].name,i)
  473.         end
  474.     else
  475.         ANAME[1]=0
  476.     end
  477.     ACLASS=nil ACLASS={}
  478.     if A[ATAB].class~=nil then
  479.         for i = 1,#(tostring(A[ATAB].class)) do
  480.             ACLASS[i]=string.byte(A[ATAB].class,i)
  481.         end
  482.     else
  483.         A[ATAB].class=0
  484.     end
  485.    
  486.                 ASTART=AEND+1
  487.                 clear() t=1
  488.                 gg.searchNumber(":"..tostring(A[ATAB].method),1,false,gg.SIGN_EQUAL,gmds, gmde)
  489.                 xm=gg.getResults(2) gg.getResults(gg.getResultsCount())
  490.                 check()
  491.                     if E==0 then ATAB=ATAB+1
  492.                         if ATAB>ATOTAL then break return end
  493.                     goto AUTOSTART return
  494.                     end
  495.                 x=xm[1].value..";"..xm[2].value.."::2" refine()
  496.                 x=xm[1].value refine()
  497.                 o=-1 offset() x=0 refine() oo=#(tostring(A[ATAB].method))
  498.                 o=oo+1 offset() refine() o=-oo offset()
  499.                 check()
  500.                     if E==0 then ATAB=ATAB+1
  501.                         if ATAB>ATOTAL then break return end
  502.                     goto AUTOSTART return
  503.                     end
  504.                 gg.searchPointer(0) xcount=gg.getResultsCount()
  505.                 xpoint=gg.getResults(xcount,nil, nil, nil, nil, nil, nil, nil,gg.POINTER_READ_ONLY)
  506.                     if #(xpoint)==0 then ATAB=ATAB+1
  507.                         if ATAB>ATOTAL then break return end
  508.                     goto AUTOSTART return
  509.                     end
  510.                 clear()
  511.                     for xp=1,#(xpoint) do
  512.                     xpoint[xp].address=xpoint[xp].address+off1
  513.                     xpoint[xp].flags=typ
  514.                     end
  515.                 gg.loadResults(xpoint)
  516.                 xoff=gg.getResults(#(xpoint),nil, nil, nil, nil, nil, nil, nil, gg.POINTER_EXECUTABLE)
  517.                     if #(xoff)==0 then ATAB=ATAB+1
  518.                         if ATAB>ATOTAL then break return end
  519.                     goto AUTOSTART return
  520.                     end
  521.                     xfin=1
  522.                     while xfin<=#(xoff) do
  523.                     ::XFIN::
  524.                         if xfin>#(xoff) then ATAB=ATAB+1
  525.                             if ATAB>ATOTAL then break return end
  526.                         goto AUTOSTART return
  527.                         end
  528.                         if gg.getTargetInfo().x64 then
  529.                             xadd=tonumber(xoff[xfin].value)  
  530.                         else
  531.                             xadd=string.format("%X",tonumber(xoff[xfin].value))
  532.                             xadd=string.sub(tostring(xadd), -8,-1)
  533.                             xadd=tonumber("0x"..xadd)
  534.                         end    
  535.                     gval1=nil gval1={} gval1[1]={}
  536.                         if gg.getTargetInfo().x64 then gvo=24 gvo1=16 gvo2=24 else gvo=12 gvo1=8 gvo2=12 end
  537.                     gval1[1].address=xoff[xfin].address+gvo
  538.                     gval1[1].flags=typ
  539.                     gval1=gg.getValues(gval1)
  540.                         if gg.getTargetInfo().x64 then
  541.                             gval=tonumber(gval1[1].value)  
  542.                         else
  543.                             gval=string.format("%X",tonumber(gval1[1].value))
  544.                             gval=string.sub(tostring(gval), -8,-1)
  545.                             gval=tonumber("0x"..gval)
  546.                         end    
  547.                     gval2=nil gval2={} gval2[1]={} gval2[2]={}
  548.                     gval2[1].address=gval+gvo1
  549.                     gval2[1].flags=typ
  550.                     gval2[2].address=gval+gvo2
  551.                     gval2[2].flags=typ
  552.                     gval2=gg.getValues(gval2)
  553.                         if gg.getTargetInfo().x64 then
  554.                             gval21=tonumber(gval2[1].value)  
  555.                             gval22=tonumber(gval2[2].value)
  556.                         else
  557.                             gval21=string.format("%X",tonumber(gval2[1].value))
  558.                             gval21=string.sub(tostring(gval21), -8,-1)
  559.                             gval21=tonumber("0x"..gval21)
  560.                             gval22=string.format("%X",tonumber(gval2[2].value))
  561.                             gval22=string.sub(tostring(gval22), -8,-1)
  562.                             gval22=tonumber("0x"..gval22)
  563.                         end    
  564.                          xrefine=0
  565.                          if A[ATAB].class~=0 then
  566.                             for xyz=1,#(ACLASS) do
  567.                                 gvalc={} gvalc[1]={}
  568.                                 gvalc[1].address=gval21+(xyz-1)
  569.                                 gvalc[1].flags=1                        
  570.                                 gvalc=gg.getValues(gvalc)
  571.                                 if gvalc[1].value~=ACLASS[xyz] then xrefine=1 break xfin=xfin+1 goto XFIN end
  572.                             end
  573.                         end
  574.                        
  575.                         if A[ATAB].name~=0 then
  576.                             for xyz=1,#(ANAME) do
  577.                                 gvalc={} gvalc[1]={}
  578.                                 gvalc[1].address=gval22+(xyz-1)
  579.                                 gvalc[1].flags=1                        
  580.                                 gvalc=gg.getValues(gvalc)
  581.                                     if gvalc[1].value~=ANAME[xyz] then xrefine=1 break xfin=xfin+1 goto XFIN end                                
  582.                             end
  583.                         end
  584.                          
  585.                          if xrefine==0 then
  586.                         A[ATAB].start=ASTART AEND=AEND+1
  587.                         A[ATAB].finish=AEND
  588.                         A[ATAB].error=0
  589.                         clear() I[AEND]=xadd-xAPEXx[xXx]
  590.                         end
  591.                     xfin=xfin+1            
  592.                     end -- xfin
  593.     ATAB=ATAB+1
  594.     end -- ATAB
  595.    
  596. ---------------------------------------------------
  597.  
  598. ::FINISHED::
  599.  xBAR=0
  600.     for i = 1, ATOTAL do
  601.         if A[i].error~=0 then xBAR=xBAR+1 end
  602.     end
  603.     if xBAR==ATOTAL  then
  604.         gg.alert("× AUTO UPDATE FAILURE ×","EXIT",nil, xTAGx)  
  605.         exit()
  606.         return
  607.     end
  608.     if xBAR>=1 then gg.alert("× Auto Update Errors\nSome/All Hacks May Not Work","OK",nil, xTAGx)
  609.     else gg.alert("√ Auto Update Success","OK",nil, xTAGx)
  610.     end
  611.    
  612. --█████████████████████████████████████████████
  613. if xREV==1 then
  614. xRx=1 ORIG={} xREV={}
  615.     for XxX=1,#(xAPEXx) do  
  616.         for i, v in ipairs(I) do
  617.         ORIG[xRx]={}
  618.         ORIG[xRx].address=xAPEXx[XxX]+tonumber(I[i])
  619.         ORIG[xRx].flags=4
  620.         xRx=xRx+1
  621.         ORIG[xRx]={}
  622.         ORIG[xRx].address=xAPEXx[XxX]+tonumber(I[i])+4
  623.         ORIG[xRx].flags=4
  624.         xRx=xRx+1
  625.         end    
  626.     end
  627. ORIG=gg.getValues(ORIG)
  628. end
  629. --█████████████████████████████████████████████
  630. while true do
  631.     if gg.isVisible() then
  632.         gg.setVisible(false)
  633.         menu()
  634.     else
  635.         if apex==1 then
  636.             gg.setVisible(false)
  637.             menu()
  638.         end
  639.     end
  640. end
  641.  
Add Comment
Please, Sign In to add comment