<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>23</ID>
      <Description>"Serious Sam II"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
      <Color>C08000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(One,Sam2Game.dll,8B 90 00 09 00 00)
aobscanmodule(Two,Sam2Game.dll,8B 47 18 50 8D 4D F0)

alloc(newmemOne,$1000)
alloc(newmemTwo,$1000)
alloc(Three,4)
alloc(Four,4)

registersymbol(One)
registersymbol(Two)
registersymbol(Three)
registersymbol(Four)

label(codeOne)
label(codeTwo)
label(returnOne)
label(returnTwo)

Three:
  dd 0

Four:
  dd 0

newmemOne:

codeOne:
  mov dword ptr [Three],eax
  mov edx,[eax+00000900]
  jmp returnOne

One:
  jmp newmemOne
  nop

returnOne:

newmemTwo:

codeTwo:
  mov dword ptr [Four],edi
  mov eax,[edi+18]
  push eax
  lea ecx,[ebp-10]
  jmp returnTwo

Two:
  jmp newmemTwo
  nop 2

returnTwo:

[DISABLE]

One:
  db 8B 90 00 09 00 00

Two:
  db 8B 47 18 50 8D 4D F0

unregistersymbol(One)
unregistersymbol(Two)
unregistersymbol(Three)
unregistersymbol(Four)

dealloc(newmemOne)
dealloc(newmemTwo)
dealloc(Three)
dealloc(Four)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>24</ID>
          <Description>"==== General ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>30</ID>
              <Description>"Infinite Lives"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Five,Sam2Game.dll,49 89 08 EB 09)
registersymbol(Five)

Sam2Game.SeriousEngine::CPlayerBrainEntity::ExecuteRespawn+192:
  db 90

[DISABLE]

Five:
  db 49

unregistersymbol(Five)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>39</ID>
              <Description>"Infinite Armor"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Six,Sam2Game.dll,8B 98 8C 04 00 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp dword ptr [eax+0000048C],64
  ja code
  mov dword ptr [eax+0000048C],64

code:
  mov ebx,[eax+0000048C]
  jmp return

Six:
  jmp newmem
  nop

return:
registersymbol(Six)

[DISABLE]

Six:
  db 8B 98 8C 04 00 00

unregistersymbol(Six)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>17</ID>
              <Description>"Infinite Health"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Seven,Sam2Game.dll,8B 90 88 04 00 00 83 C4 08)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp dword ptr [eax+00000488],64
  ja code
  mov dword ptr [eax+00000488],64

code:
  mov edx,[eax+00000488]
  jmp return

Seven:
  jmp newmem
  nop

return:
registersymbol(Seven)

[DISABLE]

Seven:
  db 8B 90 88 04 00 00

unregistersymbol(Seven)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>35</ID>
              <Description>"Infinite Ammunition"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Eight,Sam2Game.dll,29 5C B7 14 5F)
registersymbol(Eight)

Sam2Game.SeriousEngine::CPlayerInventory::DrainAmmo+31:
  db 90 90 90 90

[DISABLE]

Eight:
  db 29 5C B7 14

unregistersymbol(Eight)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>38</ID>
              <Description>"Zero Hypothermia"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Nine,Sam2Game.dll,89 8F 98 08 00 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  xor ecx,ecx
  mov [edi+00000898],ecx
  jmp return

Nine:
  jmp newmem
  nop

return:
registersymbol(Nine)

[DISABLE]

Nine:
  db 89 8F 98 08 00 00

unregistersymbol(Nine)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>36</ID>
              <Description>"Quick Kills"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Ten,Sam2Game.dll,81 BB 88 04 00 00 40 1F 00 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp dword ptr [ebx+00000488],1
  jbe code
  mov dword ptr [ebx+00000488],1
  jmp return

code:
  cmp [ebx+00000488],00001F40
  jmp return

Ten:
  jmp newmem
  nop 5

return:
registersymbol(Ten)

[DISABLE]

Ten:
  db 81 BB 88 04 00 00 40 1F 00 00

unregistersymbol(Ten)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>25</ID>
          <Description>"==== Extras ====="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>51</ID>
              <Description>"Cheats Menu"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if syntaxcheck then return end
  if getOpenedProcessID() == 0 then return end
  pcall(function()
  local addr = getAddress("Sam2Game.dll+402FC8")
  if not addr then return end
  local current = readBytes(addr,1,false)
  if current == nil then return end
  if current == 0 then
  writeBytes(addr,2)
  elseif current == 2 then
  writeBytes(addr,0)
  end
  end)
  local t = createTimer(nil,false)
  t.Interval = 500
  t.OnTimer = function(timer)
  timer.destroy()
  memrec.Active = false
  end
  t.Enabled = true
{$asm}

[DISABLE]
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>52</ID>
              <Description>"⬆Toggles the cheats menu on or off, then disables."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>47</ID>
              <Description>"⬆This will add the cheats option to the pause menu."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>50</ID>
              <Description>"Hide Cheat Information"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if syntaxcheck then return end
  if getOpenedProcessID() == 0 then return end
  pcall(function()
  local addr = getAddress("Sam2Game.dll+3F9E18")
  if not addr then return end
  local current = readBytes(addr,1,false)
  if current == nil then return end
  if current == 0 then
  writeBytes(addr,1)
  elseif current == 1 then
  writeBytes(addr,0)
  end
  end)
  local t = createTimer(nil,false)
  t.Interval = 150
  t.OnTimer = function(timer)
  timer.destroy()
  memrec.Active = false
  end
  t.Enabled = true
{$asm}

[DISABLE]
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>53</ID>
              <Description>"⬆Toggles the cheat information, then disables."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>33</ID>
              <Description>"Score"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Four]+18</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>21</ID>
              <Description>"Lives"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+900</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>28</ID>
              <Description>"Health"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>[Three]+488</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>49</ID>
              <Description>"⬆Takes a few seconds to populate the correct values after a load."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com</Comments>
</CheatTable>
