Grim Dawn + All DLC's

Upload your cheat tables here (No requests)
User avatar
fearless123456
Expert Cheater
Expert Cheater
Posts: 80
Joined: Wed Jan 30, 2019 6:19 am
Reputation: 94

Re: Grim Dawn + All DLC's

Post by fearless123456 »

Loot Randomizer (credits to Carlton,Pyre_of_Malic3,orochi2k & anonymous)
This will increase rate of drops and their rarity.
Spoiler

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>157</ID>
      <Description>"Loot Randomizer"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2021-03-16
  Author : 009

  This script does blah blah blah
}

[ENABLE]
aobscan(ucrt1rand,48 83 EC 28 E8 77 25 FF FF)
aobscanmodule(INJECT,Game.dll,FF 50 38 8B D8 85 C0 0F) // should be unique
alloc(newmem,$1000,INJECT)
alloc(newdata,256)

label(code)
label(return)

label(seed1)
registersymbol(seed1)

newdata:
seed1:
dd #1

newmem:

code:
call qword ptr [rax+38]

call ucrt1rand  //call random number generator and put result into eax (delete line to manually enter seed number)
mov [seed1],eax
mov eax,[seed1]

  mov ebx,eax
  jmp return

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db FF 50 38 8B D8

dealloc(*)
unregistersymbol(*)

