<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="26">
  <Files>
    <dropdown.txt Encoding="Ascii85">jhoAI/2aUvd$tu)?4)ee*gmWE.zn;fCc/{Trd[GFJeA$GgCtmDh$7Uy+ri/cJIrccub-sP0VVrqSs5]q-}b^)ko=Yn4xoSguRr}1QvCU9yX+G/^o?a5ab7lybu#PR*6/VXWW{[seDV.MKmH)!S:ZM=Sr*hcckcA.fBZoevt7A4@wPy,Ss#CHiZ2W5Q?UtbQQy2ccU=!9JoK:_pXZgUH$3#DIBOQeRnqimPpFbXCjn(%Wd(tj,[{D9Hv426DjGC3#r=kR%EfWUX%4,%3fTn8DU?Lb8O$Jq8DubnOhef}8OF[ETmj;Xw0L{;CA:)}O-t3R[{tg7q;=Budsih7=ptWMMHZi3:VDROvbMf+(5}:nm?U=_FPA/x!UP0NK-l7?Z#HX{e6Gu9Pd),Nxb*ld!;y{[pUSkjYUVyUuiP=rfOU_t4ieTu))AD4t17v4tJQE7SPf}4scXu5@*[fe-0!ps(qH?u7zGQX.DIQZh:PeIn23T0qF?RN*/eO1C;U46xH;I/EqA]5QdXQ-W%rFr@f4=#vnxYQ6/N$@t=4F}v6m]-DQllRy0W6%)J-]zp+0MxVQ2$G8?Ocyw]_},4cxMUTQ*GRfpHCtYhc[Q#=4^e9LCLI,#JTuVcZ/X(0+Xe#=4[_3+%ZC+Ji}p-Y,X(QY)sE[p/SO]gSd=c1JHzw9}s+R]lBNhs__eoO^/KXKm}Hsv]qTz}.q0F^tevl{Fr{U=s(0l4l{^-,U92++bK_Pk.THO-P]L#*]oT.%0)Fr#N)qLyw=0qTUF5BkrX+gA]^l0v-{CMdYQ#ya%?^d1,H)-ptJ#rX=Zox@mmOZ(tA=i;tN@3ofbxf38P0oB*yU+7coV)DRJfz(RlPQh{::M)D;=5V#5gS3%$@ApBCKUn,105?#TB28g@:j:T?fK.jG#c(Wr0NSpzJE:AI%gu3%4xMgy,j4MvKyQtiL8^+m#?QC+G!oRi4./p!HuALtcloI/M*=vF[yV7x07Z;i=RrF,((t,8(eGGjpP3xP?P^pYs3sZz*s(R2NE^=^/)YQEz/eYJF5Qr%fF-0V%$ix))m=9NZ#A1qEOc9JJk{+XzrpU$:.g{+FQ@Mo*!$fcihbKB-H14TOE=ix,V?QdS*KPIs6+nI}Zg,0caSdlckbGQ,:0Dox*?]?)Ss+J?gk[4fOc9r/#i;_a35zRXaV0Fy16i5ckwO_tB-BVq%M59mO.9EwC$k9)C4@;%)995.8A3BlM:Fg!71y=.C.G+vVnvY:J8#J$CpV-5No#g(qGv/s=[*E25bvu_J5CBYnh^4YonN{DZ/DiT%NCs3NIs7A/5*oA,KeRRNJEZ9/VZ!1WaLOkB1$tvX?*4x#7M+93:pLmqBKL4W^A:ZQJNu2Gel]dD82KpTN8JFrR8T!Mk:2][F5OOJwCa]CO!-z;ug;6YWdnp75Ba*=fce6AG:%x7Y$}3:AZiQuI/Zc%8LsEV4d8P663mk4L+hr#9UIgi[P(Ggxv?KRQW_08m=x:+U*V6l7!xeu(0UK@n[nF$l[O5ZT3y,lgq{p^C:VE%usn_C[OU-Zic_k5V#ovH$(iN2.2.To9R)3f-@wiW)eF2ftw,4GxPQk(qL[:774pC:8I*9EYoY7EG_Po:VgBFq7Gzy=L!WU,+4?FZs:eNiU,#RFIip/rkuXg#.?Fm2d-IuZT7DhARZrDZ?88gXI/sm/i?iM%m}Y}eYIQr]t1iKAt?MyE6C!fGwS1hPKGP7O%+=#)}E^CeH]c$+USMOkAbH8dMR8-#C3,a(Jfob.yOcIXNc/zah*NqGsJafM{g%ivc%AmaDC9rSFYhGjBQzQSFY9[J03yQzAqb6$.rc@RUST)b62l8mKKEX8xn*b#X4,.-^_7(nx11q9A5Z^Q$Zx3)xa$woSep}[Q?{vFijoVWQ+)Li]9g%Sab9^IfRc;)lV}+ixJ]/Kb,N?.nD;63.NK:%dQ;cSP/H88v4SMyD-2)ph6Z%c7bFUsE]FhT[Ds2LR{ElAH(Xlqv*/G,pVkF#!7j(TbGR:nTZwsd[OXgawZS(2wP{X#k2^)=}]f2,r:9o@3xhGOGh9_ZoOO1DI#aP0sFbHV(8oD^BC]/9e!,yV*Pv=T:T=Pg9*^VidLS#FpBND4_*cHo/WGi+L:g[IA.(YJACpl@jw$6cY/8RU7!g5oSv/)+nq1#N.i!14d@BWx)R]bTcF_:sJI0xZh=whpyC#(xCJV1fr=w8.ue?)5SU#Mm_hT:Ul7Q7ft)k{d4Zf4$a#UB7sz;moEOM;p{#u:/h)%63+?^((I^zcKw(LVSPK-@0*?3eVJ%Qt3l!D?g_$FoEl@ks%sU9w*(esR0#gqHa{NTAwa7/[FPs4}S_FnZGFl+]1u_M7qXjZrAfp8]TG(zU4Q3#b)UKT[=^=%pFGARqo-M=e7w/drr{WuTgWE+2D1P-T?;bE,5,GhmCa7d(6La@.rLP$5Y$E,sR-0te[,9+_W{!nAU2]UGI+ek-B_klRpL_?/7;##Zw(ulk/Lkvbxh9DdbA+-%xFrJNn4G**M#H){A,(roV*k[vUVO7pW=_^rk]*isIk^=gtdjzp$lHXzTR-(][3C$Qk]$;nTh5/d=c.=Ajuk0.!q2U5:E/Xv7t?h)oML/ZCAsFEUzD!u[Q{/1RfiQ?/NVt-iMVnRuV*VqZR!cO(GFX,]TO#B(vJ6H;7rhg#QMvIqUGeCoYdS@)MER;y0R^lsf)E.$.lB}nkCP-P5zySj,s*r5stv:p{B[L;70#pGoj/#Nl2DD)mH.*YRp?aPa_;RHf%7oGIiVW1bcc*Y_2T%bjdK+#k!.:so6{lCyhG}FUcp+l(1@TJOSc9J%NTrGuzpc7UU$VC-zfUt2TBbiA!t!fydqQJ+.?q#8E3v!*[589*]TYjAj@Wy56H{[?yE?aOwT-!!V:SHo7B8zTiBR;?DugHqg7.?bZ#VxZ$N[Co.@IjXAC5V*Ine/C$(9$24rT/V;q:Al2@sx^TQ)NzURt@z=f-cV+l9gkA{rzT}(8e_n.qY!^Qt!}DsEd{$niD*:gsD;;Wohcz/FgP@{Sd;Z6dZbGy2fx@94n=Al./KG(3?*Q@B6aKi@kYh=5zi^,55]B$CUn9{iNHt2TE39Bb9es@NUn9{iNc1%leT[t4BhlAL@feM:3W;f)qOXzYYb5#[iM}dnuaW3$B;EaTN@YaaH^)qOoB^e8iM}dnuaW3$B;EbOzDA/2k=3nA]WlJ8Mxw8g:xZeU8i}F{qOXzYYb5#[iM}dnuaW3$B;Ea?M.j]+qe8ysk?Mx{@u:+Ci(ghp7en)IG4N:T#k6l$Wt4w_MHRE}*cG21y7+YPedRb(PrTr-NU=,IoAT{I@!fYe?*;[.iwjbkZO5P5!A7p-Y8u5pr#clmme+:;@.fo#dnEW(d;ujuM]Q^U/[g0Bh2en0a6n-:pfDUz7!D{%6fw_gl3zmS:j5c;INF:S%[,=FD9rUJat03sm7V7{GF{8^10LX{FPD7lnDtSZ@-.un0(N]}FfGlFf0eR5eQ)d$p1rpVwu_=6$#)hPuGp@L,cn$ud%Iz}d2i3zp1-$Sw%Zf.HQ^YOxZ(%PoD#1OMiC052qi}bg!mAUDGHgQFp5w{b}W0d9PLn!wkSt=l%q_]?h(CKV6.y.,Nd1uR3h0Gl3gL$6[Q.c+%gvq;Cr_h(H%{-kn9S^u8]}s$+z#;3dydJ;/Xg?Wk!3oI0GcRLb59*yF#*nB*dYgD/r!?vMVIJ%17J9I0GcRLb59*yF#*nB*dYgD/r!?vMVIJvZEdA)U$e3xSjH6uL/i@%D9wqNpMLpH*E@hQfyURimkdh;pGUjv4:U/Vz2yIi#.u:z9)Ok2..8l/h9CuiO$C:cP2F7m-TY!DTZ=FCWmtDqmG%{+y{Z}8}d4KE%qb?Ty^e?8.jhBc,5raKoq]ucFSRAMB$,lJBdRjcB9e5@P!g-%CVCk%CQeE!J.ckhQ=m]u?=K.V}u,fdmp0K/c@qE)U?1!m}q#bao3n{+O+Gtgv*6l70qW1L:0s7H[v5TOnujsPkTOmFezpg;2NMm:-7AML(lQ_oHNqIK2q*#mx$t[e)KxULvdcS,^Ch]r^:o#oFcY)8@pdh1K%=8Pb2;^?o(1]x5+*Kp8Ry[:l$wuZs9/7b+cf@1.MBZjPYV.@EObd2R}8qTJP/,T+S,d@.2jlI33PqAT#yoc+p2]2QpJ5Gc[[)BQrHJQ.(^#jLvwB4tXFmH8N8pGc[[)BQrHJQzJ9A867gg86Yz=GE+ZnH8N8pGc[[)BQrHJQzJ8VK04:uGeBl*WTr-DYGkHHW?::nMrLYcrbcFJJ34AJI%_W6ZE!Qw.AW:5%{j%vnT8Phal7+aa{4X:p[XyY9BYDWc/u*GGfm23rj1{TX+!ho[e4+Yy8WR:9BZ+n9(3DU6txCLtwB,1P{CX{wT2*%TX?d48-{P]RfqhGA(lO-Z=Qz.unL?;Fd3i!W2P9}urvfvGC%wJpa1y3[V^}K^H=4%^LOLd+f2:rH[T.QT!+IXYwkuAy=2W;:Y6IjW(#Ycbf90nVS=$vzo90M1RSbzVBk/uk%B^64.(mSCX#R^:SLO{RePXeti@M1gg-9gJAs/g$k7=B_5u!9P+WOYszIh2*RYD[r9pHWM5j?sV[-M}WTZh(X@?Ww]Dl:j2Ki]@j_TZ?kdH:;PNLxqkdFrWXhx@tM#tbr:io+M.YKInM%jYVS-A0GIGn-gI2]iPARi6#)I6iU@3fn44f4=-A5A[wkB2iLKK?U:sl!YC:H)1:?]N!xWz0=*#VMmaWmKn)]jpX{GUlg?C,.XG=ow1sx^lO:ZyH8P9uwdD([sBkoiJGW:eXzf,3)rHl4jSH^WiI1[H8$GlP4}ziof*);Aoe]jazLa.BtcWy)^a@+REdp/Z}H}rufp#xkqw0B,c[lern/btzpOVk}0?RPWH{sar-pq%{d]ryOM40i7h9dQjTZ*a@m^q,9z,f^(qD/uypk?*G=b%XdG@zXn+4fa8t*Q,(t#O7h$^Q4bwsS/b=fOJ@?WXymTa{zPfn9oHrU+oPIB#59hV;*V{^YxdZxzUkB#nFlgNPZ1@n2j%!(lOf%@=$4l4ad}8lG.ym/!=_C0G(yHKiZ,Vh?$a)x;uoLqqukqfNzh,[21E:cm]kFT%a!!Hwu1;BNp$@,{)Iy{HsOsdMHJa1,:4j6fdK0=,heua!5;k:LWxw6VEsvbM(12YxrU?[c3B^cm[Gfuaiw_$(mmME4KdWn3#ows-SmW^OuOTdH:5f0]7wjbIm5f)9Tavfz]o/q7X9_%f7yGzFl01@Xi/ioIAA%m).SFVzE$,(;Z;r:M_I#M@^Kx,$AKSK%DkLZOb-FR+#]HUlf+Z5%G*it1-*U6bD8JLFxlw)m)Qu;wPGioE/}xm,8{m]*.pO0lQ@--1Q@r%Dr@-$l#VI4b.^1j]gs=q*C++o;8U^/1%y;*V?WGH1z6=$1+8BL{r_Zzshv.[v^+q6:@JUwS)qTaqpZ)!i]FC56,gNY!1o]YweO;a(fFVD5wVhXf%Pnc}(V)QEwPUH4;);YTncnUt-O={=Irg*ztN*Yw?yVz==;;2kn=B)#a=QbH7tc@7pAH8ab8Sxb%$d2o[u^GrCyPVuYK!0eHYSSiLj.]RKZeljKMT+H?#U)fm2G.y3)@HQt[^[2,]eYQkUF;s,j-x^0R5[7m8;sw)h1X@cjMLsj@Rm;S}w4]S.j5U0i_Ymc,2FhA?7hpmcxOPoaDo(zAD_A((K?WQPXvkGj7OFG?Nq-$.]MNILsiQyqf^)jF0tm+(U%rQscp_:oR2*k4MgO5+*Lwt0D!tDo@u-n}1jjW?eM?I3j(*^bul5pF-c%?q5WnJ*QiN]#U91?;B98KP6A^Q{QG}B}S8G?,3bcPx4dpBtIoj?;B98KP68r$(;4^?lVx0x$f%}]!-AR/cvO^IYEBd_7Ke?^NLcBaxYvZKhcyQE/zQWcwB}eoGl5Hv).fgl(h-vmDC5HvHBX^O-q7g+rOh^5$)hr;cdvDB[T3fyJkn/9XW+f3(MZjE:t}^9CkYSzZ2x{csC)#a(kRA=#ahpO15x1E@fkJSM;1NB8rbqsOKaxlIyZvvq[RXYUbSQup4bja9mez!}4PAaO0#oE{F94C12_Jo=1R7TQ+(MNeOdo$q)lkX8kJuH-m*6:W.$:+u[6+kj)f{MaRbb=Up3QaNoSq(-IM[o=FppOpDBaY[i$$[}oFk=5o5WHuKq^.:zEoy5;zM]kH8z,qji(Nn6a@GjnWO9%i5A#{khGc(30(w%^WJd_og/B+BVxyWMkGJDdfuBqi=p1ue@U3}nt,h}t)Gt%BRdLvEJD!=3r1UHQ1cq#1arX{zm;qRp}YhzIv,efx@ObhgpFD{J=ZeB4E2li}m79roxg:L5@)9pRcKWk/B47k1_TlK(,$DGpom[RZxFyYZIX^PE1dV-xz:hhE*sMN;HL$g?ozw(J-Av5du-*=!R,F^ZT])@]yaEylDKV[J)bt.LwuVoYl;rnMN.T8wEe#/Uh:T8lBQ#hBJ(OlvWwwHVV^jA/;#v:)Dpi!rUmnAT!UYcZy@7{HveX*VUI7GqkAF_Eaz*=!R,F^ZT])@]yaEylDKV[J)bt.Lwu:A+w[.S5Iq[8R?(YxI9F%:uZ(]B{^QS/Lxa%:y^TpS;^WXaDebuL+rDBxMNC$ye]oq5c.</dropdown.txt>
  </Files>
  <CheatEntries>
    <CheatEntry>
      <ID>33</ID>
      <Description>"Panraven script"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$Lua}
