Page 1 of 2

Oxygen Not Included Launch version

Posted: Tue Sep 17, 2019 10:24 am
by STN
My cheat table for Oxygen not included. Should cover everything you need and more.

Cheats
  • Enable Debug Menu
  • Full Breath
  • Zero Bladder
  • Full Stamina
  • No Stress
  • Instant Egg Incubation (Incubator)
  • SetTotalExpPointsGainedto500000 (edit the script if you want) - Thanks Cake-san
  • Condition - Thanks Cake-san
There's a bug with CE where it can't access some class methods, couldn't make a script for some of those cheats. Need to fiddle with lua and do it other way (time-consuming).

Cake-san's table with some options i am missing such as dupes attributes etc (working).

Let me know if some other cheat is needed, the debug menu should be more than enough for doing everything though :D

Image

Re: Oxygen Not Included Launch version

Posted: Thu Sep 19, 2019 8:00 am
by SinChan
Any Chance you could add something to alter the inventory of the currently selected storage bin ?

Re: Oxygen Not Included Launch version

Posted: Fri Sep 27, 2019 11:59 pm
by totalabyss
Debug menu seems top keep crashing the game everytime I try to activate it.

Also activating full stamina and no stress a the same time causes the game to crash to desktop.

Re: Oxygen Not Included Launch version

Posted: Tue Oct 08, 2019 8:30 pm
by Humbathumba
It looked like "Condition - Cake-san" was working well at first (Nearly everything else besides "Enable Debug Menu" crashes the game for me) but after a while i ran into the issue of them having a full bladder all the time or having their stress reaction with 0% stress.... or death by starvation while being "well fed".

Re: Oxygen Not Included Launch version

Posted: Tue Oct 08, 2019 9:41 pm
by STN
I'll update it. Must be a game update.

Re: Oxygen Not Included Launch version

Posted: Mon Oct 14, 2019 6:03 am
by totalabyss
Where you able to update it so it stops crashing the game?

Re: Oxygen Not Included Launch version

Posted: Sun Oct 27, 2019 11:44 am
by Humbathumba
For some reason it looks like it has an effect on the critters too... they just explode even when everything is "optimal" for them. I had to edit the dups so the stress reactons are no more but it still happens. It looks like the value goes below zero and loopes around for a second to hit the maximum possible for a split second. Thats all i can say so far since, sadly... but maybe it helps to find the error

Edit: I was wondering, should "Enable Debug Menu" prevent the game from detecting it? If so, it does not do that for me.
If not... why make a cheat for it, it can be enabled in the game itself.

Edit 2: Effect on the critters is limited to cake table
Tested some more and can say it is the "No Hunger" one that messes with the critters

Re: Oxygen Not Included Launch version

Posted: Sun Nov 24, 2019 10:54 am
by Humbathumba
And just like that, another Update hit the game, lets see if it breaks anything

Re: Oxygen Not Included Launch version

Posted: Sun Nov 24, 2019 5:48 pm
by totalabyss
Was a substantial update as well, did it break any of the options yet?

Re: Oxygen Not Included Launch version

Posted: Tue Nov 26, 2019 5:42 pm
by Humbathumba
Welp, i will be back to testing then. But since i only got the Trainer after some parts already broke i cant say anything for certain.... we shall see.

Re: Oxygen Not Included Launch version

Posted: Tue Dec 24, 2019 10:55 am
by lkjhg08
Can anyone update this? Using the table breaks the game. Thanks in advance. :D

Re: Oxygen Not Included Launch version

Posted: Thu Jan 02, 2020 11:44 am
by DevilliveD89
Could you please update the table?
Thx in Advance

Re: Oxygen Not Included Launch version

Posted: Tue Jan 14, 2020 8:00 pm
by cfemen
STN wrote:
Tue Sep 17, 2019 10:24 am

There's a bug with CE where it can't access some class methods, couldn't make a script for some of those cheats. Need to fiddle with lua and do it other way (time-consuming).

hey STN

yeah its strange...i just gave it a look
your scripts:

Zero Bladder -> BladderMonitor+Instance:NeedsToPee
Full Stamina -> StaminaMonitor+Instance:NeedsToSleep

both are recognized as Instance.NeedsToPee/NeedsToSleep and CE cant access only "Instance" -> strange bug :shock:
but i think i know why cheat engine has problems:

Code: Select all