{
// ORIGINAL CODE - INJECTION POINT: Game.GAME::LootLoader::Load+AC

Game.GAME::LootLoader::Load+81: 48 03 F9                 - add rdi,rcx
Game.GAME::LootLoader::Load+84: 48 69 F0 A8 00 00 00     - imul rsi,rax,000000A8
Game.GAME::LootLoader::Load+8B: 48 8D 05 2E 5A 35 00     - lea rax,[Game.GAME::LootItemTableRandomizer::TableIterations+121C]
Game.GAME::LootLoader::Load+92: 48 03 F0                 - add rsi,rax
Game.GAME::LootLoader::Load+95: 44 8B AC 24 D0 00 00 00  - mov r13d,[rsp+000000D0]
Game.GAME::LootLoader::Load+9D: 0F 1F 00                 - nop dword ptr [rax]
Game.GAME::LootLoader::Load+A0: 49 8B 06                 - mov rax,[r14]
Game.GAME::LootLoader::Load+A3: 45 33 C0                 - xor r8d,r8d
Game.GAME::LootLoader::Load+A6: 48 8B D6                 - mov rdx,rsi
Game.GAME::LootLoader::Load+A9: 49 8B CE                 - mov rcx,r14
// ---------- INJECTING HERE ----------
Game.GAME::LootLoader::Load+AC: FF 50 38                 - call qword ptr [rax+38]
// ---------- DONE INJECTING  ----------
Game.GAME::LootLoader::Load+AF: 8B D8                    - mov ebx,eax
Game.GAME::LootLoader::Load+B1: 85 C0                    - test eax,eax
Game.GAME::LootLoader::Load+B3: 0F 8E AC 00 00 00        - jng Game.GAME::LootLoader::Load+165
Game.GAME::LootLoader::Load+B9: 4D 8B 16                 - mov r10,[r14]
Game.GAME::LootLoader::Load+BC: 48 8D 05 2B 46 25 00     - lea rax,[Game.GAME::GameEngine::MaxExpansion1TransferSacks+13C2]
Game.GAME::LootLoader::Load+C3: 48 89 44 24 20           - mov [rsp+20],rax
Game.GAME::LootLoader::Load+C8: 45 8B CD                 - mov r9d,r13d
Game.GAME::LootLoader::Load+CB: 4C 8B C7                 - mov r8,rdi
Game.GAME::LootLoader::Load+CE: 48 8D 54 24 38           - lea rdx,[rsp+38]
Game.GAME::LootLoader::Load+D3: 49 8B CE                 - mov rcx,r14
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>156</ID>
          <Description>"Seed number"</Description>
          <LastState Value="19150" RealAddress="7FFC3F071000"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>seed1</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>






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

R3V0L
Cheater
Cheater
Posts: 31
Joined: Sun May 12, 2019 8:26 pm
Reputation: 37

Re: Grim Dawn + All DLC's

Post by R3V0L »

Hi!
Is it possible to update axyd unlimited transmutation script to 1.1.9.0 x32?

Code: Select all

{ Game   : Grim Dawn.exe
  Version:
  Date   : 2019-04-08
  Author : axyd

  Unlimited Transmutations, sets items used to 99
}

[ENABLE]

aobscanmodule(transmute_scrap,Game.dll,08 89 81 7C 05 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov eax, (int)98
  mov [ecx+0000057C],eax
  jmp return

code:
  mov [ecx+0000057C],eax
  jmp return

transmute_scrap+01:
  jmp newmem
  nop
return:
registersymbol(transmute_scrap)

[DISABLE]

transmute_scrap+01:
  db 89 81 7C 05 00 00

unregistersymbol(transmute_scrap)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Game.dll"+20A506

"Game.dll"+20A4F9: CC                    -  int 3
"Game.dll"+20A4FA: CC                    -  int 3
"Game.dll"+20A4FB: CC                    -  int 3
"Game.dll"+20A4FC: CC                    -  int 3
"Game.dll"+20A4FD: CC                    -  int 3
"Game.dll"+20A4FE: CC                    -  int 3
"Game.dll"+20A4FF: CC                    -  int 3
"Game.dll"+20A500: 55                    -  push ebp
"Game.dll"+20A501: 8B EC                 -  mov ebp,esp
"Game.dll"+20A503: 8B 45 08              -  mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
"Game.dll"+20A506: 89 81 7C 05 00 00     -  mov [ecx+0000057C],eax
// ---------- DONE INJECTING  ----------
"Game.dll"+20A50C: 89 81 5C 04 00 00     -  mov [ecx+0000045C],eax
"Game.dll"+20A512: 5D                    -  pop ebp
"Game.dll"+20A513: C2 04 00              -  ret 0004
"Game.dll"+20A516: CC                    -  int 3
"Game.dll"+20A517: CC                    -  int 3
"Game.dll"+20A518: CC                    -  int 3
"Game.dll"+20A519: CC                    -  int 3
"Game.dll"+20A51A: CC                    -  int 3
"Game.dll"+20A51B: CC                    -  int 3
"Game.dll"+20A51C: CC                    -  int 3
}

User avatar
fantomas
Table Makers
Table Makers
Posts: 1163
Joined: Sat Mar 25, 2017 7:13 pm
Reputation: 552

Re: Grim Dawn + All DLC's

Post by fantomas »

@R3VOL

Hi,
I do not know how that script works nor if my script will work as same but here the updated version of that script.

Code: Select all

[ENABLE]
//Game.GAME::Item::SetStackSize+6
{$lua}
return "aobscanmodule(infCraft,Game.dll,8981????00008981????00005DC20400CCCCCCCCCCCCCCCC)"
{$asm}
alloc(newmem,$1000)
alloc(Bkp,8)

label(code)
label(return)

newmem:
Bkp:
  readmem(infCraft,6)

code:
  mov eax,#98
  readmem(infCraft,6)
  jmp return

infCraft:
  jmp code
  nop
return:
registersymbol(infCraft,Bkp)

[DISABLE]
infCraft:
  readmem(Bkp,6)

unregistersymbol(infCraft,Bkp)
dealloc(newmem,Bkp)

{
// ORIGINAL CODE - INJECTION POINT: Game.GAME::Item::SetStackSize+6

Game.GAME::Item::GetStackSize+19: CC                 - int 3 
Game.GAME::Item::GetStackSize+1A: CC                 - int 3 
Game.GAME::Item::GetStackSize+1B: CC                 - int 3 
Game.GAME::Item::GetStackSize+1C: CC                 - int 3 
Game.GAME::Item::GetStackSize+1D: CC                 - int 3 
Game.GAME::Item::GetStackSize+1E: CC                 - int 3 
Game.GAME::Item::GetStackSize+1F: CC                 - int 3 
Game.GAME::Item::SetStackSize: 55                 - push ebp
Game.GAME::Item::SetStackSize+1: 8B EC              - mov ebp,esp
Game.GAME::Item::SetStackSize+3: 8B 45 08           - mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
Game.GAME::Item::SetStackSize+6: 89 81 88 05 00 00  - mov [ecx+00000588],eax
// ---------- DONE INJECTING  ----------
Game.GAME::Item::SetStackSize+C: 89 81 60 04 00 00  - mov [ecx+00000460],eax
Game.GAME::Item::SetStackSize+12: 5D                 - pop ebp
Game.GAME::Item::SetStackSize+13: C2 04 00           - ret 0004
Game.GAME::Item::SetStackSize+16: CC                 - int 3 
Game.GAME::Item::SetStackSize+17: CC                 - int 3 
Game.GAME::Item::SetStackSize+18: CC                 - int 3 
Game.GAME::Item::SetStackSize+19: CC                 - int 3 
Game.GAME::Item::SetStackSize+1A: CC                 - int 3 
Game.GAME::Item::SetStackSize+1B: CC                 - int 3 
Game.GAME::Item::SetStackSize+1C: CC                 - int 3 
}
Enjoy! ;)

R3V0L
Cheater
Cheater
Posts: 31
Joined: Sun May 12, 2019 8:26 pm
Reputation: 37

Re: Grim Dawn + All DLC's

Post by R3V0L »

fantomas wrote:
Tue Mar 23, 2021 11:07 am
@R3VOL

Hi,
I do not know how that script works nor if my script will work as same but here the updated version of that script.

Code: Select all

[ENABLE]
//Game.GAME::Item::SetStackSize+6
{$lua}
return "aobscanmodule(infCraft,Game.dll,8981????00008981????00005DC20400CCCCCCCCCCCCCCCC)"
{$asm}
alloc(newmem,$1000)
alloc(Bkp,8)

label(code)
label(return)

newmem:
Bkp:
  readmem(infCraft,6)

code:
  mov eax,#98
  readmem(infCraft,6)
  jmp return

infCraft:
  jmp code
  nop
return:
registersymbol(infCraft,Bkp)

[DISABLE]
infCraft:
  readmem(Bkp,6)

unregistersymbol(infCraft,Bkp)
dealloc(newmem,Bkp)

