Horizon Zero Dawn [Engine:Decima]

Upload your cheat tables here (No requests)
User avatar
Drazerak
Cheater
Cheater
Posts: 35
Joined: Sun Apr 22, 2018 2:46 pm
Reputation: 112

Re: Horizon Zero Dawn [Engine:Decima]

Post by Drazerak »

I've dealt with this last week by adding script to fetch those effect addresses. When I get home today I will update the table...

Edit: Updated. BTW Script will fetch only effects from mods you have on you.

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
Last edited by Drazerak on Wed Sep 02, 2020 8:11 pm, edited 1 time in total.

Kurei
Expert Cheater
Expert Cheater
Posts: 50
Joined: Mon Apr 01, 2019 9:57 pm
Reputation: 0

Re: Horizon Zero Dawn [Engine:Decima]

Post by Kurei »

Drazerak wrote:
Wed Sep 02, 2020 5:54 am
I've dealt with this last week by adding script to fetch those effect addresses. When I get home today I will update the table...
Thanks Draz. Really appreciate it.

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

Re: Horizon Zero Dawn [Engine:Decima]

Post by SunBeam »

Kurei wrote:
Wed Sep 02, 2020 4:34 am
...
The way I see it.. it makes no freakin' sense to take first (or last) 2 bytes from a POINTER and add them on the next line. That "D940" in the screenshot really can't be modified like that, as it's part of "15B0AC6D940", which is an address. You're breaking shit you don't understand, it seems. The "Type" is a pointer to another structure, not a value. In that structure you might or not find that value you're trying to list. Why it's shown as 2 bytes, that's another thing I don't get..

Karlos_007
Expert Cheater
Expert Cheater
Posts: 60
Joined: Thu Aug 22, 2019 3:31 pm
Reputation: 29

Re: Horizon Zero Dawn [Engine:Decima]

Post by Karlos_007 »

The "[Trials] Reset Trial Timer To 00:00" doesn't seem to work so I made one script to edit the time that seems to work fine for me.

Not sure if you can test it and add it as another option.

Kurei
Expert Cheater
Expert Cheater
Posts: 50
Joined: Mon Apr 01, 2019 9:57 pm
Reputation: 0

Re: Horizon Zero Dawn [Engine:Decima]

Post by Kurei »

Drazerak wrote:
Wed Sep 02, 2020 5:54 am
I've dealt with this last week by adding script to fetch those effect addresses. When I get home today I will update the table...

Edit: Updated. BTW Script will fetch only effects from mods you have on you.
Hey Draz. Thank you so much for updating the table.

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

Re: Horizon Zero Dawn [Engine:Decima]

Post by SunBeam »

Karlos_007 wrote:
Wed Sep 02, 2020 2:26 pm
The "[Trials] Reset Trial Timer To 00:00" doesn't seem to work so I made one script to edit the time that seems to work fine for me.

Not sure if you can test it and add it as another option.
It does work, but I think I forgot to update one thing: FindNamedComponentByRTTIClassPtr to FindNamedComponentByRTTIClass. So change that on line 12 and you're good to go :)

Code: Select all

12: local HUDCountdownTimerLogic = executeCodeEx( 0, nil, FindComponentByRTTIClassPtr, HUD + 0x128, RTTI_HUDCountdownTimerLogic )
FindComponentByRTTIClassPtr -> FindComponentByRTTIClass

Karlos_007
Expert Cheater
Expert Cheater
Posts: 60
Joined: Thu Aug 22, 2019 3:31 pm
Reputation: 29

Re: Horizon Zero Dawn [Engine:Decima]

Post by Karlos_007 »

The enable works fine, but that script says that 'HUD' is nil.
Maybe it's just a different .exe

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

Re: Horizon Zero Dawn [Engine:Decima]

Post by SunBeam »

Karlos_007 wrote:
Wed Sep 02, 2020 10:14 pm
The enable works fine, but that script says that 'HUD' is nil.
Maybe it's just a different .exe
Kindly notify me that the game has updated when you say some script doesn't work. I just checked the game out and there's been at least 1 update in between, which might've changed that offset where HUD is read; hence the "HUD is nil" error. But.. again.. the game has updated. That should be your main opening statement. You can see in main page I'm stating which version the table's for and obviously when you've opened it up and clicked to run [ Enable ] script, you saw a pop-up.

