My Time At Sandrock (First Story Demo from Steam)

Upload your cheat tables here (No requests)
Post Reply
DrummerIX
Expert Cheater
Expert Cheater
Posts: 2885
Joined: Wed Mar 22, 2017 6:15 pm
Reputation: 0

My Time At Sandrock (First Story Demo from Steam)

Post by DrummerIX »

This might be a short lived topic. I believe you can only play this demo for a couple more days. This game will be early access at some point in 2021 I think.

Anyway, I have a friend who loves these type of games. I was having issues with mono in this game. It might be using a newer version of unity or it may be because this is basically some alpha game.

I had time for one option in my short play of the game. It sets all inventory to a minimum amount when you view the inventory screen. I do not know if this might cause issues, but it seems to work for me.

I had issues with keeping this on though, so probably only turn it on and use it and then turn it off.

Mono seemed to deactivate for me, so you might need to reconnect mono to make it work if you experience the same issue.

Anyway, perhaps waiting for early access will be better table wise, but here you go for those that might want to try this game for the next couple of days.

Options so far:
Set Inventory To Minimum Amount When Viewing
Infinite Attribute Options (Health, Stamina) (Use Stamina Before Enabling)

EDIT 1:
I think I figured out Infinite Health and Infinite Stamina, but you have to use stamina first before enabling due to the way they named these classes in the game. It makes it so you have to do something to compile the function before CE can find it.

EDIT 2:
I suppose nobody bothered to let me know that my version of Infinite Health also affected enemies. I guess you can tell I didn't play this game very much. :) The Early Access version is coming out soon, so I thought I would look at this game again. This demo is not available unless you downloaded it before. I have updated my table for better results. We'll see if it holds up when the early access version releases.

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1
Attachments
Sandrock.CT
EDIT 2 file (fix bugs)
(8.69 KiB) Downloaded 290 times
Sandrock.CT
EDIT 1 file (Inf Health, Inf Stamina)
(8.12 KiB) Downloaded 76 times
Sandrock.CT
Initial file
(4.88 KiB) Downloaded 54 times
Last edited by DrummerIX on Sat May 21, 2022 9:46 pm, edited 1 time in total.

DrummerIX
Expert Cheater
Expert Cheater
Posts: 2885
Joined: Wed Mar 22, 2017 6:15 pm
Reputation: 0

Re: My Time At Sandrock (First Story Demo from Steam)

Post by DrummerIX »

I think I figured out Infinite Health and Infinite Stamina, but you have to use stamina first before enabling due to the way they named these classes in the game. It makes it so you have to do something to compile the function before CE can find it.

aSwedishMagyar
Table Makers
Table Makers
Posts: 670
Joined: Mon Jul 06, 2020 3:19 am
Reputation: 1190

Re: My Time At Sandrock (First Story Demo from Steam)

Post by aSwedishMagyar »

DrummerIX wrote:
Mon Jun 21, 2021 2:49 am
I think I figured out Infinite Health and Infinite Stamina, but you have to use stamina first before enabling due to the way they named these classes in the game. It makes it so you have to do something to compile the function before CE can find it.
Hi, there is a byte value you can set for complete immunity to damage (you can see it is at [[Actor+58]+10]+18 from the function snippet). Also, this script checks your faction handle and makes you invincible if it is empty (meaning the player, at least at this stage). Feel free to use it in your table.

Code: Select all

{
	Game	: Sandrock.exe
	Version	: 2019.4.12.24194
	Date	: 2021-06-20
	Author	: aSwedishMagyar
}
//Unique AOB: 48 83 EC 08 48 89 0C 24 48 8B C1 48 8B 80 90 00 00 00 48 8B C8 83 39 00 48
define(godMode,Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible)
define(godModeBytes,48 83 EC 08 48 89 0C 24)
[ENABLE]
assert(godMode,godModeBytes)
registersymbol(newgodMode)
alloc(newgodMode,100,godMode)
label(codegodMode)
label(returnAddr)
newgodMode:
	pop [returnAddr]
    mov rax,[rcx+48]
    mov rax,[rax+10]
    cmp [rax+10],0
    jne codegodMode
    mov al,01
    ret
codegodMode:
	db godModeBytes
	jmp qword ptr [returnAddr]
returnAddr:
	dq 0
godMode:
	call newgodMode
	nop 3

[DISABLE]
godMode:
	db godModeBytes

unregistersymbol(newgodMode)
dealloc(newgodMode)

