Page 44 of 53

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 2:23 am
by ++METHOS
SunBeam wrote:
Fri Jan 14, 2022 5:59 pm
Added a CONSOLE UDF by the means of which you can now send Lua commands to the game.
-Just thought I would check to see what you are up to these days. You are on another level, my friend.

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 2:27 am
by SunBeam
Cobiy wrote:
Fri Jan 28, 2022 3:16 pm
...
What you posted there doesn't make any sense. First-up, that top pointer of yours, although you perceive it as "green" in CE, it's not referenced anywhere in code. If you are going to tell me it's always there and bla bla, then fine by me. All I'm saying is it's not used as is in the game's executable code. Scan for a ptr to it or find all xrefs. And yes, I still run 1.0.3 (although 1.0.4 was released). Furthermore, "gow" stands for "global objects from wads". What "entity"?

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 2:30 am
by Wulf
++METHOS wrote:
Sat Jan 29, 2022 2:23 am
Just thought I would check to see what you are up to these days. You are on another level, my friend.
And if I'm reading the thread right, he did it while sick with COVID.

Like damn, here I am doing normal-human shit and struggling, and he's relaxing and taking it easy by implementing an LUA console between naps and sipping hot cocoa, or whatever the hell it is covid people do.

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 2:33 am
by Wulf
SunBeam wrote:
Sat Jan 29, 2022 2:27 am
Furthermore, "gow" stands for "global objects from wads". What "entity"?
I've seen GameObjects referenced as 'go' a lot (gosoldier, goplayer, goson, etc) but I don't think I've seen gow as anything but a reference to god of war. Do you have any examples?

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 2:41 am
by SunBeam
0x00000001406E7020 in 1.0.3 initializes goPlayer, which you can also find references of in RTTI.

Code: Select all

00000001406E73CD | 48:893D 64FEB601 | MOV QWORD PTR DS:[<g_goPlayer>],RDI
The normalized 1.0.3 binary is in this topic, a few pages back.

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 2:45 am
by Wulf
SunBeam wrote:
Sat Jan 29, 2022 2:27 am
I still run 1.0.3 (although 1.0.4 was released).
I'll stop spamming at 3 posts in a row but I figure each separate thought should be its own post to keep things coherent, but if you're still on 1.0.3, could you check if this log displays any values for your LUA inputs, or if it's completely separate? I found it while logging WAD loads/unloading.

I'd test it myself but I've got a ton of stuff going on analyzing the latest update.

String value at:

[GoW.exe+4e435a0]+3100+[[GoW.exe+4e435a0]+b104]*100


If the board nukes that formatting, that's:

(OpenSqBrack)GoW.exe+4e435a0(CloseSqBrack)+3100+(OpenSqBrack)(OpenSqBrack)GoW.exe+4e435a0(CloseSqBrack)+b104(CloseSqBrack)*100

Edit: Address of above logging in 1.04 is [GoW.exe+4F23B08]+3100+[[GoW.exe+4F23B08]+b104]*100

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 3:33 am
by Wulf
If anybody cares to view my stub of a Cheat Table for 1.04, it's available here - [Link]

Definitely not superior to the main CT but does a few things it doesn't.

Highlights would be Difficulty selection (likely have to save/reload for that value to actually take effect), Wad load/unload logs, game pause value, kratos/atreus HP and size.

I also use the IsDeathAllowed boolean as opposed to whichever flags the main CT table toggles within Kratos' structure directly for god mode.

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 5:23 am
by Cobiy
SunBeam wrote:
Sat Jan 29, 2022 2:27 am
Cobiy wrote:
Fri Jan 28, 2022 3:16 pm
...
What you posted there doesn't make any sense. First-up, that top pointer of yours, although you perceive it as "green" in CE, it's not referenced anywhere in code. If you are going to tell me it's always there and bla bla, then fine by me. All I'm saying is it's not used as is in the game's executable code. Scan for a ptr to it or find all xrefs. And yes, I still run 1.0.3 (although 1.0.4 was released). Furthermore, "gow" stands for "global objects from wads". What "entity"?
you know what an offsets is? this is just an adress that you can use to get the entity object of kratos which that object contains his x y z position his velocity and other things which you can find by adding an offset, the name i put in my post has no specific meaning gow stands for god of war duh and that is a pointer thats on cheat engine why would this adress be referanced in the games code i would not expect any up to date game engine to let need or have to do memory management of any kind.

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 5:44 am
by Wulf
In GoW.exe 1.04 [GoW.exe+2BA14D0] is pointed at by [[[goPlayer]+8]+3bf8].