public class Instance : GameStateMachine<StaminaMonitor, StaminaMonitor.Instance, IStateMachineTarget, object>.GameInstance
devs are using something for unity for visual scripting (GameStateMachine), i guess this is too much "non standard mono" code and CE is confused :?

well, i found a quite simple method to get a symbol
script for copy the addresses of NeedsToPee/NeedsToSleep :

Code: Select all

[ENABLE]

aobscanregion(aobMain,BladderMonitor:<InitializeStates>m__0,BladderMonitor:<InitializeStates>m__0+50,49BB****************41) // should be unique
registersymbol(aobMain)

alloc(iNeedsToPee,8)
registersymbol(iNeedsToPee)

iNeedsToPee:
readmem(aobMain+2,8)

/////

aobscanregion(aobMainSleep,StaminaMonitor:<InitializeStates>m__2,StaminaMonitor:<InitializeStates>m__2+50,49BB****************41) // should be unique
registersymbol(aobMainSleep)

alloc(iNeedsToSleep,8)
registersymbol(iNeedsToSleep)

iNeedsToSleep:
readmem(aobMainSleep+2,8)

[DISABLE]

unregistersymbol(aobMain)
unregistersymbol(iNeedsToPee)
//
unregistersymbol(iNeedsToSleep)
unregistersymbol(aobMainSleep)
activate script ingame (not in the main menu, coz <InitializeStates> needs to generate the addresses for Pee/Sleep while loading a game scene)
now you can use the symbols.
[iNeedsToSleep] has now the correct address of StaminaMonitor+Instance:NeedsToSleep
[iNeedsToPee] has now the correct address of BladderMonitor+Instance:NeedsToPee

example for Full Stamina with symbol only:

Code: Select all

define(address,[iNeedsToSleep]+12)
define(bytes,F3 0F 10 40 48)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,[iNeedsToSleep]+12)

label(code)
label(return)

newmem:

code:
  mov [rax+48],(float)100
  movss xmm0,[rax+48]
  jmp return

address:
  jmp newmem
return:

[DISABLE]

address:
  db bytes
or the even better with aobregion+symbol:

Code: Select all

[ENABLE]

aobscanregion(aobSleep,[iNeedsToSleep],[iNeedsToSleep]+50,F3 0F 10 40 48) // should be unique
alloc(newmem,$1000,aobSleep)

label(code)
label(return)

newmem:

code:
  mov [rax+48],(float)100
  movss xmm0,[rax+48]
  jmp return

aobSleep:
  jmp newmem
return:
registersymbol(aobSleep)

[DISABLE]

aobSleep:
  db F3 0F 10 40 48

unregistersymbol(aobSleep)
dealloc(newmem)
totalabyss wrote:
Fri Sep 27, 2019 11:59 pm
Debug menu seems top keep crashing the game everytime I try to activate it.

Also activating full stamina and no stress a the same time causes the game to crash to desktop.
well JIT Code,
STN's script is using DebugHandler:OnKeyDown+8a
on your system it can be on a different offset

try this region script for DebugMenu:

Code: Select all

[ENABLE]

aobscanregion(aobMonoDebug,DebugHandler:OnKeyDown,DebugHandler:OnKeyDown+200,0F B6 00) // should be unique
alloc(newmem,$1000,aobMonoDebug)

label(code)
label(return)

newmem:

code:
mov byte ptr[rax],1
  movzx eax,byte ptr [rax]
  test eax,eax
  jmp return

aobMonoDebug:
  jmp newmem
return:
registersymbol(aobMonoDebug)

[DISABLE]

aobMonoDebug:
  db 0F B6 00 85 C0

unregistersymbol(aobMonoDebug)
dealloc(newmem)

Re: Oxygen Not Included Launch version

Posted: Wed Jan 22, 2020 1:08 pm
by monk124us
cfemen wrote:
Tue Jan 14, 2020 8:00 pm
STN wrote:
Tue Sep 17, 2019 10:24 am

There's a bug with CE where it can't access some class methods, couldn't make a script for some of those cheats. Need to fiddle with lua and do it other way (time-consuming).

hey STN

yeah its strange...i just gave it a look
your scripts:

Zero Bladder -> BladderMonitor+Instance:NeedsToPee
Full Stamina -> StaminaMonitor+Instance:NeedsToSleep

both are recognized as Instance.NeedsToPee/NeedsToSleep and CE cant access only "Instance" -> strange bug :shock:
but i think i know why cheat engine has problems:

Code: Select all

