Gothic 3 Table
Posted: Sat Aug 27, 2022 11:41 pm
Here is my Table for Gothic 3
Here is my Cheat Engine Tutorial:
Spoiler

Here is my Cheat Engine Tutorial:
Spoiler
[Link]
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
Code: Select all
{ Game : Gothic3.exe
Version:
Date : 2022-08-27
Author : SilverRabbit
This script does blah blah blah
}
[ENABLE]
aobscan(SetAllStatsToA,8B 41 14 03 41 10) // should be unique
alloc(newmem,$1000)
//alloc(allStats,4)
//allStats:
//dd (int)100
label(code)
label(return)
label(seeStrenght seeHuntingSkill seeKnowledge seeSmithing seeThieving seeAlchemy seeLifeEnergy seeEndurance seeMana seePtrBlades seePtrImpact seePtrMissiles seePtrFire seePtrIce seePtrEnergy)
registersymbol(seeStrenght seeHuntingSkill seeKnowledge seeSmithing seeThieving seeAlchemy seeLifeEnergy seeEndurance seeMana seePtrBlades seePtrImpact seePtrMissiles seePtrFire seePtrIce seePtrEnergy)
newmem:
{
RSP
Strenght
off 4 my 4177526240
off 8 my 4169479848
off 3C my 4045421676
off 54 my 4045421676
off 5C my 4177526240
off 64 my 4169479848
off 68 my 4169479848
off 70 my 4177526240
off 7C my 4169479848
off 84 my 4169479848
off 98 my 4045421676
off E4 my 212
off EC my 232
off F4 my 212
off FC my 232
}
cmp [rsp+E4],(int)212
jne Hunting
mov [seeStrenght],ecx
Hunting:
cmp [rsp+E4],(int)235
jne Knowledge
mov [seeHuntingSkill],ecx
Knowledge:
cmp [rsp+E4],(int)258
jne Smithing
mov [seeKnowledge],ecx
Smithing:
cmp [rsp+E4],(int)281
jne Thieving
mov [seeSmithing],ecx
Thieving:
cmp [rsp+E4],(int)304
jne Alchemy
mov [seeThieving],ecx
Alchemy:
cmp [rsp+E4],(int)327
jne LifeEnergy
mov [seeAlchemy],ecx
LifeEnergy:
cmp [rsp+E4],(int)350
jne Endurance
mov [seeLifeEnergy],ecx
Endurance:
cmp [rsp+E4],(int)373
jne Mana
mov [seeEndurance],ecx
Mana:
cmp [rsp+E4],(int)396
jne PtrBlades
mov [seeMana],ecx
PtrBlades:
cmp [rsp+E4],(int)481
jne PtrImpact
mov [seePtrBlades],ecx
PtrImpact:
cmp [rsp+E4],(int)504
jne PtrMissiles
mov [seePtrImpact],ecx
PtrMissiles:
cmp [rsp+E4],(int)527
jne PtrFire
mov [seePtrMissiles],ecx
PtrFire:
cmp [rsp+E4],(int)550
jne PtrIce
mov [seePtrFire],ecx
PtrIce:
cmp [rsp+E4],(int)573
jne PtrEnergy
mov [seePtrIce],ecx
PtrEnergy:
cmp [rsp+E4],(int)596
jne code
mov [seePtrEnergy],ecx
//mov eax,[allStats]
code:
//mov [ecx+14],(int)999
//mov [ecx+14],eax
//mov [ecx+10],eax
mov eax,[ecx+14]
add eax,[ecx+10]
jmp return
seeStrenght:
dd (int)0
seeHuntingSkill:
dd (int)0
seeKnowledge:
dd (int)0
seeSmithing:
dd (int)0
seeThieving:
dd (int)0
seeAlchemy:
dd (int)0
seeLifeEnergy:
dd (int)0
seeEndurance:
dd (int)0
seeMana:
dd (int)0
seePtrBlades:
dd (int)0
seePtrImpact:
dd (int)0
seePtrMissiles:
dd (int)0
seePtrFire:
dd (int)0
seePtrIce:
dd (int)0
seePtrEnergy:
dd (int)0
SetAllStatsToA:
jmp newmem
nop
return:
registersymbol(SetAllStatsToA)
[DISABLE]
SetAllStatsToA:
db 8B 41 14 03 41 10
unregistersymbol(*)
dealloc(*)
{
// ORIGINAL CODE - INJECTION POINT: 03720031
0371FFFF: - ??
03720000: 81 7E 48 01 00 00 80 - cmp [esi+48],80000001
03720007: 75 28 - jne 03720031
03720009: 0F 1F 40 00 - nop dword ptr [eax+00]
0372000D: 89 0D 3C 00 72 03 - mov [seeHp],ecx
03720013: 89 0D 40 00 72 03 - mov [seeMaxHp],ecx
03720019: 89 0D 44 00 72 03 - mov [seeEndurance],ecx
0372001F: 89 0D 48 00 72 03 - mov [seeMaxEndurance],ecx
03720025: 89 0D 4C 00 72 03 - mov [seeMana],ecx
0372002B: 89 0D 50 00 72 03 - mov [seeMaxMana],ecx
// ---------- INJECTING HERE ----------
03720031: 8B 41 14 - mov eax,[ecx+14]
// ---------- DONE INJECTING ----------
03720034: 03 41 10 - add eax,[ecx+10]
03720037: E9 4A 38 D2 FD - jmp Game.gCAttribute::GetValue+6
seeHp: 50 - push eax
0372003D: F8 - clc
0372003E: CB - ret
0372003F: D7 - xlatb
seeMaxHp: 50 - push eax
03720041: F8 - clc
03720042: CB - ret
03720043: D7 - xlatb
}