You guys are talking different exe versions.

Edit: goPlayer = <GoW.exe>+2257238

Edit 2: It's still not directly referenced by any code. Get there through goPlayer->goSoldier->3bf8 instead of counting on that pointer to always be valid.

Edit 3: There is an array of structs at that address of 0x930 size.

Edit 4: GoW.exe 1.04 - Call R_UI.WAD's EVT_COMPASS_TOGGLE_CHEAT. Give yourself a compass on your HUD early. Mostly interesting as a proof of concept for calling arbitrary WAD's events, but hey, free compass.

[ENABLE]
alloc(code, 0x1000)
CreateThread(code)

code:
pushfq
mov rcx, GoW.exe+76BE70
mov rcx, [rcx]
call GoW.exe+76BE70
popfq
ret

[DISABLE]
dealloc(code)

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 10:00 am
by MemphisRokudo
I been try this line in the lua but nothing happening game.Wallets.AddResource("HERO", "World_Serpent_Scale", 10000, "NO_TELEMETRY") and getting nothing

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 10:04 am
by Postposterous
Can this be used to spawn NPCs? For example, could I spawn a bunch of Baldurs?

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 11:02 am
by MemphisRokudo
MemphisRokudo wrote:
Sat Jan 29, 2022 10:00 am
I been try this line in the lua but nothing happening game.Wallets.AddResource("HERO", "World_Serpent_Scale", 10000, "NO_TELEMETRY") and getting nothing
Never mind

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 11:52 am
by eazin1
Mister Modification wrote:
Fri Jan 28, 2022 2:02 pm
eazin1 wrote:
Fri Jan 28, 2022 1:19 pm
...
eazin1 wrote:
Fri Jan 28, 2022 1:23 pm
...
You find the table you search on page 40.
Thank you! I've fixed it, really appreciate it!

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 11:53 am
by eazin1
SunBeam wrote:
Fri Jan 14, 2022 5:59 pm
..
I have tried this table too, really amazing work! The "adding recourses" option is really incredible.

Re: God of War [Engine:Unknown]

Posted: Sat Jan 29, 2022 12:45 pm
by Mister Modification
Kurei wrote:
Fri Jan 28, 2022 10:21 am
Kamse wrote:
Fri Jan 28, 2022 10:18 am
Already asked, no way if you don't do it yourself.
Sunbeam is gonna bite you 🤣
Hahaha. Already thought of that. Thanks for the feedback.
Here you have perk activation chances to find what you need. Good luck!

Code: Select all

local perkChance = {}
perkChance.CriticalAxeThrow = 18
perkChance.CriticalAxeThrowHealth = 12
perkChance.BladeAirGrapple = 20
perkChance.Launch = 18
perkChance.AxeHeavyHold = 30
perkChance.AxeHeavyHoldHealth = 18
perkChance.ParryHigh = 24
perkChance.ParryLow = 16
perkChance.ProcMed = 3.25
perkChance.ProcLow = 2.75
perkChance.ProcUltraLow = 1.85
perkChance.ProcTimeBubble = 1
perkChance.WeaponSpecialHigh = 36
perkChance.WeaponSpecialLow = 18
perkChance.WeaponSpecialRunicKill = 35
perkChance.WeaponSpecial_InstantRefresh = 6
perkChance.BlockLow = 7
perkChance.TakeDamageVeryLow = 3
perkChance.TakeDamageLow = 6
perkChance.TakeDamageMed = 10
perkChance.EvadeBuff = 14
perkChance.EvadeHeal = 8
perkChance.LowHealth = 26
perkChance.OnKillHigh = 16
local hitCounterDrain = false
function LuckAttributeRoll(initialRoll)
  local Luck = playerCreature.AttributeGetValue(playerCreature, "Luck")
  local ModRoll
  local beginningRoll = initialRoll
  if 0 < Luck then
    local luckModPct = Luck / 125
    local finalMod = luckModPct + 1
    local ModRoll = finalMod * initialRoll
    return ModRoll
  else
    return beginningRoll
  end
end