sl = sl or createStringlist() --
sl.Text = [[
Peter - 123
Paul - 456
Mary - 789
]]
rl = rl or createStringlist() --
rl.Text = [[
Peter - 99999
Paul - 88888
Mary - 77777
]]

print(sl.Count,rl.Count)

local al = GetAddressList()
for i=0,al.Count-1 do
  local mr = al[i]
  if mr.Description:find"@[rs]l" then
    mr.OnActivate = function(mr,before,current)
      if mr.Description:find"@sl" then
        print(showSelectionList("Select","choose",sl,true))
      elseif mr.Description:find"@rl" then
        print(showSelectionList("Select","choose",rl))
      else -- in case @[rs]l removed
        return true -- pass/ignore
      end
    end
  end
end
-- to test make some memory record with description having '@rl' or '@sl'
{$Asm}

[DISABLE]

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>34</ID>
          <Description>"@sl"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">sl
</DropDownList>
          <LastState Value="3" RealAddress="00400500"/>
          <VariableType>4 Bytes</VariableType>
          <Address>400500</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>35</ID>
          <Description>"@rl"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">rl
</DropDownList>
          <LastState Value="0" RealAddress="00400504"/>
          <VariableType>4 Bytes</VariableType>
          <Address>400504</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>36</ID>
          <Description>"sl"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">1:Normal
