<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
<CheatEntries>
<CheatEntry>
<ID>0</ID>
<Description>"CompactMode"</Description>
<Color>C0C0C0</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
LuaCall(function cycleFullCompact(sender,force) local state = not(compactmenuitem.Caption == 'Compact View Mode'); if force~=nil then state = not force end; compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'; getMainForm().Splitter1.Visible = state; getMainForm().Panel4.Visible = state; getMainForm().Panel5.Visible = state; end; function addCompactMenu() if compactmenualreadyexists then return end; local parent = getMainForm().Menu.Items; compactmenuitem = createMenuItem(parent); parent.add(compactmenuitem); compactmenuitem.Caption = 'Compact View Mode'; compactmenuitem.OnClick = cycleFullCompact; compactmenualreadyexists = 'yes'; end; addCompactMenu(); cycleFullCompact(nil,true))
[DISABLE]
LuaCall(cycleFullCompact(nil,false))
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>36</ID>
<Description>"Attach to Process"</Description>
<Options moHideChildren="1"/>
<Color>000080</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
function Attach()
local gp = "SuccubusHeaven.exe"
if (readInteger(process) == nil) or (readInteger(process) ~= readInteger(gp)) then
openProcess(gp)
end
end
Attach()
[DISABLE]
</AssemblerScript>
</CheatEntry>
<CheatEntry>
<ID>129</ID>
<Description>"Character Attributes"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>107</ID>
<Description>"Character HP"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>10</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>110</ID>
<Description>"Character HP Sup"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>14</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>109</ID>
<Description>"Character Stamina"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>108</ID>
<Description>"Character Stamina Sup"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>1C</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>111</ID>
<Description>"Character Tough"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>20</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>112</ID>
<Description>"Character Ecstasy"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>24</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>113</ID>
<Description>"Character MaxEcstasy"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>28</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>114</ID>
<Description>"Character Impurity"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>2C</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>115</ID>
<Description>"Character MaxImpurity"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>30</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>58</ID>
<Description>"Character ATK Rate"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>59</ID>
<Description>"Character DEF Rate"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Float</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>54</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>116</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>121</ID>
<Description>"Character Bust Sensitivity"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>24</Offset>
<Offset>E0</Offset>
<Offset>20</Offset>
<Offset>220</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>123</ID>
<Description>"Character Clitoris Sensitivity"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>24</Offset>
<Offset>E8</Offset>
<Offset>20</Offset>
<Offset>220</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>124</ID>
<Description>"Character Vagina Sensitivity"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>24</Offset>
<Offset>F0</Offset>
<Offset>20</Offset>
<Offset>220</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>125</ID>
<Description>"Character Anal Sensitivity"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>24</Offset>
<Offset>F8</Offset>
<Offset>20</Offset>
<Offset>220</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>122</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>37</ID>
<Description>"For DEVs"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<Color>808080</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>8</ID>
<Description>"pointerscan result"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>58</Offset>
<Offset>D8</Offset>
<Offset>30</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>9</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD9C68</Address>
<Offsets>
<Offset>58</Offset>
<Offset>D8</Offset>
<Offset>30</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>10</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E6EED0</Address>
<Offsets>
<Offset>58</Offset>
<Offset>D8</Offset>
<Offset>30</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>2</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD29C8</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>30</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>3</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E985C8</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>30</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>4</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E7A148</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>30</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>5</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FB43C8</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>30</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>40</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>100</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>41</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD9C68</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>100</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>42</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E6EED0</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>100</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>43</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>44</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD9C68</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>12</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E6EED0</Address>
<Offsets>
<Offset>258</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>51</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD29C8</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>30</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>52</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E985C8</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>30</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>53</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>100</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>54</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD9C68</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>100</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>6</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E6EED0</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>100</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>7</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E61CB8</Address>
<Offsets>
<Offset>1B0</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>B0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>55</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>56</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD9C68</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>57</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E6EED0</Address>
<Offsets>
<Offset>50</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>11</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E61CB8</Address>
<Offsets>
<Offset>1B0</Offset>
<Offset>18</Offset>
<Offset>2C0</Offset>
<Offset>D0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>60</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>58</Offset>
<Offset>38</Offset>
<Offset>20</Offset>
<Offset>218</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>61</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD9C68</Address>
<Offsets>
<Offset>58</Offset>
<Offset>38</Offset>
<Offset>20</Offset>
<Offset>218</Offset>
<Offset>A0</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>62</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E6EED0</Address>
<Offsets>
<Offset>58</Offset>
<Offset>38</Offset>
<Offset>20</Offset>
<Offset>218</Offset>
<Offset>A0</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>1</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>90</Offset>
<Offset>20</Offset>
<Offset>218</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>64</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD9C68</Address>
<Offsets>
<Offset>90</Offset>
<Offset>20</Offset>
<Offset>218</Offset>
<Offset>A0</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>65</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E6EED0</Address>
<Offsets>
<Offset>90</Offset>
<Offset>20</Offset>
<Offset>218</Offset>
<Offset>A0</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>94</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03EA33E0</Address>
<Offsets>
<Offset>138</Offset>
<Offset>18</Offset>
<Offset>30</Offset>
<Offset>18</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>95</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03EA33E0</Address>
<Offsets>
<Offset>138</Offset>
<Offset>18</Offset>
<Offset>10</Offset>
<Offset>10</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>13</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD3418</Address>
<Offsets>
<Offset>138</Offset>
<Offset>18</Offset>
<Offset>30</Offset>
<Offset>18</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>14</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD3418</Address>
<Offsets>
<Offset>138</Offset>
<Offset>18</Offset>
<Offset>10</Offset>
<Offset>10</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>16</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD59A8</Address>
<Offsets>
<Offset>138</Offset>
<Offset>18</Offset>
<Offset>30</Offset>
<Offset>18</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>17</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD59A8</Address>
<Offsets>
<Offset>138</Offset>
<Offset>18</Offset>
<Offset>10</Offset>
<Offset>10</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>118</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>24</Offset>
<Offset>E0</Offset>
<Offset>20</Offset>
<Offset>220</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>119</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD9C68</Address>
<Offsets>
<Offset>24</Offset>
<Offset>E0</Offset>
<Offset>20</Offset>
<Offset>220</Offset>
<Offset>A0</Offset>
<Offset>10</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>120</ID>
<Description>"pointerscan result"</Description>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03E6EED0</Address>
<Offsets>
<Offset>24</Offset>
<Offset>E0</Offset>
<Offset>20</Offset>
<Offset>220</Offset>
<Offset>A0</Offset>
<Offset>20</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>49</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>91</ID>
<Description>"Other Slots"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>92</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>46</ID>
<Description>"Chara::Item::Slot1: +Value"</Description>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>73</ID>
<Description>"Chara::Item::Slot1: Seed"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+8</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>50</ID>
<Description>"Chara::Item::Slot1: UsageCount"</Description>
<DropDownList DisplayValueAsItem="1">-1:Non-consumable
</DropDownList>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+C</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>72</ID>
<Description>"Chara::Item::Slot1: Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+10</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>74</ID>
<Description>"Chara::Item::Slot1: AddPhysicsPower?"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+14</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>75</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>67</ID>
<Description>"Chara::Item::Slot2: +Value"</Description>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+C0</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>76</ID>
<Description>"Chara::Item::Slot2: Seed"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+C0+8</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>69</ID>
<Description>"Chara::Item::Slot2: UsageCount"</Description>
<DropDownList DisplayValueAsItem="1">-1:Non-consumable
</DropDownList>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+C0+C</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>78</ID>
<Description>"Chara::Item::Slot2: Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+C0+10</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>79</ID>
<Description>"Chara::Item::Slot2: AddPhysicsPower?"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+C0+14</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>77</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>80</ID>
<Description>"Chara::Item::Slot3: +Value"</Description>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>81</ID>
<Description>"Chara::Item::Slot3: Seed"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+8</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>82</ID>
<Description>"Chara::Item::Slot3: UsageCount"</Description>
<DropDownList DisplayValueAsItem="1">-1:Non-consumable
</DropDownList>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+C</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>83</ID>
<Description>"Chara::Item::Slot3: Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+10</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>84</ID>
<Description>"Chara::Item::Slot3: AddPhysicsPower?"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+14</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>85</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>86</ID>
<Description>"Chara::Item::Slot4: +Value"</Description>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+60</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>87</ID>
<Description>"Chara::Item::Slot4: Seed"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+60+8</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>88</ID>
<Description>"Chara::Item::Slot4: UsageCount"</Description>
<DropDownList DisplayValueAsItem="1">-1:Non-consumable
</DropDownList>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+60+C</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>89</ID>
<Description>"Chara::Item::Slot4: Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+60+10</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>90</ID>
<Description>"Chara::Item::Slot4: AddPhysicsPower?"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>18+4E0+60+14</Offset>
<Offset>48</Offset>
<Offset>2C0</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>68</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>93</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>167</ID>
<Description>"Slot: +Enhancement - Displayed"</Description>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>90</Offset>
<Offset>20</Offset>
<Offset>218</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>166</ID>
<Description>"Slot: ATK - Displayed"</Description>
<ShowAsSigned>1</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03FD4CC8</Address>
<Offsets>
<Offset>58</Offset>
<Offset>38</Offset>
<Offset>20</Offset>
<Offset>218</Offset>
<Offset>A0</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>106</ID>
<Description>"GatekeeperA_SuppliesCount"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:0
</DropDownList>
<VariableType>4 Bytes</VariableType>
<Address>"GameAssembly.dll"+03EA33E0</Address>
<Offsets>
<Offset>138</Offset>
<Offset>18</Offset>
<Offset>30</Offset>
<Offset>18</Offset>
<Offset>0</Offset>
<Offset>B8</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>126</ID>
<Description>"----------------------------------------------"</Description>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>168</ID>
<Description>"Auto Assemble script"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<Color>FFFF80</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{$lua}
[ENABLE]
if syntaxcheck then return end
-- Cheat Engine Lua Script: GUI Trainer for Address Search
-- Table to keep track of registered symbols
registeredSymbols = {}
-- Function to unregister previously registered symbols
function unregisterPreviousSymbols()
for _, symbol in ipairs(registeredSymbols) do
unregisterSymbol(symbol)
end
registeredSymbols = {}
end
-- Function to perform memory scan for a given 4-byte value
local function findAddressForValue(val)
local scan = createMemScan(true)
memscan_returnOnlyOneResult(scan, true)
memscan_firstScan(
scan,
soExactValue, -- Scan option: Exact Value
vtDword, -- Value type: 4 Bytes
rtRounded, -- Rounding type: Rounded
tostring(val), -- Value to search for
"", -- Secondary value (not used here)
"00000000", -- Start address
"7FFFFFFFFFFFFFFF",-- Stop address
"+W-X-C", -- Memory protection flags: Writable, Executable, not CopyOnWrite
fsmAligned, -- Fast scan alignment
"4", -- Alignment value
false, -- isHexadecimalInput
true, -- isNotABinaryString
false, -- isUnicode
false -- isCaseSensitive
)
memscan_waitTillDone(scan)
local result = scan.getOnlyResult()
scan.destroy()
return result
end
-- Create the main form
local form = createForm()
form.Caption = '4-Byte Value Address Finder'
form.Width = 400
form.Height = 600
form.Position = poScreenCenter
-- Create a label for instructions
local instructionLabel = createLabel(form)
instructionLabel.Caption = 'Enter up to 12 unique 4-byte values (one per line):'
instructionLabel.Left = 10
instructionLabel.Top = 10
-- Create a memo for inputting values
local inputMemo = createMemo(form)
inputMemo.Left = 10
inputMemo.Top = 30
inputMemo.Width = 380
inputMemo.Height = 400
inputMemo.ScrollBars = ssVertical
inputMemo.WordWrap = false
-- Create a button to initiate the search
local searchButton = createButton(form)
searchButton.Caption = 'Search'
searchButton.Left = 10
searchButton.Top = 440
searchButton.Width = 100
-- Create a memo to display results
local resultMemo = createMemo(form)
resultMemo.Left = 10
resultMemo.Top = 480
resultMemo.Width = 380
resultMemo.Height = 100
resultMemo.ReadOnly = true
resultMemo.ScrollBars = ssVertical
resultMemo.WordWrap = false
-- Define the action for the search button
searchButton.OnClick = function()
-- Clear previous results
resultMemo.Lines.Text = ''
-- Unregister previous symbols
unregisterPreviousSymbols()
-- Get the input values
local inputText = inputMemo.Lines.Text
local values = {}
for line in inputText:gmatch("[^\r\n]+") do
local trimmed = line:match("^%s*(.-)%s*$")
if trimmed ~= '' then
table.insert(values, trimmed)
end
end
-- Limit to 12 values
if #values > 12 then
showMessage('Please enter no more than 12 values.')
return
end
-- Search for each value and register symbol
for index, val in ipairs(values) do
local addr = findAddressForValue(val)
local symbolName = 'seed_var_' .. index
if addr then
registerSymbol(symbolName, addr, true)
table.insert(registeredSymbols, symbolName)
resultMemo.Lines.Add(string.format('%s found at address: 0x%X', symbolName, addr))
else
registerSymbol(symbolName, 0, true)
table.insert(registeredSymbols, symbolName)
resultMemo.Lines.Add(string.format('%s not found. Assigned address: 0x0', symbolName))
end
end
end
[DISABLE]
if syntaxcheck then return end
-- Unregister previous symbols
unregisterPreviousSymbols()
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>169</ID>
<Description>"Seed - 01"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_1</Address>
<CheatEntries>
<CheatEntry>
<ID>170</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>171</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>172</ID>
<Description>"Seed - 02"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_2</Address>
<CheatEntries>
<CheatEntry>
<ID>173</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>174</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>175</ID>
<Description>"Seed - 03"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_3</Address>
<CheatEntries>
<CheatEntry>
<ID>176</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>177</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>178</ID>
<Description>"Seed - 04"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_4</Address>
<CheatEntries>
<CheatEntry>
<ID>179</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>180</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>181</ID>
<Description>"Seed - 05"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_5</Address>
<CheatEntries>
<CheatEntry>
<ID>182</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>183</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>184</ID>
<Description>"Seed - 06"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_6</Address>
<CheatEntries>
<CheatEntry>
<ID>185</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>186</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>196</ID>
<Description>"Seed - 07"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_7</Address>
<CheatEntries>
<CheatEntry>
<ID>197</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>198</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>193</ID>
<Description>"Seed - 08"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_8</Address>
<CheatEntries>
<CheatEntry>
<ID>194</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>195</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>190</ID>
<Description>"Seed - 09"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_9</Address>
<CheatEntries>
<CheatEntry>
<ID>191</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>192</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>187</ID>
<Description>"Seed - 10"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_10</Address>
<CheatEntries>
<CheatEntry>
<ID>188</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>189</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>202</ID>
<Description>"Seed - 11"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_11</Address>
<CheatEntries>
<CheatEntry>
<ID>203</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>204</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>199</ID>
<Description>"Seed - 12"</Description>
<Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>seed_var_12</Address>
<CheatEntries>
<CheatEntry>
<ID>200</ID>
<Description>"+Enhancement"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>-8</Address>
</CheatEntry>
<CheatEntry>
<ID>201</ID>
<Description>"Durability"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>4 Bytes</VariableType>
<Address>+8</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
<LuaScript>-- Cheat Engine Lua Script: GUI Trainer for Address Search
-- Table to keep track of registered symbols
local registeredSymbols = {}
-- Function to unregister previously registered symbols
local function unregisterPreviousSymbols()
for _, symbol in ipairs(registeredSymbols) do
unregisterSymbol(symbol)
end
registeredSymbols = {}
end
-- Function to perform memory scan for a given 4-byte value
local function findAddressForValue(val)
local scan = createMemScan(true)
memscan_returnOnlyOneResult(scan, true)
memscan_firstScan(
scan,
soExactValue, -- Scan option: Exact Value
vtDword, -- Value type: 4 Bytes
rtRounded, -- Rounding type: Rounded
tostring(val), -- Value to search for
"", -- Secondary value (not used here)
"00000000", -- Start address
"7FFFFFFFFFFFFFFF",-- Stop address
"+W-X-C", -- Memory protection flags: Writable, Executable, not CopyOnWrite
fsmAligned, -- Fast scan alignment
"4", -- Alignment value
false, -- isHexadecimalInput
true, -- isNotABinaryString
false, -- isUnicode
false -- isCaseSensitive
)
memscan_waitTillDone(scan)
local result = scan.getOnlyResult()
scan.destroy()
return result
end
-- Create the main form
local form = createForm()
form.Caption = '4-Byte Value Address Finder'
form.Width = 400
form.Height = 600
form.Position = poScreenCenter
-- Create a label for instructions
local instructionLabel = createLabel(form)
instructionLabel.Caption = 'Enter up to 12 unique 4-byte values (one per line):'
instructionLabel.Left = 10
instructionLabel.Top = 10
-- Create a memo for inputting values
local inputMemo = createMemo(form)
inputMemo.Left = 10
inputMemo.Top = 30
inputMemo.Width = 380
inputMemo.Height = 400
inputMemo.ScrollBars = ssVertical
inputMemo.WordWrap = false
-- Create a button to initiate the search
local searchButton = createButton(form)
searchButton.Caption = 'Search'
searchButton.Left = 10
searchButton.Top = 440
searchButton.Width = 100
-- Create a memo to display results
local resultMemo = createMemo(form)
resultMemo.Left = 10
resultMemo.Top = 480
resultMemo.Width = 380
resultMemo.Height = 100
resultMemo.ReadOnly = true
resultMemo.ScrollBars = ssVertical
resultMemo.WordWrap = false
-- Define the action for the search button
searchButton.OnClick = function()
-- Clear previous results
resultMemo.Lines.Text = ''
-- Unregister previous symbols
unregisterPreviousSymbols()
-- Get the input values
local inputText = inputMemo.Lines.Text
local values = {}
for line in inputText:gmatch("[^\r\n]+") do
local trimmed = line:match("^%s*(.-)%s*$")
if trimmed ~= '' then
table.insert(values, trimmed)
end
end
-- Limit to 12 values
if #values > 12 then
showMessage('Please enter no more than 12 values.')
return
end
-- Search for each value and register symbol
for index, val in ipairs(values) do
local addr = findAddressForValue(val)
local symbolName = 'seed_var_' .. index
if addr then
registerSymbol(symbolName, addr, true)
table.insert(registeredSymbols, symbolName)
resultMemo.Lines.Add(string.format('%s found at address: 0x%X', symbolName, addr))
else
registerSymbol(symbolName, 0, true)
table.insert(registeredSymbols, symbolName)
resultMemo.Lines.Add(string.format('%s not found. Assigned address: 0x0', symbolName))
end
end
end
</LuaScript>
</CheatTable>