{
// ORIGINAL CODE - INJECTION POINT: Game.GAME::Item::SetStackSize+6

Game.GAME::Item::GetStackSize+19: CC                 - int 3 
Game.GAME::Item::GetStackSize+1A: CC                 - int 3 
Game.GAME::Item::GetStackSize+1B: CC                 - int 3 
Game.GAME::Item::GetStackSize+1C: CC                 - int 3 
Game.GAME::Item::GetStackSize+1D: CC                 - int 3 
Game.GAME::Item::GetStackSize+1E: CC                 - int 3 
Game.GAME::Item::GetStackSize+1F: CC                 - int 3 
Game.GAME::Item::SetStackSize: 55                 - push ebp
Game.GAME::Item::SetStackSize+1: 8B EC              - mov ebp,esp
Game.GAME::Item::SetStackSize+3: 8B 45 08           - mov eax,[ebp+08]
// ---------- INJECTING HERE ----------
Game.GAME::Item::SetStackSize+6: 89 81 88 05 00 00  - mov [ecx+00000588],eax
// ---------- DONE INJECTING  ----------
Game.GAME::Item::SetStackSize+C: 89 81 60 04 00 00  - mov [ecx+00000460],eax
Game.GAME::Item::SetStackSize+12: 5D                 - pop ebp
Game.GAME::Item::SetStackSize+13: C2 04 00           - ret 0004
Game.GAME::Item::SetStackSize+16: CC                 - int 3 
Game.GAME::Item::SetStackSize+17: CC                 - int 3 
Game.GAME::Item::SetStackSize+18: CC                 - int 3 
Game.GAME::Item::SetStackSize+19: CC                 - int 3 
Game.GAME::Item::SetStackSize+1A: CC                 - int 3 
Game.GAME::Item::SetStackSize+1B: CC                 - int 3 
Game.GAME::Item::SetStackSize+1C: CC                 - int 3 
}
Enjoy! ;)
Thanks!
But it doesn't seem to work on x32(((

P.S. as i understand something wrong with this adress "aobscanmodule(infCraft,Game.dll,8981????00008981????00005DC20400CCCCCCCCCCCCCCCC)" but i don't know the correct one

P.S.S. Anyway, i made a mistake, i needed a script for free crafting in x32 version, not transmutation, sorry))

R3V0L
Cheater
Cheater
Posts: 31
Joined: Sun May 12, 2019 8:26 pm
Reputation: 37

Re: Grim Dawn + All DLC's

Post by R3V0L »

StinVec wrote:
Mon Oct 12, 2020 11:21 pm
aureliano17 wrote:
Sun Oct 11, 2020 9:04 am
Is there any option for easy crafting? I like to try out mods and the amount of relics and weapons that you can/need to craft, plus the requirements, is absolutely overwhelming.
Free Crafting
(Tested on Steam-based v1.1.8.0/v1.1.8.1 x64 only)

Here is an option I just did real quick. Let me know if it works ok for you.

The main option enables all sub-options and makes the amount of each component needed in each slot requirement to be zero.
Image
Image

You can enable only the slots you want to be set to zero quantity needed based on how you want to play.

Having all of the slots/requirements separate like this can allow someone to only disable the requirements they don't want to have to have on hand in order to craft something.
e.g.
- Someone can enable only the Main item slot if they don't want to need the specific chest item to craft a chest, but the lesser components can still be left as being required.
- Or if someone only wants to remove the Iron cost from crafting they can only enable the Iron Cost option to set the required Iron amount to zero.

The option could be made a lot more efficiently and also remove the per-slot configuration of it if someone else wants to do it, but this works and I like offering options so people can adjust it to their preference for their needs and how they play.
CODE - Slot - Main Item

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagentBaseQuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotMain,Game.dll,8B 81 94 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BC70)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000B94]
  mov eax,0
  jmp return

FreeCraftSlotMain:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotMain)

[DISABLE]
FreeCraftSlotMain:
  db 8B 81 94 0B 00 00

unregistersymbol(FreeCraftSlotMain)
dealloc(newmem)
CODE - Slot - 1 (top left)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent1QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotOne,Game.dll,8B 81 98 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BC80)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000B98]
  mov eax,0
  jmp return

FreeCraftSlotOne:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotOne)

[DISABLE]
FreeCraftSlotOne:
  db 8B 81 98 0B 00 00

unregistersymbol(FreeCraftSlotOne)
dealloc(newmem)
CODE - Slot - 2 (top right)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent2QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotTwo,Game.dll,8B 81 9C 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BC90)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000B9C]
  mov eax,0
  jmp return

FreeCraftSlotTwo:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotTwo)

[DISABLE]
FreeCraftSlotTwo:
  db 8B 81 9C 0B 00 00

unregistersymbol(FreeCraftSlotTwo)
dealloc(newmem)
CODE - Slot - 3 (middle left)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent3QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotThree,Game.dll,8B 81 A0 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BCA0)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000BA0]
  mov eax,0
  jmp return

FreeCraftSlotThree:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotThree)

[DISABLE]
FreeCraftSlotThree:
  db 8B 81 A0 0B 00 00

unregistersymbol(FreeCraftSlotThree)
dealloc(newmem)
CODE - Slot - 4 (middle right)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent4QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotFour,Game.dll,8B 81 A4 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BCB0)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000BA4]
  mov eax,0
  jmp return

