<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="19">
  <Files>
    <aaRepeat.lua Encoding="Ascii85">rB-ck;ogR.pF#WwD@SJW,-(3HP)D.,NLRYRbT/T2,f8obwxNk#+-qE#;hjw.w(T3fa+;#{EV0jd(U0Sv(DZbV/=??a5L)wFGldjL?y%;?SLHaXa:L}GvD+k0Ys6_JXIk?WRdTzXBr$%ve_#b[NmHY0j=9)_R13f.wBc(jQ(4xZs,e%N1aXnKu.y+gv9pw;ao]bqtS:#Xh5@p}8,h}Z?bZ!GIWxZ)W^Wk_S=7*hb1^/2y.wh5o2FI+!5-kD:?c2RO)8a3v6LArk$$UIvZVaD+Qvg)n8}(^dY/SDJb$LkO9F4yekD].]d!qs;NL_-6s5E6K5t7dFt}s17/gF{h:3%GvMtYcsOL,RB;Gm?D__z5u1S*;cS05do)ti^=jb{Z?=dSegL64w7lPv$P#gouCE(mhiJM4T(-GT.WsZb2h#z?Y8.*i[J;7pq4?#DDQ+).]thGUF:ZP?vh[:OMTf)0=mkCSDC1Mz8FWy#P,[?UlK@Dm:IRNd6!58s)K3gq]=GX#onAJu;QWKyK;BG[F]ujg3DoDp:q@sWxD8xN+H*L45#ulz(P?3?_e?(@V45i3}MUw[ZylbhbY]$A_Norq46e@kHS2Bb?Sn%FzAa$@$L_v]88rJpLZ{9riYV%U[0fLtvA^/UI4dAyMTa$5w:M)m[oKId}Cdu-GL??;Oq{d(9]n_Ia^Gd3LTgJ7/I#b2o[%4R;Y(t6IPoIX!D1?2JxrRu2faHlEO]Aho-EP0;/Jk7]*zuX_=_yrH]t_3SjG:9BShea6t!k}Ile9*ZI2SA{Z(PtF7_$1Cp[Uf[*_D]POt2dkgE-is0fBptmQxa08M]unb@w;%H1UWnAQXGR;nlvX+k#-ggQxUgxxn8!It[]-hSF(!1Jhh7unn]!FS;xIKJ2b26sK*t@rkCaf%/M#@Mb!xO*7U3assfQKGQvHl);^E[a#fCCS5QX9Z)$idqnP/qJe_Nmph36@8gAOO]*L[nk_%Cw]V7%pMGvk)?-gX$X,:Y)27IL?pg]uHEXI7.flS1PdrBq95hHm0}Qs]R:z/?u5]u);5O$Vd=C)H?r8gzXBgJtqtkCYqk*3)!4s2#tNn:7nyZ]^7Q0x%Vsck9t$$$@w,H8:3-/;(rpF-+:]z)m^q)uNZqJJ%y]}OK+1{A0P%f=Dytuqsrm#LQmP4w6EC]*,#+VJuhEi#BXnuf5-yio1delx7]0c8nhVwY.LKq:.tT%Pj!grQN?i^U1gNHZtTT9wsv4%l8Fr]OPu{gE$B7}s7-BdlSrr_7d38q$$oKLW8f]tHo9MdF_B7=}vn#fiM]IjJ$!e[?]1ImyC^NEAfqIbyzn{4};QGevxE07%@tx9i;]ypa]5FA=/s/N8Uh*isF=?Y0.01xNM]yYD-(RkZ+^RTVv[JZlY)l2UsCziX0IOV=q</aaRepeat.lua>
  </Files>
  <CheatEntries>
    <CheatEntry>
      <ID>0</ID>
      <Description>"load script and setup for test"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck==true then return '' end
--

-- common function
function loadTableFile(n,mode)
  local hdr = 'loadTableFile: '
  assert(type(n)=='string',hdr.."input should be a string -"..tostring(n).." of "..type(n))
  local m = assert(findTableFile(n),hdr.."can't find table file -"..n).Stream
  m = assert(readStringLocal(m.Memory,m.Size),hdr.."can't read content -"..n)
  if type(mode)~='boolean' then return m end
  m = assert(loadstring(m,n),hdr.."lua script load fail -"..n)
  return mode and m() or m
end


loadTableFile("aaRepeat.lua",true)

{$asm}

[ENABLE]

globalalloc(__,$4000)

__+60:
db 11 22 FF 77 55 aa 99 00 00 00
__+70:
db 11 22 FF 77 55 bb 99 00 00 00
__+80:
db 11 22 FF 77 55 cc 99 00 00 00

 
[DISABLE]

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1</ID>
          <Description>"repeat test (aobscan)"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>///CUSTOM  &lt;== this is to use our Custom PreProcessor,
//             w/o this it will run as normal AA
[ENABLE]
RepeatWith(symbol,"AOBScan('11 22 FF 77 55 ?? 99')") //??? comments..

  symbol+08:
  readmem(symbol+05,1)

RepeatEnd()


RepeatWith(symbol," -- from here to next _DOUBLE_QOUTE_ is Lua expression
-- multi-line possible, AA may complaint for syntax error,
-- but it should work, as long as there is no Lua syntax error ;)
(function() -- use this function block to allow local vars

local a = 5
return {1,readBytes('__+10')+3,3,a}
--  RETURN Value must be of type TABLE or StringList,
--  StringList has to manually/externally destroy if need.
end)()      -- function block end
") //???

  __+1symbol:
  db symbol
  __+"symbol"0:
  db symbol

RepeatEnd()


[DISABLE]

</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>
</LuaScript>
</CheatTable>