public class Instance : GameStateMachine<StaminaMonitor, StaminaMonitor.Instance, IStateMachineTarget, object>.GameInstance
devs are using something for unity for visual scripting (GameStateMachine), i guess this is too much "non standard mono" code and CE is confused :?

well, i found a quite simple method to get a symbol
script for copy the addresses of NeedsToPee/NeedsToSleep :

Code: Select all

[ENABLE]

aobscanregion(aobMain,BladderMonitor:<InitializeStates>m__0,BladderMonitor:<InitializeStates>m__0+50,49BB****************41) // should be unique
registersymbol(aobMain)

alloc(iNeedsToPee,8)
registersymbol(iNeedsToPee)

iNeedsToPee:
readmem(aobMain+2,8)

/////

aobscanregion(aobMainSleep,StaminaMonitor:<InitializeStates>m__2,StaminaMonitor:<InitializeStates>m__2+50,49BB****************41) // should be unique
registersymbol(aobMainSleep)

alloc(iNeedsToSleep,8)
registersymbol(iNeedsToSleep)

iNeedsToSleep:
readmem(aobMainSleep+2,8)

[DISABLE]

unregistersymbol(aobMain)
unregistersymbol(iNeedsToPee)
//
unregistersymbol(iNeedsToSleep)
unregistersymbol(aobMainSleep)
activate script ingame (not in the main menu, coz <InitializeStates> needs to generate the addresses for Pee/Sleep while loading a game scene)
now you can use the symbols.
[iNeedsToSleep] has now the correct address of StaminaMonitor+Instance:NeedsToSleep
[iNeedsToPee] has now the correct address of BladderMonitor+Instance:NeedsToPee

example for Full Stamina with symbol only:

Code: Select all

define(address,[iNeedsToSleep]+12)
define(bytes,F3 0F 10 40 48)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,[iNeedsToSleep]+12)

label(code)
label(return)

newmem:

code:
  mov [rax+48],(float)100
  movss xmm0,[rax+48]
  jmp return

address:
  jmp newmem
return:

[DISABLE]

address:
  db bytes
or the even better with aobregion+symbol:

Code: Select all

[ENABLE]

aobscanregion(aobSleep,[iNeedsToSleep],[iNeedsToSleep]+50,F3 0F 10 40 48) // should be unique
alloc(newmem,$1000,aobSleep)

label(code)
label(return)

newmem:

code:
  mov [rax+48],(float)100
  movss xmm0,[rax+48]
  jmp return

aobSleep:
  jmp newmem
return:
registersymbol(aobSleep)

[DISABLE]

aobSleep:
  db F3 0F 10 40 48

unregistersymbol(aobSleep)
dealloc(newmem)
totalabyss wrote:
Fri Sep 27, 2019 11:59 pm
Debug menu seems top keep crashing the game everytime I try to activate it.

Also activating full stamina and no stress a the same time causes the game to crash to desktop.
well JIT Code,
STN's script is using DebugHandler:OnKeyDown+8a
on your system it can be on a different offset

try this region script for DebugMenu:

Code: Select all

[ENABLE]

aobscanregion(aobMonoDebug,DebugHandler:OnKeyDown,DebugHandler:OnKeyDown+200,0F B6 00) // should be unique
alloc(newmem,$1000,aobMonoDebug)

label(code)
label(return)

newmem:

code:
mov byte ptr[rax],1
  movzx eax,byte ptr [rax]
  test eax,eax
  jmp return

aobMonoDebug:
  jmp newmem
return:
registersymbol(aobMonoDebug)

[DISABLE]

aobMonoDebug:
  db 0F B6 00 85 C0

unregistersymbol(aobMonoDebug)
dealloc(newmem)
first of all thank you for making the table STN!!!

@cfemen how can i add that to the table so it works. when i enable no hunger from the cake-san section my games goes crazy. my hatches start to die fast some of my dupes get stuck with the "had an Accident" or start puking like crazy.



i have a second question does the debug part work, critter production and egg type chances. if it does how do i use it properly

Re: Oxygen Not Included Launch version

Posted: Fri Mar 06, 2020 8:55 pm
by VezRoth
Any chance for some updates to this since there's been several new patches and updates to the game?

There seems to be a lot of instant crash issues and broken loops right now that cause the Dups to get stuck in one cycle or another.

Another issue that I've been having is that when I get to 8 dupes it instantly crashes the game, no questions. I thought it was the mods, but it seems related somehow to the No Stress/Infinite Breath option.