FreeCraftSlotFour:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotFour)

[DISABLE]
FreeCraftSlotFour:
  db 8B 81 A4 0B 00 00

unregistersymbol(FreeCraftSlotFour)
dealloc(newmem)
CODE - Slot - 5 (bottom left)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent5QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotFive,Game.dll,8B 81 A8 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BCC0)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000BA8]
  mov eax,0
  jmp return

FreeCraftSlotFive:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotFive)

[DISABLE]
FreeCraftSlotFive:
  db 8B 81 A8 0B 00 00

unregistersymbol(FreeCraftSlotFive)
dealloc(newmem)
CODE - Slot - 6 (bottom right)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent6QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotSix,Game.dll,8B 81 AC 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BCD0)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000BAC]
  mov eax,0
  jmp return

FreeCraftSlotSix:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotSix)

[DISABLE]
FreeCraftSlotSix:
  db 8B 81 AC 0B 00 00

unregistersymbol(FreeCraftSlotSix)
dealloc(newmem)
CODE - Iron Cost

Code: Select all

// Game.GAME::ItemArtifactFormula::GetCreationCost+4

[ENABLE]
aobscanmodule(FreeCraftSlotIron,Game.dll,4C 8B 81 98 0E 00 00) // should be unique
alloc(newmem,$1000,"Game.dll"+26E434)

label(code)
label(return)

newmem:

code:
//  mov r8,[rcx+00000E98]
  mov r8,0
  jmp return

FreeCraftSlotIron:
  jmp newmem
  nop 2
return:
registersymbol(FreeCraftSlotIron)

[DISABLE]
FreeCraftSlotIron:
  db 4C 8B 81 98 0E 00 00

unregistersymbol(FreeCraftSlotIron)
dealloc(newmem)
Also attaching the options in table format for quickly copying the option and pasting it into fantomas's table, or fantomas's options can be copied over into this table if the option sorting framework in it is of use.
Can it be adapted to 32bit version somehow?

UndeadNonHero
Noobzor
Noobzor
Posts: 10
Joined: Sat Feb 27, 2021 9:13 am
Reputation: 0

Re: Grim Dawn + All DLC's

Post by UndeadNonHero »

I am offering a $30 Amazon Giftcard (US) reward for the person that gets the riftgate anywhere cheat working. Bonus for getting it to work with Grim Internals teleport function. Alternatively, a cheat that would unlocks the Grim Internals teleport function will suffice rather than getting it working in game.

Baofu
Expert Cheater
Expert Cheater
Posts: 113
Joined: Wed Mar 15, 2017 10:25 am
Reputation: 16

Re: Grim Dawn + All DLC's

Post by Baofu »

I know scripts are the new fad but is there a way we can just add the rarity drop increase and Crucible wave count stuff to the latest ct table?

StinVec
Table Makers
Table Makers
Posts: 103
Joined: Sun Jun 25, 2017 7:02 am
Reputation: 129

Re: Grim Dawn + All DLC's

Post by StinVec »

R3V0L wrote:
Tue Mar 23, 2021 8:08 pm
StinVec wrote:
Mon Oct 12, 2020 11:21 pm
aureliano17 wrote:
Sun Oct 11, 2020 9:04 am
Is there any option for easy crafting? I like to try out mods and the amount of relics and weapons that you can/need to craft, plus the requirements, is absolutely overwhelming.
Free Crafting
(Tested on Steam-based v1.1.8.0/v1.1.8.1 x64 only)

Here is an option I just did real quick. Let me know if it works ok for you.

The main option enables all sub-options and makes the amount of each component needed in each slot requirement to be zero.
Image
Image

You can enable only the slots you want to be set to zero quantity needed based on how you want to play.

Having all of the slots/requirements separate like this can allow someone to only disable the requirements they don't want to have to have on hand in order to craft something.
e.g.
- Someone can enable only the Main item slot if they don't want to need the specific chest item to craft a chest, but the lesser components can still be left as being required.
- Or if someone only wants to remove the Iron cost from crafting they can only enable the Iron Cost option to set the required Iron amount to zero.

The option could be made a lot more efficiently and also remove the per-slot configuration of it if someone else wants to do it, but this works and I like offering options so people can adjust it to their preference for their needs and how they play.
CODE - Slot - Main Item

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagentBaseQuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotMain,Game.dll,8B 81 94 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BC70)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000B94]
  mov eax,0
  jmp return

FreeCraftSlotMain:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotMain)

[DISABLE]
FreeCraftSlotMain:
  db 8B 81 94 0B 00 00

unregistersymbol(FreeCraftSlotMain)
dealloc(newmem)
CODE - Slot - 1 (top left)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent1QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotOne,Game.dll,8B 81 98 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BC80)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000B98]
  mov eax,0
  jmp return

FreeCraftSlotOne:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotOne)

[DISABLE]
FreeCraftSlotOne:
  db 8B 81 98 0B 00 00

unregistersymbol(FreeCraftSlotOne)
dealloc(newmem)
CODE - Slot - 2 (top right)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent2QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotTwo,Game.dll,8B 81 9C 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BC90)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000B9C]
  mov eax,0
  jmp return

FreeCraftSlotTwo:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotTwo)

