<?xml version="1.0" encoding="utf-8"?>
<CheatTable UsesMono="1" CheatEngineTableVersion="52">
  <CheatEntries>
    <CheatEntry NoCheckbox="1">
      <ID>1337263245</ID>
      <Description>"Es necesario tener Cheat Engine actualizado a una version 7.5 o superior"</Description>
      <Color>804000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263246</ID>
      <Description>"y ejecutarlo como Administrador para que la tabla funcione correctamente."</Description>
      <Color>804000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263247</ID>
      <Description>"------------------------------------------------------------------------------"</Description>
      <Color>FF0080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263259</ID>
      <Description>"You need to have Cheat Engine updated to version 7.5 or higher"</Description>
      <Color>804000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263260</ID>
      <Description>"and run it as Administrator for the table to function correctly."</Description>
      <Color>804000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263261</ID>
      <Description>"------------------------------------------------------------------------------"</Description>
      <Color>FF0080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263248</ID>
      <Description>"TABLA CREADA POR ALBERTO47"</Description>
      <Color>FF0080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry NoCheckbox="1">
      <ID>1337263249</ID>
      <Description>"------------------------------------------------------------------------------"</Description>
      <Color>800080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>20</ID>
      <Description>"F2 - Activar proceso (Activar y esperar 3 segundos para pulsar F3) - Activate process"</Description>
      <Options moHideChildren="1"/>
      <Color>0000FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
local process = 'Yars.exe'
OpenProcess(process)
	if process ~= process or (readInteger(process) == nil) then
		error(ShowMessage("No se encuentra el proceso"))
	else
		mono_initialize()
        LaunchMonoDataCollector()
	end


--Set Window Title
local title = "Yars Rising 09/2024 - Alberto47"
if not((MainForm.Caption):match("Yars Rising")) then
MainForm.Caption = title..' ~ '..MainForm.Caption
end
{$asm}

[DISABLE]

</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>113</Key>
          </Keys>
          <Description>F1 - Activar proceso</Description>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
          <DeactivateSound>Deactivate</DeactivateSound>
        </Hotkey>
      </Hotkeys>
    </CheatEntry>
    <CheatEntry>
      <ID>25</ID>
      <Description>"F3 - Activar punteros  - Activate pointers"</Description>
      <Color>0000FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Yars.exe
  Version:
  Date   : 2026-10-04
  Author : alber
  Description : Captura de puntero base y puntero minigame

  &lt;Optional info&gt;
}

[ENABLE]

define(base,Yars.PlayerBase:Update+eb)
define(minigame,Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+21)

alloc(memoria_base,$1000,base)
alloc(memoria_minigame,$1000,minigame)

alloc(puntero_base,8)
alloc(puntero_minigame,8)

label(return_base)
label(return_minigame)

// Codigo del puntero base
memoria_base:
  mov [puntero_base],rsi        // Guardamos directamente el valor de rsi en la variable asignada
  movsxd  rax,dword ptr [rsi+00000AC8] // Instrucción original
  jmp return_base

base:
  jmp memoria_base
  nop 2
return_base:

registersymbol(base)
registersymbol(puntero_base)

// Codigo de puntero MiniGame
memoria_minigame:
  mov [puntero_minigame],rsi    // Guardamos rsi directamente
  mov rax,[rsi+000000D8]        // Instrucción original
  jmp return_minigame

minigame:
  jmp memoria_minigame
  nop 2
return_minigame:

registersymbol(minigame)
registersymbol(puntero_minigame)

[DISABLE]

base:
  db 48 63 86 C8 0A 00 00

unregistersymbol(base)
unregistersymbol(puntero_base)
dealloc(memoria_base)
dealloc(puntero_base)

minigame:
  db 48 8B 86 D8 00 00 00