Gotta wait for this to finish to be able to test:

Image

So every time the game version changes -OR- graphics driver updates.. you get that screen rebuilding the shaders.

BR,
Sun

Karlos_007
Expert Cheater
Expert Cheater
Posts: 60
Joined: Thu Aug 22, 2019 3:31 pm
Reputation: 29

Re: Horizon Zero Dawn [Engine:Decima]

Post by Karlos_007 »

I try to be kind :)
I said that the enable worked fine (no popup) so it was v1.02.

User avatar
Exeter
Table Makers
Table Makers
Posts: 405
Joined: Fri Mar 03, 2017 9:16 am
Reputation: 139

Re: Horizon Zero Dawn [Engine:Decima]

Post by Exeter »

SunBeam wrote:
Thu Sep 03, 2020 12:00 pm
So every time the game version changes -OR- graphics driver updates.. you get that screen rebuilding the shaders.

BR,
Sun
Yeah, super annoying. Takes a good chunk of time too, like 20-30 minutes?

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

Re: Horizon Zero Dawn [Engine:Decima]

Post by SunBeam »

Karlos_007 wrote:
Thu Sep 03, 2020 12:04 pm
I try to be kind :)
I said that the enable worked fine (no popup) so it was v1.02.
Please keep in mind what you see in the [ Debug ] section is entirely your business how you use it; I don't keep the scripts in there updated. But since you brought this up, now I see there are two things that would've needed updating:

9:local LocalPlayer = getAddressSafe( "LocalPlayer" )
12: local HUDCountdownTimerLogic = executeCodeEx( 0, nil, FindNamedComponentByRTTIClassPtr, HUD + 0x128, RTTI_HUDCountdownTimerLogic )

change it to:

9:local LocalPlayer = readQword( getAddressSafe( "LocalPlayer" ) )
12:local HUDCountdownTimerLogic = FindNamedComponentByRTTIClass( HUD + 0x128, "HUDCountdownTimerLogic" )

Also keep in mind "ResetTimer" function is not defined, so you'll have to find it yourself. Hence the point of shit being in a Debug section users shouldn't deal with. If I suggested using the script from there, then my bad.

P.S.: I'll add a functional script in the future update of the table.

User avatar
Marcus101RR
Table Makers
Table Makers
Posts: 387
Joined: Fri Mar 03, 2017 6:04 pm
Reputation: 330

Re: Horizon Zero Dawn [Engine:Decima]

Post by Marcus101RR »

Well this game has some bizarre nested pointing system not to mention instructions that are tied to single calls at times. Annoying as hell.

This table pretty much contains a glance of what the file structure looks like for some data, like inventory capacities, Medicine Weed stats, and SP Health Regen data. The rest is pointers to the player struct, which is also strange because New Game+ and normal causes Medicine Pouch and Experience Tally to be on different pointer end points. Mainly the second offset changes slightly. Retarded If you ask me But whatever.
Attachments
HorizonZeroDawn.CT
1.04
(449.2 KiB) Downloaded 73 times
Last edited by Marcus101RR on Mon Sep 07, 2020 5:17 pm, edited 1 time in total.

User avatar
Exeter
Table Makers
Table Makers
Posts: 405
Joined: Fri Mar 03, 2017 9:16 am
Reputation: 139

Re: Horizon Zero Dawn [Engine:Decima]

Post by Exeter »

Patch 1.04 came out today. Supposedly their aim was to fix a lot of the crashes and some overall performance increase.

Karlos_007
Expert Cheater
Expert Cheater
Posts: 60
Joined: Thu Aug 22, 2019 3:31 pm
Reputation: 29

Re: Horizon Zero Dawn [Engine:Decima]

Post by Karlos_007 »

v1.04 seems a small update, my cheats still work.
Attachments
HorizonZeroDawn.CT
God Mode / Inf. Ammo / Time Trials
(10.35 KiB) Downloaded 134 times

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

Re: Horizon Zero Dawn [Engine:Decima]

Post by SunBeam »

Updated mine as well. Check out the news in the first post.

Get Weapon Coil|Outfit Weave Stats