[DISABLE]
FreeCraftSlotTwo:
  db 8B 81 9C 0B 00 00

unregistersymbol(FreeCraftSlotTwo)
dealloc(newmem)
CODE - Slot - 3 (middle left)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent3QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotThree,Game.dll,8B 81 A0 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BCA0)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000BA0]
  mov eax,0
  jmp return

FreeCraftSlotThree:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotThree)

[DISABLE]
FreeCraftSlotThree:
  db 8B 81 A0 0B 00 00

unregistersymbol(FreeCraftSlotThree)
dealloc(newmem)
CODE - Slot - 4 (middle right)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent4QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotFour,Game.dll,8B 81 A4 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BCB0)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000BA4]
  mov eax,0
  jmp return

FreeCraftSlotFour:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotFour)

[DISABLE]
FreeCraftSlotFour:
  db 8B 81 A4 0B 00 00

unregistersymbol(FreeCraftSlotFour)
dealloc(newmem)
CODE - Slot - 5 (bottom left)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent5QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotFive,Game.dll,8B 81 A8 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BCC0)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000BA8]
  mov eax,0
  jmp return

FreeCraftSlotFive:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotFive)

[DISABLE]
FreeCraftSlotFive:
  db 8B 81 A8 0B 00 00

unregistersymbol(FreeCraftSlotFive)
dealloc(newmem)
CODE - Slot - 6 (bottom right)

Code: Select all

// Game.GAME::ItemArtifactFormula::GetReagent6QuantityForFormula

[ENABLE]
aobscanmodule(FreeCraftSlotSix,Game.dll,8B 81 AC 0B 00 00 C3 CC) // should be unique
alloc(newmem,$1000,"Game.dll"+26BCD0)

label(code)
label(return)

newmem:

code:
//  mov eax,[rcx+00000BAC]
  mov eax,0
  jmp return

FreeCraftSlotSix:
  jmp newmem
  nop
return:
registersymbol(FreeCraftSlotSix)

[DISABLE]
FreeCraftSlotSix:
  db 8B 81 AC 0B 00 00

unregistersymbol(FreeCraftSlotSix)
dealloc(newmem)
CODE - Iron Cost

Code: Select all

// Game.GAME::ItemArtifactFormula::GetCreationCost+4

[ENABLE]
aobscanmodule(FreeCraftSlotIron,Game.dll,4C 8B 81 98 0E 00 00) // should be unique
alloc(newmem,$1000,"Game.dll"+26E434)

label(code)
label(return)

newmem:

code:
//  mov r8,[rcx+00000E98]
  mov r8,0
  jmp return

FreeCraftSlotIron:
  jmp newmem
  nop 2
return:
registersymbol(FreeCraftSlotIron)

[DISABLE]
FreeCraftSlotIron:
  db 4C 8B 81 98 0E 00 00

unregistersymbol(FreeCraftSlotIron)
dealloc(newmem)
Also attaching the options in table format for quickly copying the option and pasting it into fantomas's table, or fantomas's options can be copied over into this table if the option sorting framework in it is of use.
Can it be adapted to 32bit version somehow?
Hey, R3V0L. I just adjusted it for the x32 game version and also reconfigured the script.
Here is the code for the split options for the x32 game version and then also for a single combined option:

x32 Separated/Split options
CODE - Slot - Main Item
[ENABLE]
//MAIN Slot
Game.GAME::ItemArtifactFormula::GetReagentBaseQuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 4C 08 00 00

[DISABLE]
//MAIN Slot
Game.GAME::ItemArtifactFormula::GetReagentBaseQuantityForFormula:
db 8B 81 4C 08 00 00
CODE - Slot - 1 (top left)
[ENABLE]
//SLOT 1 Upper Left
Game.GAME::ItemArtifactFormula::GetReagent1QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 50 08 00 00

[DISABLE]
//SLOT 1 Upper Left
Game.GAME::ItemArtifactFormula::GetReagent1QuantityForFormula:
db 8B 81 50 08 00 00
CODE - Slot - 2 (top right)
[ENABLE]
//SLOT 2 Upper Right
Game.GAME::ItemArtifactFormula::GetReagent2QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 54 08 00 00

[DISABLE]
//SLOT 2 Upper Right
Game.GAME::ItemArtifactFormula::GetReagent2QuantityForFormula:
db 8B 81 54 08 00 00
CODE - Slot - 3 (middle left)
[ENABLE]
//SLOT 3 Middle Left
Game.GAME::ItemArtifactFormula::GetReagent3QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 58 08 00 00

[DISABLE]
//SLOT 3 Middle Left
Game.GAME::ItemArtifactFormula::GetReagent3QuantityForFormula:
db 8B 81 58 08 00 00
CODE - Slot - 4 (middle right)
[ENABLE]
//SLOT 4 Middle Right
Game.GAME::ItemArtifactFormula::GetReagent4QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 5C 08 00 00

[DISABLE]
//SLOT 4 Middle Right
Game.GAME::ItemArtifactFormula::GetReagent4QuantityForFormula:
db 8B 81 5C 08 00 00
CODE - Slot - 5 (bottom left)
[ENABLE]
//SLOT 5 Bottom Left
Game.GAME::ItemArtifactFormula::GetReagent5QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 60 08 00 00