unregistersymbol(minigame)
unregistersymbol(puntero_minigame)
dealloc(memoria_minigame)
dealloc(puntero_minigame)
{
// ORIGINAL CODE - INJECTION POINT: Yars.PlayerBase:Update+eb

Yars.PlayerBase:Update+b7: 48 8B CE                       - mov rcx,rsi
Yars.PlayerBase:Update+ba: 48 8D 6D 00                    - lea rbp,[rbp+00]
Yars.PlayerBase:Update+be: 49 BB 00 3B 3E CE C6 01 00 00  - mov r11,Yars.PlayerBase:FlyCheatCheck
Yars.PlayerBase:Update+c8: 41 FF D3                       - call r11
Yars.PlayerBase:Update+cb: 48 8B CE                       - mov rcx,rsi
Yars.PlayerBase:Update+ce: 49 BB 40 3B 3E CE C6 01 00 00  - mov r11,Yars.PlayerBase:UpdateMovementInfoCache
Yars.PlayerBase:Update+d8: 41 FF D3                       - call r11
Yars.PlayerBase:Update+db: 48 8B CE                       - mov rcx,rsi
Yars.PlayerBase:Update+de: 49 BB 80 0F 61 CE C6 01 00 00  - mov r11,Yars.YarsActorBase:Update
Yars.PlayerBase:Update+e8: 41 FF D3                       - call r11
// ---------- INJECTING HERE ----------
Yars.PlayerBase:Update+eb: 48 63 86 C8 0A 00 00           - movsxd  rax,dword ptr [rsi+00000AC8]
// ---------- DONE INJECTING  ----------
Yars.PlayerBase:Update+f2: 89 86 CC 0A 00 00              - mov [rsi+00000ACC],eax
Yars.PlayerBase:Update+f8: F3 0F 10 86 08 0C 00 00        - movss xmm0,[rsi+00000C08]
Yars.PlayerBase:Update+100: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
Yars.PlayerBase:Update+104: 66 0F 57 C9                    - xorpd xmm1,xmm1
Yars.PlayerBase:Update+108: 66 0F 2F C8                    - comisd xmm1,xmm0
Yars.PlayerBase:Update+10c: 0F 8A 4D 00 00 00              - jp Yars.PlayerBase:Update+15f
Yars.PlayerBase:Update+112: 0F 83 47 00 00 00              - jae Yars.PlayerBase:Update+15f
Yars.PlayerBase:Update+118: F3 0F 10 86 08 0C 00 00        - movss xmm0,[rsi+00000C08]
Yars.PlayerBase:Update+120: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
Yars.PlayerBase:Update+124: F2 0F 11 85 20 FE FF FF        - movsd [rbp-000001E0],xmm0
}
{
// ORIGINAL CODE - INJECTION POINT: Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+21

Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess: 55                             - push rbp
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+1: 48 8B EC                       - mov rbp,rsp
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+4: 48 83 EC 70                    - sub rsp,70
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+8: 48 89 75 F0                    - mov [rbp-10],rsi
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+c: 48 89 7D F8                    - mov [rbp-08],rdi
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+10: 48 8B F1                       - mov rsi,rcx
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+13: 33 C0                          - xor eax,eax
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+15: 48 89 45 C8                    - mov [rbp-38],rax
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+19: 48 89 45 D0                    - mov [rbp-30],rax
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+1d: 48 89 45 D8                    - mov [rbp-28],rax
// ---------- INJECTING HERE ----------
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+21: 48 8B 86 D8 00 00 00           - mov rax,[rsi+000000D8]
// ---------- DONE INJECTING  ----------
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+28: 48 8B C8                       - mov rcx,rax
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+2b: 83 38 00                       - cmp dword ptr [rax],00
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+2e: 49 BB D0 F5 39 35 C7 01 00 00  - mov r11,System.Collections.Generic.Dictionary`2[TKey_REF,TValue_REF]:get_Keys
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+38: 41 FF D3                       - call r11
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+3b: 48 8B D5                       - mov rdx,rbp
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+3e: 48 83 C2 C8                    - add rdx,-38
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+42: 48 8B C8                       - mov rcx,rax
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+45: 83 38 00                       - cmp dword ptr [rax],00
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+48: 48 8D 64 24 00                 - lea rsp,[rsp+00]
Yars.MinigameDataManager:PeekActiveMinigameSceneOrProcess+4d: 90                             - nop
}
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>114</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
          <DeactivateSound>Deactivate</DeactivateSound>
        </Hotkey>
      </Hotkeys>
      <CheatEntries>
        <CheatEntry NoCheckbox="1">
          <ID>1337263265</ID>
          <Description>"------------------------------------------------------------------------------"</Description>
          <Color>FF0080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337263266</ID>
          <Description>"       HotKeys"</Description>
          <Color>804000</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337263267</ID>
          <Description>"------------------------------------------------------------------------------"</Description>
          <Color>FF0080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry ValueOnActivate="1" RestoreOnDeactivate="1">
          <ID>19</ID>
          <Description>"F4 Inmune / Immune"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Si/Yes
</DropDownList>
          <Color>4080FF</Color>
          <VariableType>Byte</VariableType>
          <Address>[puntero_base]+48</Address>
          <Offsets>
            <Offset>B4</Offset>
          </Offsets>
          <Hotkeys>
            <Hotkey>
              <Action>Toggle Activation</Action>
              <Keys>
                <Key>115</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound TTS="EN">Inmune Activated</ActivateSound>
              <DeactivateSound TTS="EN">Inmune Deactivated</DeactivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337263262</ID>
          <Description>"------------------------------------------------------------------------------"</Description>
          <Color>FF0080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337263263</ID>
          <Description>"       Opciones del personaje / Character options"</Description>
          <Color>804000</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337263264</ID>
          <Description>"------------------------------------------------------------------------------"</Description>
          <Color>FF0080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry ValueOnActivate="1" RestoreOnDeactivate="1">
          <ID>15</ID>
          <Description>"Inmune pero afectan los golpes / Immune but blows affect them"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Si/Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>[puntero_base]+CC8</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>17</ID>
          <Description>"Vida / Life"</Description>
          <VariableType>Float</VariableType>
          <Address>[puntero_base]+48</Address>
          <Offsets>
            <Offset>94</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>18</ID>
          <Description>"Vida MAX / Life MAX"</Description>
          <VariableType>Float</VariableType>
          <Address>[puntero_base]+48</Address>
          <Offsets>
            <Offset>98</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>21</ID>
          <Description>"Altura del salto / Jump height"</Description>
          <VariableType>Float</VariableType>
          <Address>[puntero_base]+3D8</Address>
          <Offsets>
            <Offset>88</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>22</ID>
          <Description>"Altura del salto en el agua / Height of the jump into the water"</Description>
          <VariableType>Float</VariableType>
          <Address>[puntero_base]+3D8</Address>
          <Offsets>
            <Offset>8C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry ValueOnActivate="0" RestoreOnDeactivate="1">
          <ID>16</ID>
          <Description>"Gravedad al minimo / Gravity at its minimum"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Si/Yes
1: No
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>[puntero_base]+28</Address>
          <Offsets>
            <Offset>18</Offset>
            <Offset>30</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337263268</ID>
          <Description>"------------------------------------------------------------------------------"</Description>
          <Color>FF0080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337263269</ID>
          <Description>"       Opciones del minijuego / Minigame options"</Description>
          <Color>804000</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry NoCheckbox="1">
          <ID>1337263270</ID>
          <Description>"------------------------------------------------------------------------------"</Description>
          <Color>FF0080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry ValueOnActivate="1" RestoreOnDeactivate="1">
          <ID>12</ID>
          <Description>"Detener tiempo / Stop time"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Si/Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>[puntero_minigame]+12B</Address>
        </CheatEntry>
        <CheatEntry ValueOnActivate="1" RestoreOnDeactivate="1">
          <ID>13</ID>
          <Description>"MiniGame Invencible / Invincible MiniGame"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Si/Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>[puntero_minigame]+12A</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>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().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)

function setTheme(c, cb, cap) local mf=getMainForm(); local al=getAddressList(); mf.Color=c; mf.Foundlist3.Color=c; al.Control[0].BackgroundColor=c; AddressList.CheckboxColor=cb; themeMenu.Caption='Theme: '..cap; end; function addThemeMenu() if thememenuexists then return end; local m=getMainForm().Menu.Items; themeMenu=createMenuItem(m); m.add(themeMenu); themeMenu.Caption='Theme'; local function addSub(n,f) local s=createMenuItem(themeMenu); s.Caption=n; s.OnClick=f; themeMenu.add(s) end; addSub('Dark Mode', function() setTheme(0x000000, 0x0000FF, 'Dark') end); addSub('Light Mode', function() setTheme(0xFFFFFF, 0x000000, 'Light') end); addSub('Default', function() setTheme(clDefault, clDefault, 'Default') end); thememenuexists='yes' end; addThemeMenu();




</LuaScript>
</CheatTable>