2:Fire
3:Water
4:Earth
5:Wind
</DropDownList>
          <LastState Value="2" RealAddress="00400508"/>
          <VariableType>4 Bytes</VariableType>
          <Address>400508</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>37</ID>
          <Description>"rl"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">1:Normal
2:Fire
3:Water
4:Earth
5:Wind
</DropDownList>
          <LastState Value="0" RealAddress="0040050C"/>
          <VariableType>4 Bytes</VariableType>
          <Address>40050C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>38</ID>
          <Description>"Item 5"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">1:Normal
2:Fire
3:Water
4:Earth
5:Wind
</DropDownList>
          <LastState Value="0" RealAddress="00400510"/>
          <VariableType>4 Bytes</VariableType>
          <Address>400510</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>0</ID>
      <Description>""mydropdownlist" to List (mgr.inz.Player)"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$Lua}
local function addDropDownList(list, listName, ...)
  local DropDownReadOnly,DropDownDescriptionOnly,DisplayAsDropDownListItem=...

  local al=getAddressList()
  for i=0,al.Count-1 do
    if al[i].DropDownList.Text:match(listName) then
       al[i].DropDownList.Text = list
       al[i].DropDownReadOnly=DropDownReadOnly
       al[i].DropDownDescriptionOnly=DropDownDescriptionOnly
       al[i].DisplayAsDropDownListItem=DisplayAsDropDownListItem
    end
  end