[DISABLE]
//SLOT 5 Bottom Left
Game.GAME::ItemArtifactFormula::GetReagent5QuantityForFormula:
db 8B 81 60 08 00 00
CODE - Slot - 6 (bottom right)
[ENABLE]
//SLOT 6 Bottom Right
Game.GAME::ItemArtifactFormula::GetReagent6QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 64 08 00 00

[DISABLE]
//SLOT 6 Bottom Right
Game.GAME::ItemArtifactFormula::GetReagent6QuantityForFormula:
db 8B 81 64 08 00 00
CODE - Iron Cost
[ENABLE]
//SCRAP
Game.GAME::ItemArtifactFormula::GetCreationCost+12:
db B8 00 00 00 00 90
// 8B 81 98 0A 00 00

[DISABLE]
//SCRAP
Game.GAME::ItemArtifactFormula::GetCreationCost+12:
db 8B 81 98 0A 00 00

I also reconfigured the codes and combined them all into a single option for both x32 and x64.

Here is the x32 Single Option version:
COMBINED x32
[ENABLE]
//MAIN Slot
Game.GAME::ItemArtifactFormula::GetReagentBaseQuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 4C 08 00 00
//mov eax,[rcx+00000B94]

//SLOT 1 Upper Left
Game.GAME::ItemArtifactFormula::GetReagent1QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 50 08 00 00

//SLOT 2 Upper Right
Game.GAME::ItemArtifactFormula::GetReagent2QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 54 08 00 00

//SLOT 3 Middle Left
Game.GAME::ItemArtifactFormula::GetReagent3QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 58 08 00 00

//SLOT 4 Middle Right
Game.GAME::ItemArtifactFormula::GetReagent4QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 5C 08 00 00

//SLOT 5 Bottom Left
Game.GAME::ItemArtifactFormula::GetReagent5QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 60 08 00 00

//SLOT 6 Bottom Right
Game.GAME::ItemArtifactFormula::GetReagent6QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 64 08 00 00

//SCRAP
Game.GAME::ItemArtifactFormula::GetCreationCost+12:
db B8 00 00 00 00 90
// 8B 81 98 0A 00 00




[DISABLE]
//MAIN Slot
Game.GAME::ItemArtifactFormula::GetReagentBaseQuantityForFormula:
db 8B 81 4C 08 00 00

//SLOT 1 Upper Left
Game.GAME::ItemArtifactFormula::GetReagent1QuantityForFormula:
db 8B 81 50 08 00 00

//SLOT 2 Upper Right
Game.GAME::ItemArtifactFormula::GetReagent2QuantityForFormula:
db 8B 81 54 08 00 00

//SLOT 3 Middle Left
Game.GAME::ItemArtifactFormula::GetReagent3QuantityForFormula:
db 8B 81 58 08 00 00

//SLOT 4 Middle Right
Game.GAME::ItemArtifactFormula::GetReagent4QuantityForFormula:
db 8B 81 5C 08 00 00

//SLOT 5 Bottom Left
Game.GAME::ItemArtifactFormula::GetReagent5QuantityForFormula:
db 8B 81 60 08 00 00

//SLOT 6 Bottom Right
Game.GAME::ItemArtifactFormula::GetReagent6QuantityForFormula:
db 8B 81 64 08 00 00

//SCRAP
Game.GAME::ItemArtifactFormula::GetCreationCost+12:
db 8B 81 98 0A 00 00

Here is the x64 Single Option version:
COMBINED x64
[ENABLE]
//MAIN Slot
Game.GAME::ItemArtifactFormula::GetReagentBaseQuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 94 0B 00 00
//mov eax,[rcx+00000B94]

//SLOT 1 Upper Left
Game.GAME::ItemArtifactFormula::GetReagent1QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 98 0B 00 00

//SLOT 2 Upper Right
Game.GAME::ItemArtifactFormula::GetReagent2QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 9C 0B 00 00

//SLOT 3 Middle Left
Game.GAME::ItemArtifactFormula::GetReagent3QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 A0 0B 00 00

//SLOT 4 Middle Right
Game.GAME::ItemArtifactFormula::GetReagent4QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 A4 0B 00 00

//SLOT 5 Bottom Left
Game.GAME::ItemArtifactFormula::GetReagent5QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 A8 0B 00 00

//SLOT 6 Bottom Right
Game.GAME::ItemArtifactFormula::GetReagent6QuantityForFormula:
db B8 00 00 00 00 90
// 8B 81 AC 0B 00 00

//SCRAP
aobscanmodule(FreeCraftSlotIron,Game.dll,4C 8B 81 98 0E 00 00) // should be unique
alloc(newmem,$1000,"Game.dll"+26E434)
label(code)
label(return)
newmem:
code:
// mov r8,[rcx+00000E98]
mov r8,0
jmp return
FreeCraftSlotIron:
jmp newmem
nop 2
return:
registersymbol(FreeCraftSlotIron)




[DISABLE]
//MAIN Slot
Game.GAME::ItemArtifactFormula::GetReagentBaseQuantityForFormula:
db 8B 81 94 0B 00 00

//SLOT 1 Upper Left
Game.GAME::ItemArtifactFormula::GetReagent1QuantityForFormula:
db 8B 81 98 0B 00 00