{
// ORIGINAL CODE - INJECTION POINT: Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible

Pathea.SkillNs:SkillerMgr:IsInvincible+23: 48 8B F0                       - mov rsi,rax
Pathea.SkillNs:SkillerMgr:IsInvincible+26: 48 85 C0                       - test rax,rax
Pathea.SkillNs:SkillerMgr:IsInvincible+29: 75 07                          - jne Pathea.SkillNs:SkillerMgr:IsInvincible+32
Pathea.SkillNs:SkillerMgr:IsInvincible+2b: B8 01 00 00 00                 - mov eax,00000001
Pathea.SkillNs:SkillerMgr:IsInvincible+30: EB 13                          - jmp Pathea.SkillNs:SkillerMgr:IsInvincible+45
Pathea.SkillNs:SkillerMgr:IsInvincible+32: 48 8B CE                       - mov rcx,rsi
Pathea.SkillNs:SkillerMgr:IsInvincible+35: 48 8B 06                       - mov rax,[rsi]
Pathea.SkillNs:SkillerMgr:IsInvincible+38: 49 BA 98 1E 1B E6 B1 01 00 00  - mov r10,000001B1E61B1E98
Pathea.SkillNs:SkillerMgr:IsInvincible+42: FF 50 E0                       - call qword ptr [rax-20]
Pathea.SkillNs:SkillerMgr:IsInvincible+45: 48 8B 75 F8                    - mov rsi,[rbp-08]
Pathea.SkillNs:SkillerMgr:IsInvincible+49: 48 8D 65 00                    - lea rsp,[rbp+00]
Pathea.SkillNs:SkillerMgr:IsInvincible+4d: 5D                             - pop rbp
Pathea.SkillNs:SkillerMgr:IsInvincible+4e: C3                             - ret 
1B20AE2B23F: 00 01                          - add [rcx],al
1B20AE2B241: 04 02                          - add al,02
1B20AE2B243: 05 04 03 01 50                 - add eax,50010304
1B20AE2B248: 00 00                          - add [rax],al
1B20AE2B24A: 00 00                          - add [rax],al
1B20AE2B24C: 00 00                          - add [rax],al
1B20AE2B24E: 00 00                          - add [rax],al
// ---------- INJECTING HERE ----------
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible: 48 83 EC 08                    - sub rsp,08
// ---------- DONE INJECTING  ----------
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+4: 48 89 0C 24                    - mov [rsp],rcx
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+8: 48 8B C1                       - mov rax,rcx
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+b: 48 8B 80 90 00 00 00           - mov rax,[rax+00000090]
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+12: 48 8B C8                       - mov rcx,rax
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+15: 83 39 00                       - cmp dword ptr [rcx],00
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+18: 48 8B 40 58                    - mov rax,[rax+58]
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+1c: 48 8B C8                       - mov rcx,rax
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+1f: 83 39 00                       - cmp dword ptr [rcx],00
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+22: 48 8B 40 10                    - mov rax,[rax+10]
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+26: 48 8B C8                       - mov rcx,rax
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+29: 83 39 00                       - cmp dword ptr [rcx],00
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+2c: 48 63 40 18                    - movsxd  rax,dword ptr [rax+18]
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+30: 85 C0                          - test eax,eax
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+32: 40 0F 9F C0                    - setg al
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+36: 48 0F B6 C0                    - movzx rax,al
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+3a: 48 83 C4 08                    - add rsp,08
Pathea.ActorNs:Actor:Pathea.SkillNs.ISkillTarget.IsInvincible+3e: C3                             - ret 
1B20AE2B28F: 00 01                          - add [rcx],al
1B20AE2B291: 04 01                          - add al,01
1B20AE2B293: 00 04 02                       - add [rdx+rax],al
}

andreiwsa
What is cheating?
What is cheating?
Posts: 2
Joined: Mon Dec 06, 2021 9:24 pm
Reputation: 0

Re: My Time At Sandrock (First Story Demo from Steam)

Post by andreiwsa »

Current version My-Time-at-Sandrock-v0.4.20146
any update for this? thanks!

DrummerIX
Expert Cheater
Expert Cheater
Posts: 2885
Joined: Wed Mar 22, 2017 6:15 pm
Reputation: 0

Re: My Time At Sandrock (First Story Demo from Steam)

Post by DrummerIX »

I suppose nobody bothered to let me know that my version of Infinite Health also affected enemies. I guess you can tell I didn't play this game very much. :) The Early Access version is coming out soon, so I thought I would look at this game again. This demo is not available unless you downloaded it before. I have updated my table for better results. We'll see if it holds up when the early access version releases.

Post Reply