Horizon Forbidden West [Engine:Decima]

Upload your cheat tables here (No requests)
Tuuuup!
Table Makers
Table Makers
Posts: 296
Joined: Sat Sep 26, 2020 9:54 am
Reputation: 1865

Re: Horizon Forbidden West [Engine:Decima]

Post by Tuuuup! »

Kurei wrote:
Sun Mar 31, 2024 8:31 am
I can edit the quantity of the coils and weave using Tuuuup's table but i can no longer equip any of them after changing. How did you make it work? Perhaps i'm missing something?
After changing amount of coils, quick save and load game.

Next update:
Image

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

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Horizon Forbidden West [Engine:Decima]

Post by SunBeam »

Tuuuup! wrote:
Sun Mar 31, 2024 9:14 am
Next update:
Let's see if I beat you to it :P As in -- checking my list of mapped pointers. I know it's related to the WeatherSystem.

EDIT #1: Ah, yes: [ Pointers/Structures ] > g_GameModule. Here add a new address under it with offset 0x58 called GameWorldTimeState. In this latter one, at 0x20 you'll find the respective TimeOfDay float. You can also control day-night cycle with the bool at 0x2C:

Image

EDIT #2: Idiot me already had the pointer in there :D Look below the last yellow rectangle...

EDIT #3: Look, mom, no hooks :P Will be available in next version. Thanks for the idea, Tuuuup!, wanted to go about it, but this game has too many customizable things :D

Image

Best regards,
Sun

Tuuuup!
Table Makers
Table Makers
Posts: 296
Joined: Sat Sep 26, 2020 9:54 am
Reputation: 1865

Re: Horizon Forbidden West [Engine:Decima]

Post by Tuuuup! »

SunBeam wrote:
Sun Mar 31, 2024 9:36 am
Let's see if I beat you to it :P As in -- checking my list of mapped pointers. I know it's related to the WeatherSystem.
GameWorldTimeState +20 ;)

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Horizon Forbidden West [Engine:Decima]

Post by SunBeam »

Tuuuup! wrote:
Sun Mar 31, 2024 9:55 am
...
Meh, just as I was editing my post. Refresh page :P

EDIT #1: WheatherSystem too has a vftable function that does GetTimeOfDay(). But yeah, it ends-up fetching it from GameWorldTimeState.

EDIT #2: Watch OCD bitch again how I can't handle myself and I needed someone else's help to figure out some option.. T_T This group of misguided pleb can't really mind their business. And I just love to rub it in their faces.. Cheese!, motherfuckers!

David LionHeart
Expert Cheater
Expert Cheater
Posts: 54
Joined: Mon Apr 02, 2018 8:45 am
Reputation: 15

Re: Horizon Forbidden West [Engine:Decima]

Post by David LionHeart »

SunBeam wrote:
Sat Mar 30, 2024 11:34 pm

I am looking, just want to play the damn game. So it's gonna be intermittent from here on, given a lot of time is consumed with real life work...

You will be able to list out all the inventory with each InventoryItemResouce and use that information to Add the same item by resource and quantity. So no more fucking around with other actions, like duping :P

Here's some proof of concept:



In next release. Now let me play... :P
SunBeam can i ask you if in the items have you found collectables (datapoints) too? Maybe i can consider to beat the game on ultra hard on pc too if i can avoid to collect all datapoints another time 😅
Unfog the entire maps maybe will be another good option if there's one

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Horizon Forbidden West [Engine:Decima]

Post by SunBeam »

David LionHeart wrote:
Sun Mar 31, 2024 10:03 am
...
You've already finished the game. I haven't. I am playing it now, am tired of creating stuff. When I will have the time to revisit the entire topic and everyone's fixated requests, perhaps I will. I'd like you to also respect my time.
David LionHeart wrote:
Sun Mar 31, 2024 10:03 am
Unfog the entire map
Can probably be done.

David LionHeart
Expert Cheater
Expert Cheater
Posts: 54
Joined: Mon Apr 02, 2018 8:45 am
Reputation: 15

Re: Horizon Forbidden West [Engine:Decima]

Post by David LionHeart »

Of course, you are right! Take the time that you need without problem :) I asked you this because I thought you had come across one of these "options". No problem, take your time and enjoy this wonderful game 😉

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Horizon Forbidden West [Engine:Decima]

Post by SunBeam »

For those of you who want to use Time Of Day and can't wait -- copy the below and click on some blank spot in my table (why my table? because it will use an exposed pointer chain that exists just in this table):

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>257035</ID>
      <Description>"Game World : Time Of Day"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{$STRICT}

{$lua}

if syntaxcheck then return end

[ENABLE]

synchronize( function()
 local memRecIds = {}
 local addressList = getAddressList()
 local memRec = addressList.getMemoryRecordByID( "257035" ) -- gets "Game World : Time Of Day" memory record
 if memRec.Count ~= 0x0 then
   for i = 0, memRec.Count - 1 do
     table.insert( memRecIds, memoryrecord_getID( memRec.Child[i] ) )
   end
   for _, v in pairs( memRecIds ) do
     local mr = addresslist_getMemoryRecordByID( addressList, v )
     if mr ~= nil then memoryrecord_delete( mr ) end
   end
 end

 local GameModule = readPointer( getAddressSafe( "g_GameModule" ) )
 if GameModule == 0x0 then end
   local GameWorldTimeState = readPointer( GameModule + 0x58 )
   if GameWorldTimeState == 0x0 then end
     local TimeOfDay = GameWorldTimeState + 0x20
     local EnableDayNightCycle = GameWorldTimeState + 0x2C
     tr = addressList.createMemoryRecord()
     tr.appendToEntry( memRec )
     tr.setAddress( TimeOfDay )
     tr.Type = vtSingle
     tr.ShowAsHex = false
     tr.DontSave = true
     tr.setDescription( 'Time Of Day' )
     tr = addressList.createMemoryRecord()
     tr.appendToEntry( memRec )
     tr.setAddress( EnableDayNightCycle )
     tr.Type = vtByte
     tr.ShowAsHex = false
     tr.DontSave = true
     tr.setDescription( 'Enable Day-Night Cycle' )
     processMessages()
end )