//SLOT 2 Upper Right
Game.GAME::ItemArtifactFormula::GetReagent2QuantityForFormula:
db 8B 81 9C 0B 00 00

//SLOT 3 Middle Left
Game.GAME::ItemArtifactFormula::GetReagent3QuantityForFormula:
db 8B 81 A0 0B 00 00

//SLOT 4 Middle Right
Game.GAME::ItemArtifactFormula::GetReagent4QuantityForFormula:
db 8B 81 A4 0B 00 00

//SLOT 5 Bottom Left
Game.GAME::ItemArtifactFormula::GetReagent5QuantityForFormula:
db 8B 81 A8 0B 00 00

//SLOT 6 Bottom Right
Game.GAME::ItemArtifactFormula::GetReagent6QuantityForFormula:
db 8B 81 AC 0B 00 00

//SCRAP
FreeCraftSlotIron:
db 4C 8B 81 98 0E 00 00
unregistersymbol(FreeCraftSlotIron)
dealloc(newmem)

Attached are two tables:
- The x32 version that contains both the separated/split free crafting options and the single/combined option
Image

- And the x64 free crafting option of mine that you quoted, but as a single/combined option instead of split/separated


If you have an issue of it not working, please let me know.
Attachments
Grim Dawn - Free Crafting - v1.1.9.1 (combined) - x64 - (StinVec).ct
"Free Crafting"
Steam-based x64
Grim Dawn v1.1.8.0 - v1.1.9.1
Single/combined version of option only

Includes CE compact view mode option, 1-click activation group with option sorting sub-groups.
(16.42 KiB) Downloaded 347 times
Grim Dawn - Free Crafting - v1.1.9.1 - x32 - (StinVec).ct
"Free Crafting"
Steam-based x32
Grim Dawn v1.1.8.0 - v1.1.9.1
Split/separated and single/combined versions of option included

Includes CE compact view mode option, 1-click activation group with option sorting sub-groups.
(21.22 KiB) Downloaded 170 times

R3V0L
Cheater
Cheater
Posts: 31
Joined: Sun May 12, 2019 8:26 pm
Reputation: 37

Re: Grim Dawn + All DLC's

Post by R3V0L »

@StinVec
Thanks! It works great!)))

Denezhou
Expert Cheater
Expert Cheater
Posts: 124
Joined: Sun May 14, 2017 3:45 am
Reputation: 13

Re: Grim Dawn + All DLC's

Post by Denezhou »

UndeadNonHero wrote:
Fri Apr 02, 2021 2:05 pm
I am offering a $30 Amazon Giftcard (US) reward for the person that gets the riftgate anywhere cheat working. Bonus for getting it to work with Grim Internals teleport function. Alternatively, a cheat that would unlocks the Grim Internals teleport function will suffice rather than getting it working in game.
The "Rift Gates Anywhere" mod on nexus worked for me the last time i tried it, script is available.

thx StinVec for the updated crafting :)

UndeadNonHero
Noobzor
Noobzor
Posts: 10
Joined: Sat Feb 27, 2021 9:13 am
Reputation: 0

Re: Grim Dawn + All DLC's

Post by UndeadNonHero »

execute wrote:
Sat Apr 03, 2021 2:11 am
The "Rift Gates Anywhere" mod on nexus worked for me the last time i tried it, script is available.
I had no luck with that mod as noted further up in the thread. All it really is is a memory hack I think. Which is why I believe that it should work on CE. StinVec seems to think that the mod may have originated with CE to begin with. Additionally, it is 64bit exclusive not that I play with 32bit.

But at this point, I would really like to also get the location addresses in Grim Internals as well. Any area that has riftgates blocked also has recording the addresses blocked as if they were not already using a cheat with the teleports. It is my belief that if we can use CE to bypass the riftgate area flag, then Grim Internals will also work in those areas. It may be easier to trick the Grim Internals Extension into letting you record those addresses for later teleportation, but I really have no idea if that is true or not. I'll take ether one really.

Tanagord
Cheater
Cheater
Posts: 28
Joined: Sun Apr 30, 2017 4:13 pm
Reputation: 4

Re: Grim Dawn + All DLC's

Post by Tanagord »

R3V0L wrote:
Thu Jan 28, 2021 12:30 am
Hi, can some one adapt this table to x64? I'm interested in "GOD MODE ADVACE" and "Get Character" groups, I have no idea how to make it work in x64 version))) Otherwise it works great on 1.1.9.0
I up this request, I find the attack speed and cast speed modifiers functions present in it very useful, since instead of changing them to set value they increase it by specified amount. I'm a total newbie and I wasn't able to replicate those features in x64

R3V0L
Cheater
Cheater
Posts: 31
Joined: Sun May 12, 2019 8:26 pm
Reputation: 37

Re: Grim Dawn + All DLC's

Post by R3V0L »