end


local aList=[[
1:Normal
2:Fire
3:Water
4:Earth
5:Wind
6:testifworks]]

addDropDownList( aList, "mydropdownlist", true, false, true)
{$Asm}

[DISABLE]

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1</ID>
          <Description>"Item 1"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">1:Normal
2:Fire
3:Water
4:Earth
5:Wind
6:testifworks
</DropDownList>
          <LastState Value="3" RealAddress="00400500"/>
          <VariableType>4 Bytes</VariableType>
          <Address>400500</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>2</ID>
          <Description>"Item 2"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">1:Normal
2:Fire
3:Water
4:Earth
5:Wind
</DropDownList>
          <LastState Value="0" RealAddress="00400504"/>
          <VariableType>4 Bytes</VariableType>
          <Address>400504</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Item 3"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">1:Normal
2:Fire
3:Water
4:Earth
5:Wind
</DropDownList>
          <LastState Value="2" RealAddress="00400508"/>
          <VariableType>4 Bytes</VariableType>
          <Address>400508</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>4</ID>
          <Description>"Item 4"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">1:Normal
2:Fire
3:Water
4:Earth
5:Wind
</DropDownList>
          <LastState Value="0" RealAddress="0040050C"/>
          <VariableType>4 Bytes</VariableType>
          <Address>40050C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Item 5"</Description>
          <DropDownList ReadOnly="1" DisplayValueAsItem="1">1:Normal