Exemplifying and explaining. I'm already in the Modify tab of the Inventory and I see these:

Image

+44% Damage Coil with a Value of 50, Rarity: Very Rare and 2 stats: a) +44% Damage; b) +11% Tear. In CE I see these entries:

Image

What you can do here:

1) Directly edit the Price of the Coil/Weave -> change Price from 50 to 100.

2) Directly edit each Stat -> a) 'Stat #1: Damage [+44%]' has a value of 88. Set it to something high so you get its maximum value (e.g.: 690); b) 'Stat #2: Tear [+11%]' has a value of 22; set it to something high so you get its maximum value (e.g.: 690).

Image

Once you change both, move mouse over another Coil then back, and you'll see this in-game:

Image

Yes, the changes happen in real-time, because Decima reads the properties with each mouse hover. Now if you check back in CE, you will see the stats are properly re-read and updated and those 690 values you've set are kept:

Image

No, I've not changed "Stat #1: Damage [+150%]" and "Stat #2: Tear [+150%]" manually, the script does it automatically when you move mouse to another coil and back.

3) Now that you have a Damage and Tear Stat that are already maxxed out, you can build your own coil :)

How to build my Coil|Weave

Pick one from the inventory. Let's say for this exercise we'll "tamper" the first one:

Image

I already have 2 Stats I want, Damage and Tear. What we do now is we use this section:

Image

The "Stats Edit" section allows you to copy-paste "Stats Tables" and build up to 8 stats. You can, theoretically, add as many as you want. Just keep in mind there are CAPS for the Outfits/Weapons you're going to apply them to, so it makes no sense to add 2 x Damage, 2 x Tear, 2 x etc.. Unless you wanna brag with some coil like that, which I find retarded :)

The address we're going to use is an ALLOCATION. Meaning it's something I've done with the script itself; it's not allocated by the game. So before you proceed, keep in mind you will get the game to CRASH 1 time when we finish this process. It is needed and you'll see why.

So.. I want my "Stat #1" to be Damage. Therefore I double-click the "Stat #1 Table" and copy the whole line:

Image

Then paste it in "Stat #1":

Image

And it should look like this:

Image

So now we have Damage in our first Stat slot. Repeat for Tear and you should get this:

Image

Image

2 stats. But we want more. So what you do next is you hover the mouse over other Coils to get their different other stats; like so:

Image

So I copy the Handling table to Stat #3. Note the "Stats Edit" table doesn't reset when you move mouse over other Coils.

Image

Let's stop here, 3 coils. Note that you've moved mouse on another coil and WE NEED TO RETURN TO THE COIL WE WANT TO MODIFY. So move mouse back to first coil, so it's SELECTED:

Image

What we want to do now is tell the Engine that our coil, the first one selected, has to have 3 stats. So change "Stats Num" to 3. We also want to tell the Engine where from to read our Stats, therefore we need to change "Stats Table" to our table with the 3 stats:

Image

So.. how many stats do we have? Stat #1, Stat #2, Stat #3 = 3 stats. Where does the table start? It starts at Stat #1. In my case, the address is 2A5E95D0000:

Image

So:
  • change "Stats Table" to the address you see for "Stat #1" (mine is 2A5E95D0000; you change it to your address!)
  • change "Stats Num" to 3
Image

Once you do this, move mouse over next coil and back to first one, so display updates - remember I said Decima reads the stats in real time in the Modify tab - and you will see this:

Image

Now close the Inventory, find a campfire and quick-save the game. Since we "borrowed" a stat from another coil, we want these changes to be legit. In order for this to become legit, you need to let Decima rebuild your Coil. It can rebuild the Coil only when you close the game and re-run it, loading your quick-save (or clicking CONTINUE at main menu). Once you get back in-game, the 3rd stat we added (Handling) will belong to the Coil we modified. It will not belong anymore to the Coil we "borrowed" it from ;). Of course the Coil we "borrowed" it from will still have it; it's not moved over to our Coil; just replicated.

After quick-saving, press Esc, then QUIT and Yes. And the game will crash:

Image

Normally, you would've been sent to main menu. This is the crash I mentioned; it's because one of the Coils had a non-contiguous allocation for the Stats table. No worries, the save is still there and Decima will do its job after you re-run the game. That's it, you now have a legit coil with 3 stats!