[DISABLE]

synchronize( function()
 local memRecIds = {}
 local addressList = getAddressList()
 local memRec = addressList.getMemoryRecordByID( "257035" ) -- gets "Game World : Time Of Day" memory record
 if memRec.Count ~= 0x0 then
   for i = 0, memRec.Count - 1 do
     table.insert( memRecIds, memoryrecord_getID( memRec.Child[i] ) )
   end
   for _, v in pairs( memRecIds ) do
     local mr = addresslist_getMemoryRecordByID( addressList, v )
     if mr ~= nil then memoryrecord_delete( mr ) end
   end
 end
end )

</AssemblerScript>
      <CheatEntries/>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
The script will create two entries under itself the moment you activate it.

Image

As Tuuuup! mentioned, Time Of Day is 24h based, so change the float to any value within this range. Enable Day-Night Cycle set to 0 will disable day/night cycle and lock the time to what you've set it to. It will freeze the time of day.

NOTE: The script is reading data. It doesn't constantly refresh the pointer, so if something is off and you can't see the proper values or ??, then disable and re-enable it. It means you might've exited the game world or transitioned and GameWorldState was reinitialized.

BR,
Sun

fakerlol
Novice Cheater
Novice Cheater
Posts: 17
Joined: Sat Mar 17, 2018 4:01 am
Reputation: 14

Re: Horizon Forbidden West [Engine:Decima]

Post by fakerlol »

I'm stuck on a particular problem: I need to know what the Quantity-Cap of the last gathered item is.

I usually try to play the games as vanilla as possible, but what I can't stand at all is farming stuff in the game; so I usually set a multiplier for gathered items (x10, x20 etc) to make it more enjoyable for myself.

Recently I found out that when I gather quest-related items (of which just 1 should exist), my multiplier seems to mess it up, as having 20 of the quest item seems to not trigger the quest-system to update the quest.

So if I knew the max. stacksize of the item that I picked up, I could try to check for "stacksize = 1" and then ignore the multiplier.

@SunBeam You're looking through the structures, is there a mention of a stacksize for the items anywhere?

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Horizon Forbidden West [Engine:Decima]

Post by SunBeam »

Yes, MaxStackSize. See my PoC video on previous page.

fakerlol
Novice Cheater
Novice Cheater
Posts: 17
Joined: Sat Mar 17, 2018 4:01 am
Reputation: 14

Re: Horizon Forbidden West [Engine:Decima]

Post by fakerlol »

SunBeam wrote:
Sun Mar 31, 2024 11:34 am
Yes, MaxStackSize. See my PoC video on previous page.
Wow, so basically you're telling me to be a good boy and wait until you release the AddItem-Functionality so I can look-up the offsets to MaxStackSize? :mrgreen:
Assuming that you actually include the "Print InventoryItem properties" script ofc :)

User avatar
SunBeam
Administration
Administration
Posts: 4932
Joined: Sun Feb 04, 2018 7:16 pm
Reputation: 4630

Re: Horizon Forbidden West [Engine:Decima]

Post by SunBeam »

There's also Inventory::RemoveItems and Inventory::RemoveItemByResource, so you don't need to edit any counts.

Momber
Cheater
Cheater
Posts: 37
Joined: Wed Jan 19, 2022 10:37 pm
Reputation: 7

Re: Horizon Forbidden West [Engine:Decima]

Post by Momber »

Kurei wrote:
Sun Mar 31, 2024 8:31 am
Momber wrote:
Sat Mar 30, 2024 11:33 pm
Or you can use Tuuuup!'s table ITT to directly edit the quantity of coils and weaves without going back to the Arena and jumping around like an idiot at all. Also works for Burning Shores stuff (including Brimshine), I just tried.
I can edit the quantity of the coils and weave using Tuuuup's table but i can no longer equip any of them after changing. How did you make it work? Perhaps i'm missing something?
That's strange. I can equip and unequip them as I please - I do it all the time to see what works best. I did nothing special, just entered the quantity after the script had identified the ID and clicked on the checkbox. Then I closed the inventory and saved my game. I have used the script for this purpose several times (whenever I found a good coil/weave). I also used the script to edit the quantity of resources with no problems.
Last edited by Momber on Sun Mar 31, 2024 12:49 pm, edited 1 time in total.

Honk!!!!
What is cheating?
What is cheating?
Posts: 2
Joined: Sat Dec 30, 2023 6:22 pm
Reputation: 0

Re: Horizon Forbidden West [Engine:Decima]

Post by Honk!!!! »

Would it be possible to change game difficulty, or change the amount of damage received? I would like to make the enemies deal half of the damage if possible.

sonycman
Cheater
Cheater
Posts: 40
Joined: Sun Jul 26, 2020 8:34 pm
Reputation: 33

Re: Horizon Forbidden West [Engine:Decima]

Post by sonycman »

None of the table makers make it to the Arena?
All current freeze timer scripts aren't working on the arena timer! Damn!

Post Reply

Who is online

Users browsing this forum: admantx, citchycann, dabui, DRoy, Gmork770, Google [Bot], Mikvars, Moon1706, Sogou