2:Fire
3:Water
4:Earth
5:Wind
</DropDownList>
          <LastState Value="0" RealAddress="00400510"/>
          <VariableType>4 Bytes</VariableType>
          <Address>400510</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>39</ID>
      <Description>"Zanzer Script"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$Lua}
local dropdown = findTableFile("dropdown.txt")
local stream = dropdown.Stream
local value = createStringStream()
value.copyFrom(stream, stream.Size)
value = value.DataString

local aList = {}
local function helper(line) table.insert(aList, line) return "" end
helper((value:gsub("(.-)\r?\n", helper)))

-- aList is now populated
{$Asm}

[DISABLE]

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>45</ID>
          <Description>"No description"</Description>
          <DropDownList>aList
</DropDownList>
          <LastState Value="3" RealAddress="00400500"/>
          <VariableType>4 Bytes</VariableType>
          <Address>00400500</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>47</ID>
          <Description>"No description"</Description>
          <LastState Value="0" RealAddress="00400504"/>
          <VariableType>4 Bytes</VariableType>
          <Address>00400504</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>50</ID>
      <Description>"test @Items"</Description>
      <Options moHideChildren="1"/>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
if not showSelectionList then
  error(showMessage("Get latest build from [ http://goo.gl/G2yMH4 ],\r\neg, update17.11.13.7z, \r\nextract it to ce 6.7 directory"))
