Page 15 of 24

Re: Grim Dawn + All DLC's

Posted: Tue Mar 16, 2021 3:22 am
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>





Re: Grim Dawn + All DLC's

Posted: Tue Mar 23, 2021 1:31 am
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
}

Re: Grim Dawn + All DLC's

Posted: Tue Mar 23, 2021 11:07 am
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! ;)

Re: Grim Dawn + All DLC's

Posted: Tue Mar 23, 2021 7:13 pm
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))

Re: Grim Dawn + All DLC's

Posted: Tue Mar 23, 2021 8:08 pm
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?

Re: Grim Dawn + All DLC's

Posted: Fri Apr 02, 2021 2:05 pm
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.

Re: Grim Dawn + All DLC's

Posted: Fri Apr 02, 2021 2:43 pm
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?

Re: Grim Dawn + All DLC's

Posted: Fri Apr 02, 2021 6:21 pm
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.

Re: Grim Dawn + All DLC's

Posted: Fri Apr 02, 2021 10:35 pm
by R3V0L
@StinVec
Thanks! It works great!)))

Re: Grim Dawn + All DLC's

Posted: Sat Apr 03, 2021 2:11 am
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 :)

Re: Grim Dawn + All DLC's

Posted: Sat Apr 03, 2021 6:30 am
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.

Re: Grim Dawn + All DLC's

Posted: Sat Apr 03, 2021 8:49 pm
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

Re: Grim Dawn + All DLC's

Posted: Sun Apr 04, 2021 7:06 pm
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)

Re: Grim Dawn + All DLC's

Posted: Tue Apr 20, 2021 1:52 pm
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!

Re: Grim Dawn + All DLC's

Posted: Mon May 31, 2021 10:58 pm
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!