After you re-run the game, simply re-enable the "Get Weapon Coil|Outfit Weave Stats" script and change 3rd stat's value to 690 to max it out as well :P If you want to add more stats, repeat the process depicted above. You will have to COPY ALL TABLES to Stats #1, #2, .. AGAIN. Adding more stats means filling Stats from #1 to #8 all over again in "Stats Edit" section. If you find it easier, you can rename "Stat #1" to whatever you copied the table from (e.g.: Stats #1 to Damage), so you know what it stands for.

Coil|Weave Dupe

Exemplifying and explaining. Let's dupe the Coil we built above (note I've not maxxed out the 3rd stat; just an FYI):

Image

( Please make sure you have 1-2-3 Weapons with EMPTY sockets BEFORE you start doing the below! )

I'll drop it using R key, Esc to close Inventory, then pick it up pressing E key. Now I'll enable the script; it will take 3-4s to run then I see this:

Image

The dupe trick lies in Decima not invalidating the copy of the Coil when it's applied to a socket :) Since it's a copy, we will place the same address of the Entity item at the end of the Inventory table and increase table size by 1. The reason you need to drop the item you want to dupe and pick-it up again is so we don't have to iterate through whole table to find some item you want; when you drop and re-pick item up, there's an offset in the Entity structure that points to the "last picked up item" :) So we use that "shortcut" instead ;)

Looking at my screenshot we got:
  • LastPickedUpItem == 0000029B2AE3E7F0
    This is the Entity address of your dropped and re-picked up Coil. The one we modded in previous step (with 3 stats).
  • HumanoidInventory == 29B2AA06F70
    This is where our Inventory lies at.
  • p->InventoryEntities == 0000029B2ADC39F0
    This is where the Inventory table with Entities starts.
  • NumInventoryEntities == 247
    How many items are in our Inventory?
  • LastInventoryEntity+1
    This is a cleared pointer space at the end of the Inventory table in which you will have to copy-paste the "LastPickedUpItem" address.
To simplify the process, you don't care for shit BUT: a) "NumInventoryEntities" which you have to increase by 1 (so my 247 becomes 248); b) copy-pasting the address you see as Value for "LastPickedUpItem" into "LastInventoryEntity+1" entry. Like so:

Image

Image

Now close and re-open or just open the Inventory. Head to Modifications and you'll see this:

Image

Image

It looks like I have 2 identical items. Well, hold that thought, as it's just a visual mislead :) In order to make this legit, what you need next to do is APPLY this Coil to 1 or multiple items, based on HOW MANY DUPES you want to have. The trick here lies in the fact that Decima will use the copy at the end of the table, considering it a unique item, therefore the inventory size is never -1 when applied. Meaning infinite uses of the Coil dupe when applying it to any item you want.

So I'll pick this the Carja Hunter Bow and Carja Tripcaster and apply the Coil 4 times:

Image

I go to Modify menu in first and apply first Coil:

Image

When you go to 2nd slot, it may look like 1 Coil was already used and you got 1 left; the dupe. So apply it. Now I got this:

Image

Move to the next weapon, the Tripcaster, and voila; it's still available :) Even though you've already applied it 2 times:

Image

So I'll apply it 2 more times:

Image

At the end of the process, we've applied 1 original Coil (the one we dropped and re-picked up) and 3 dupes. Now since all of these 4 are one and the same Coil, we need to make it legit.

TO MAKE IT LEGIT, Decima needs to re-generate the individual Coils, so they're independent (not copies of same Coil). Find a camp-fire and quick-save. Then exit to main menu and CONTINUE. Once back in-game, go to Inventory > Modify and remove the Coils from the 4 sockets :) You will see you have 5 Coils now. The original one we used which remained in our Inventory + 4 from each of the 2 Weapons:

(original one)
Image

(4 more)
Image

(removed from sockets)
Image

And that's that.

I've had to write quite a lot of shit to explain to the best of the noob language what you have to do. If you still get into issues, please help one another, as I can't be arsed anymore with this game.

Post Reply

Who is online

Users browsing this forum: Almahdi, clay2002, daemonixz, disko53, Hobot13749, kijin, Majestic-12 [Bot], StinVec