end

local txt,ss = findTableFile'dropdown.txt', createStringStream()-- load table file
txt = txt and (ss.CopyFrom(txt.Stream,txt.Stream.Size) or ss.DataString), ss.Destroy() -- copy to a lua string
TXT = TXT or createStringlist()
TXT.Text = txt or ''  -- copy the lua string to ce string list object

--- setup
-------------------------------------------------------
local targetMRDesc = "@Items"
-------------------------------------------------------

local al =  GetAddressList()

-- clear previous version
for i=0,al.Count-1 do
  local mr = al[i]
  if mr.OnActivate == _OnActivate then mr.OnActivate = nil end
  if mr.OnGetDisplayValue == _OnDisplay then mr.OnGetDisplayValue = nil end
end

_OnActivate = function(mr,before)
    local idx, str = showSelectionList("Select","type some text:",TXT)
    local value = idx&gt;=0 and str:match"^%s*(%d+)" -- extract the 1st decimal string
    if value then writeInteger(mr.CurrentAddress, value) end -- write the selected value
  end

_OnDisplay = function(mr,disp)
    if not mr.CurrentAddress or mr.CurrentAddress==0 then
      return true,'??? unreadable'
    end -- unreadable
    local value = readInteger(mr.CurrentAddress) -- read current value
    if value then -- may be nil (unreadable)
      disp = TXT.Text:match("%f[%d]"..tostring(value).."%s*:[^\r\n]+") --extract the line
      return  true, disp or value ..' ??: &lt;not listed&gt;'
    end
  end

-- set updated funcs
for i=0,al.Count-1 do
  local mr = al[i]
  if mr.Address~='' and mr.Description:find(targetMRDesc,1,true) then -- do the mr has target desc?
    mr.OnActivate,mr.OnGetDisplayValue = _OnActivate, _OnDisplay
  end
end

{$asm}
[ENABLE]
globalalloc(__,$4000)
[DISABLE]

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>48</ID>
          <Description>"@Items 1"</Description>
          <LastState Value="44" RealAddress="00720100"/>
          <VariableType>4 Bytes</VariableType>
          <Address>__+100</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>49</ID>
          <Description>"@Items 2"</Description>
          <LastState Value="7" RealAddress="00720120"/>
          <VariableType>4 Bytes</VariableType>
          <Address>__+120</Address>
          <CheatEntries>
            <CheatEntry>
              <ID>51</ID>
              <Description>"use another mr to freeze value if need"</Description>
              <LastState Value="7" RealAddress="00720120"/>
              <VariableType>4 Bytes</VariableType>
              <Address>__+120</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>__</Name>
      <Address>00720000</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
  <LuaScript>
</LuaScript>
</CheatTable>