Tanagord wrote:
Sat Apr 03, 2021 8:49 pm
R3V0L wrote:
Thu Jan 28, 2021 12:30 am
Hi, can some one adapt this table to x64? I'm interested in "GOD MODE ADVACE" and "Get Character" groups, I have no idea how to make it work in x64 version))) Otherwise it works great on 1.1.9.0
I up this request, I find the attack speed and cast speed modifiers functions present in it very useful, since instead of changing them to set value they increase it by specified amount. I'm a total newbie and I wasn't able to replicate those features in x64
Yeah, it's still a valid request)
By the way here's updated version of this table, now with StinVec crafting)
Attachments
grim dawn.CT
(609.69 KiB) Downloaded 362 times

rafaelrennow
Cheater
Cheater
Posts: 30
Joined: Thu Oct 19, 2017 1:31 pm
Reputation: 6

Re: Grim Dawn + All DLC's

Post by rafaelrennow »

R3V0L wrote:
Sun Apr 04, 2021 7:06 pm
Yeah, it's still a valid request)
By the way here's updated version of this table, now with StinVec crafting)
Hey, thanks a lot for updating it! It was veeeery useful!

chrisreddot3
Expert Cheater
Expert Cheater
Posts: 447
Joined: Sun Mar 24, 2019 1:38 am
Reputation: 77

Re: Grim Dawn + All DLC's

Post by chrisreddot3 »

fearless123456 wrote:
Tue Mar 16, 2021 3:22 am
Loot Randomizer (credits to Carlton,Pyre_of_Malic3,orochi2k & anonymous)
This will increase rate of drops and their rarity.
Spoiler

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>157</ID>
      <Description>"Loot Randomizer"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Grim Dawn.exe
  Version: 
  Date   : 2021-03-16
  Author : 009

  This script does blah blah blah
}

[ENABLE]
aobscan(ucrt1rand,48 83 EC 28 E8 77 25 FF FF)
aobscanmodule(INJECT,Game.dll,FF 50 38 8B D8 85 C0 0F) // should be unique
alloc(newmem,$1000,INJECT)
alloc(newdata,256)

label(code)
label(return)

label(seed1)
registersymbol(seed1)

newdata:
seed1:
dd #1

newmem:

code:
call qword ptr [rax+38]

call ucrt1rand  //call random number generator and put result into eax (delete line to manually enter seed number)
mov [seed1],eax
mov eax,[seed1]

  mov ebx,eax
  jmp return

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db FF 50 38 8B D8

dealloc(*)
unregistersymbol(*)

{
// ORIGINAL CODE - INJECTION POINT: Game.GAME::LootLoader::Load+AC

Game.GAME::LootLoader::Load+81: 48 03 F9                 - add rdi,rcx
Game.GAME::LootLoader::Load+84: 48 69 F0 A8 00 00 00     - imul rsi,rax,000000A8
Game.GAME::LootLoader::Load+8B: 48 8D 05 2E 5A 35 00     - lea rax,[Game.GAME::LootItemTableRandomizer::TableIterations+121C]
Game.GAME::LootLoader::Load+92: 48 03 F0                 - add rsi,rax
Game.GAME::LootLoader::Load+95: 44 8B AC 24 D0 00 00 00  - mov r13d,[rsp+000000D0]
Game.GAME::LootLoader::Load+9D: 0F 1F 00                 - nop dword ptr [rax]
Game.GAME::LootLoader::Load+A0: 49 8B 06                 - mov rax,[r14]
Game.GAME::LootLoader::Load+A3: 45 33 C0                 - xor r8d,r8d
Game.GAME::LootLoader::Load+A6: 48 8B D6                 - mov rdx,rsi
Game.GAME::LootLoader::Load+A9: 49 8B CE                 - mov rcx,r14
// ---------- INJECTING HERE ----------
Game.GAME::LootLoader::Load+AC: FF 50 38                 - call qword ptr [rax+38]
// ---------- DONE INJECTING  ----------
Game.GAME::LootLoader::Load+AF: 8B D8                    - mov ebx,eax
Game.GAME::LootLoader::Load+B1: 85 C0                    - test eax,eax
Game.GAME::LootLoader::Load+B3: 0F 8E AC 00 00 00        - jng Game.GAME::LootLoader::Load+165
Game.GAME::LootLoader::Load+B9: 4D 8B 16                 - mov r10,[r14]
Game.GAME::LootLoader::Load+BC: 48 8D 05 2B 46 25 00     - lea rax,[Game.GAME::GameEngine::MaxExpansion1TransferSacks+13C2]
Game.GAME::LootLoader::Load+C3: 48 89 44 24 20           - mov [rsp+20],rax
Game.GAME::LootLoader::Load+C8: 45 8B CD                 - mov r9d,r13d
Game.GAME::LootLoader::Load+CB: 4C 8B C7                 - mov r8,rdi
Game.GAME::LootLoader::Load+CE: 48 8D 54 24 38           - lea rdx,[rsp+38]
Game.GAME::LootLoader::Load+D3: 49 8B CE                 - mov rcx,r14
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>156</ID>
          <Description>"Seed number"</Description>
          <LastState Value="19150" RealAddress="7FFC3F071000"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>seed1</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>




Hi sir,can you pls explain to me how this works?What number i need to put here to get max drop rate?ty dude!

Post Reply

Who is online

Users browsing this forum: BBK, cassiegoth96, daniman, DsNo, Google Adsense [Bot], jeff3626, lordusa, Observer, Offhands, PhaseShiftStalker, SemrushBot, SunBeam, toydefenser, Uguu, VirgilSouth