HELLDIVERS 2

Upload your cheat tables here (No requests)
shinsoma
Noobzor
Noobzor
Posts: 6
Joined: Sun May 26, 2024 4:04 am
Reputation: 0

Re: HELLDIVERS 2

Post by shinsoma »

vallenvega wrote:
Sun May 26, 2024 6:23 am
IIRC this is on Zoddel's legit no reload v3.
you can customize how much is left in the weapon too.
you can find the table in his signature.
Is it like the one I describe where, like for example, full ammo and it depletes one by one but as soon as it reaches the "ammo threshold", it stays there for a "No Reload"?

If so, can you tag me where it is?

Thanks.

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

vallenvega
Noobzor
Noobzor
Posts: 7
Joined: Sat Sep 11, 2021 2:52 pm
Reputation: 2

Re: HELLDIVERS 2

Post by vallenvega »

shinsoma wrote:
Sun May 26, 2024 6:34 am
vallenvega wrote:
Sun May 26, 2024 6:23 am
IIRC this is on Zoddel's legit no reload v3.
you can customize how much is left in the weapon too.
you can find the table in his signature.
Is it like the one I describe where, like for example, full ammo and it depletes one by one but as soon as it reaches the "ammo threshold", it stays there for a "No Reload"?

If so, can you tag me where it is?

Thanks.
viewtopic.php?p=342693#p342693

DarkestLite
Novice Cheater
Novice Cheater
Posts: 17
Joined: Tue Mar 26, 2024 3:24 pm
Reputation: 0

Re: HELLDIVERS 2

Post by DarkestLite »

Exemplify1524 wrote:
Tue May 21, 2024 5:08 pm
ZoDDel's (gir489) modified runspeed and sample pickup scripts.

Run script modifications:
Hold space to run 5x fast (added latest ZoDDels update, so this applies to player in ship too, and to mech too). ENEMIES run 5x SLOWER while pressing. (5x can be changed)
Hold righ mouse button to run 1.5x faster (more comfort in aim mode). (should work only for player and mech)
Dont press nothing you run 1.1 faster (can change) (should work for player and mech)

Sample pickup script modifications:
Hold C (crouch) while taking sample and you will get samples you set in script (ex. 50 + 40 + 10).
Hold Q while taking sample and you will get 1 sample (no cheat mode)
Dont hold anythink while taking sample and you will get value you set in script (+10 by default)

Runspeed have global section connected with sample pickup script.

On start game, take 1 sample so samples structure will be detected.
After that select sample you want to edit by pressing NUM7 = common, NUM8 = rare, NUM9 = SUPER
After that press NUM+ or NUM- to edit selected sample value. in realtime (+1 or -1). If hold Ctrl while pressing - or + then you will get +10 or -10 with 1 keypress.

This is useful if you play with players and you already make 100 samples. But one of the player take one more sample and you get >100 in sum.
Then you can simply select for example RARE samples (press NUM8 to select RARE) and decrease this value by pressing NUM-.

Very small amount of time tested, so feedback (working/not working) (somethink is not comfortable or have idea) is appreciated.
Spoiler

Code: Select all

{ Author            : gir489
  Modder: Anton 11.05.2024

  Press HOTKEY to run faster
}
{$c}
// YOU CAN EDIT SECTION START
#define SPEED_MULTIPLIER_DEFAULT_VALUE 1.1f
#define SPEED_MULTIPLIER_AIM_HOTKEY VK_RBUTTON
#define SPEED_MULTIPLIER_AIM_VALUE 1.5f

#define SPEED_MULTIPLIER_HOTKEY VK_SPACE
#define SPEED_MULTIPLIER_VALUE 5.0f
//GLOBAL TEST START
#define SAMPLE_SELECTOR_HOTKEY_COMMON VK_NUMPAD7
#define SAMPLE_SELECTOR_HOTKEY_RARE VK_NUMPAD8
#define SAMPLE_SELECTOR_HOTKEY_SUPER VK_NUMPAD9
// YOU CAN EDIT SECTION END
int SAMPLE_SELECTED = 0;
#define SAMPLE_SELECTOR_INC_HOTKEY VK_ADD
char SAMPLE_SELECTOR_INC_HOTKEY_LAST_STATE = 0;
#define SAMPLE_SELECTOR_DEC_HOTKEY VK_SUBTRACT
char SAMPLE_SELECTOR_DEC_HOTKEY_LAST_STATE = 0;
#define SAMPLE_SELECTOR_MULT_HOTKEY VK_CONTROL
extern int *SAMPLES_COMMON;
extern int *SAMPLES_RARE;
extern int *SAMPLES_SUPER;
//GLOBAL TEST END


#define NO_OLDNAMES
#include <windows.h>
short GetAsyncKeyState(int);
{$asm}

[ENABLE]
aobscanmodule(aob_RunSpeed,game.dll,F3 41 0F 59 56 0C F3 41 0F 59 56 10 0F 28 E2)
registersymbol(aob_RunSpeed)
alloc(newmem_RunSpeed,1024)
label(return_RunSpeed)

newmem_RunSpeed:
{$ccode pawn_base=r14}
//extern struct Samples *g_samples;
// GLOBAL SECTION START
if (GetAsyncKeyState(SAMPLE_SELECTOR_HOTKEY_COMMON) & 0x8000) {
  SAMPLE_SELECTED = 1;
} else if (GetAsyncKeyState(SAMPLE_SELECTOR_HOTKEY_RARE) & 0x8000) {
  SAMPLE_SELECTED = 2;
} else if (GetAsyncKeyState(SAMPLE_SELECTOR_HOTKEY_SUPER) & 0x8000) {
  SAMPLE_SELECTED = 3;
}

int add_value = 0;
if (GetAsyncKeyState(SAMPLE_SELECTOR_INC_HOTKEY) & 0x8000) {
  if (!SAMPLE_SELECTOR_INC_HOTKEY_LAST_STATE) {
    SAMPLE_SELECTOR_INC_HOTKEY_LAST_STATE = 1;
    add_value = 1;

  }
} else {
  SAMPLE_SELECTOR_INC_HOTKEY_LAST_STATE = 0;
}

if (GetAsyncKeyState(SAMPLE_SELECTOR_DEC_HOTKEY) & 0x8000) {
  if (!SAMPLE_SELECTOR_DEC_HOTKEY_LAST_STATE) {
    SAMPLE_SELECTOR_DEC_HOTKEY_LAST_STATE = 1;
    add_value = -1;
  }
} else {
  SAMPLE_SELECTOR_DEC_HOTKEY_LAST_STATE = 0;
}

if ( (SAMPLE_SELECTED > 0) && (add_value != 0)) {
  if (GetAsyncKeyState(SAMPLE_SELECTOR_MULT_HOTKEY) & 0x8000) {
     add_value *= 10;
  }

  if ((SAMPLE_SELECTED == 1) && (SAMPLES_COMMON != NULL)) {
    *SAMPLES_COMMON += add_value;
  }
  if ((SAMPLE_SELECTED == 2) && (SAMPLES_RARE != NULL)) {
    *SAMPLES_RARE += add_value;
  }
  if ((SAMPLE_SELECTED == 3) && (SAMPLES_SUPER != NULL)) {
    *SAMPLES_SUPER += add_value;
  }
}
// GLOBAL SECTION END


extern float runspeed_mult;

float *pawn_type = (float*)(pawn_base + 0x1C);
float *pawn_type2 = (float*)(pawn_base + 0x20);
float *p_speed_mult = (float*)(pawn_base + 0x0C);



float speed_selector = 0;
// 0x8000 currently held down
// 0x0001 key has been pressed since the last call
// 0x8001 currently held down and has been pressed since the last call
if (GetAsyncKeyState(SPEED_MULTIPLIER_AIM_HOTKEY) & 0x8000) {
  speed_selector = SPEED_MULTIPLIER_AIM_VALUE;
}
if (GetAsyncKeyState(SPEED_MULTIPLIER_HOTKEY) & 0x8000) {
  speed_selector = SPEED_MULTIPLIER_VALUE;
}
if (speed_selector == 0) {
  speed_selector = SPEED_MULTIPLIER_DEFAULT_VALUE;
}




if ((*pawn_type == 30.0f) && (*pawn_type2 == 40.0f)) {
   // playership
   *p_speed_mult = SPEED_MULTIPLIER_DEFAULT_VALUE * speed_selector;
} else if ((*pawn_type == 100.0f) && (*pawn_type2 == 100.0f)) {
  // player
  *p_speed_mult = SPEED_MULTIPLIER_DEFAULT_VALUE * speed_selector;
} else if ((*pawn_type == 10.0f) && (*pawn_type2 == 30.0f)) {
  // mech
  *p_speed_mult = SPEED_MULTIPLIER_DEFAULT_VALUE * speed_selector;
} else if ((*pawn_type == 5.0f) && (*pawn_type2 == 50.0f)) {
  // rescue
  *p_speed_mult = 1.0f * speed_selector;
} else {
  // enemy
  *p_speed_mult = 1.0f / speed_selector;
}


{$asm}
// original code start
mulss xmm2,[r14+0C]
mulss xmm2,[r14+10]
movaps xmm4,xmm2
// original code end
jmp return_RunSpeed

aob_RunSpeed:
  jmp far newmem_RunSpeed
  nop
return_RunSpeed:

[DISABLE]
aob_RunSpeed:
  db F3 41 0F 59 56 0C F3 41 0F 59 56 10 0F 28 E2

unregistersymbol(aob_RunSpeed)
dealloc(newmem_RunSpeed)

{
// ORIGINAL CODE - INJECTION POINT: game.dll+54902E

game.dll+548FCA: EB 08                       - jmp game.dll+548FD4
game.dll+548FCC: 41 0F 28 CC                 - movaps xmm1,xmm12
game.dll+548FD0: F3 0F 5D CA                 - minss xmm1,xmm2
game.dll+548FD4: 48 8B 44 24 68              - mov rax,[rsp+68]
game.dll+548FD9: F3 44 0F 10 1D 7A BB A9 00  - movss xmm11,[game.dll+FE4B5C]
game.dll+548FE2: 41 0F 28 C4                 - movaps xmm0,xmm12
game.dll+548FE6: 4C 8B 6C 24 50              - mov r13,[rsp+50]
game.dll+548FEB: F3 0F 5C C1                 - subss xmm0,xmm1
game.dll+548FEF: 4C 8B 7C 24 40              - mov r15,[rsp+40]
game.dll+548FF4: 4C 8B 65 88                 - mov r12,[rbp-78]
game.dll+548FF8: 44 0F 2F D8                 - comiss xmm11,xmm0
game.dll+548FFC: 77 09                       - ja game.dll+549007
game.dll+548FFE: 45 0F 28 DC                 - movaps xmm11,xmm12
game.dll+549002: F3 44 0F 5D D8              - minss xmm11,xmm0
game.dll+549007: F3 41 0F 10 56 04           - movss xmm2,[r14+04]
game.dll+54900D: F3 41 0F 59 16              - mulss xmm2,[r14]
game.dll+549012: F3 41 0F 10 6E 14           - movss xmm5,[r14+14]
game.dll+549018: F2 0F 10 05 90 BA A9 00     - movsd xmm0,[game.dll+FE4AB0]
game.dll+549020: F3 41 0F 59 56 08           - mulss xmm2,[r14+08]
game.dll+549026: F3 0F 10 98 B8 0C 00 00     - movss xmm3,[rax+00000CB8]
// ---------- INJECTING HERE ----------
game.dll+54902E: F3 41 0F 59 56 0C           - mulss xmm2,[r14+0C]
// ---------- DONE INJECTING  ----------
game.dll+549034: F3 41 0F 59 56 10           - mulss xmm2,[r14+10]
game.dll+54903A: 0F 28 E2                    - movaps xmm4,xmm2
game.dll+54903D: F3 0F 5C E5                 - subss xmm4,xmm5
game.dll+549041: 0F 5A CC                    - cvtps2pd xmm1,xmm4
game.dll+549044: 0F 54 0D D5 EF A9 00        - andps xmm1,[game.dll+FE8020]
game.dll+54904B: 66 0F 2F C1                 - comisd xmm0,xmm1
game.dll+54904F: 77 21                       - ja game.dll+549072
game.dll+549051: F3 41 0F 59 DD              - mulss xmm3,xmm13
game.dll+549056: 44 0F 2F C3                 - comiss xmm8,xmm3
game.dll+54905A: 76 06                       - jna game.dll+549062
game.dll+54905C: 41 0F 28 D0                 - movaps xmm2,xmm8
game.dll+549060: EB 08                       - jmp game.dll+54906A
game.dll+549062: 41 0F 28 D4                 - movaps xmm2,xmm12
game.dll+549066: F3 0F 5D D3                 - minss xmm2,xmm3
game.dll+54906A: F3 0F 59 D4                 - mulss xmm2,xmm4
game.dll+54906E: F3 0F 58 D5                 - addss xmm2,xmm5
game.dll+549072: F3 41 0F 11 56 14           - movss [r14+14],xmm2
game.dll+549078: 43 80 BC 3C AD 58 00 00 00  - cmp byte ptr [r12+r15+000058AD],00
game.dll+549081: F3 44 0F 59 DA              - mulss xmm11,xmm2
game.dll+549086: 75 04                       - jne game.dll+54908C
}
Spoiler

Code: Select all

{ Game   : helldivers2.exe
  Version:
  Date   : 2024-04-30
  Author : ZoDDeL
  Mod by : Anton v5
  Tested on: .304 path

  If hold CHEAT_ALL_HOTKEY while taking sample it will override all 3 counters to specified (edit section)
  If take sample and dont hold CHEAT_ALL_HOTKEY you receive HOTKEY_NOT_PRESSED_ADD_VALUE of sample type you taken
  You can edit #define section values below
  For debugging purposes you can open DebugViewPP tool and take some samples. you will receive messages.
}
{$c}
  // YOU CAN EDIT SECTION START
  #define CHEAT_ALL_HOTKEY 'C'   // take sample while holding it and you will get what you set
  // Keep common + rare + super sum below or equal to 100. For example you can specify 50+40+10 = 100
  #define HOTKEY_PRESSED_COMMON_SAMPLE_COUNT_REDEFINE 45
  #define HOTKEY_PRESSED_RARE_SAMPLE_COUNT_REDEFINE 30
  #define HOTKEY_PRESSED_SUPER_SAMPLE_COUNT_REDEFINE 10
  // if hotkey is not pressed and player take sample it will add specified value (game default is 1)
  #define HOTKEY_NOT_PRESSED_ADD_VALUE 10

  #define SECRET_HOTKEY 'Q' // if take sample while holding this, you will receive +1 samples (no cheat mode)
  // YOU CAN EDIT SECTION END

  #define NO_OLDNAMES
  #include <windows.h>
  extern __cdecl int sprintf(char *, char *, ...);
  extern __cdecl void OutputDebugStringA(const char* lpOutputString);
  short GetAsyncKeyState(int);
  char debug_string[400];
  typedef struct {
    int common;
    int rare;
    int super;
  } Samples;
  int *SAMPLES_COMMON;
  int *SAMPLES_RARE;
  int *SAMPLES_SUPER;

void show_bits_sprintf(int *rdx_value, char *buffer) {
  unsigned int mask = 0x80000000; // Маска для старшего бита
  int i;

  for (i = 0; i < 32; ++i) {
    // Проверяем, установлен ли бит
    if (*rdx_value & mask) {
      sprintf(buffer + i, "1");
    } else {
      sprintf(buffer + i, "0");
    }

    mask >>= 1; // Сдвигаем маску на один бит вправо
  }

  sprintf(buffer + 32, "\0"); // Добавляем завершающий нуль-символ
}
{$asm}

[ENABLE]
aobscanmodule(samples_inject,game.dll,48 8D 14 41 48 8B 43 40 4B 8D 0C 89 44 01 7C 90 04) // should be unique
alloc(samples_newmem,$2000)
label(samples_return)

samples_newmem:


  // original code start
  lea rdx,[rcx+rax*2]
  mov rax,[rbx+40]
  lea rcx,[r9+r9*4]
  // add [rax+rdx*4+04],r15d
  // original code end

  /*
  cmp rdx,0
  je samples_common
  cmp rdx,1
  je samples_rare
  cmp rdx,2
  je samples_super
samples_common: // when you pickup common
  mov [rax+rdx*4+04],#49 // common sample
  mov [rax+rdx*4+04+4],#30 // rare sample
  mov [rax+rdx*4+04+8],#20 // super sample
  jmp samples_return

samples_rare: // when you pickup rare
  mov [rax+rdx*4+04-4],#49 // common sample
  mov [rax+rdx*4+04],#30 // rare sample
  mov [rax+rdx*4+04+4],#20 // super sample
  jmp samples_return

samples_super: // when you pickup super
  mov [rax+rdx*4+04-8],#49 // common sample
  mov [rax+rdx*4+04-4],#30 // rare sample
  mov [rax+rdx*4+04],#20 // super sample
  jmp samples_return
  */
{$ccode base1=rax rdx=rdx}
  // calculate base_address of samples structure
  // rdx 0 = base+4
  // rdx 1 = base+4+4-4 = base+4
  // rdx 2 = base+8+4-8 = base+4
  // Samples* samples = (Samples*)(base1 + sample_type*4 + 4 - sample_type*4 );
  short sample_type = rdx % 10; // for common samples can be 0 20 or 60 (zero at the end). Rare 1 or 21.  Super 2 or 22
  short sample_unk = (int)(rdx / 10);
  int *picked_up_sample_counter = (int*)(base1 + rdx*4 + 4);
  //Samples* samples = (Samples*)(base1 + 4);
  Samples* samples = (Samples*)(base1 + rdx*4 + 4 - sample_type*4);
  SAMPLES_COMMON = &samples->common;
  SAMPLES_RARE = &samples->rare;
  SAMPLES_SUPER = &samples->super;

  int samples_count_now = samples->common + samples->rare + samples->super;

  sprintf(debug_string, "Samples: Taken type: %d | counts %d + %d + %d = %d. Unknown value is %d", sample_type, samples->common, samples->rare, samples->super, samples_count_now, sample_unk);
  OutputDebugStringA(debug_string);
  /*
  OutputDebugStringA("Samples: sample_type RDX  bits:");
  show_bits_sprintf(&sample_type, &debug_string);
  OutputDebugStringA(debug_string);
  */
  /*
  OutputDebugStringA("Samples: sample amount r15d bits:");
  show_bits_sprintf(&taken_sample_amount_r15d, &debug_string);
  OutputDebugStringA(debug_string);
  */

  // Already more than maxed out, restore max counts and exit
  if (samples_count_now > 100) {
    samples->common = HOTKEY_PRESSED_COMMON_SAMPLE_COUNT_REDEFINE;
    samples->rare = HOTKEY_PRESSED_RARE_SAMPLE_COUNT_REDEFINE;
    samples->super = HOTKEY_PRESSED_SUPER_SAMPLE_COUNT_REDEFINE;
    sprintf(debug_string, "Samples: count is >100. Restoring to maximum: %d %d %d", samples->common, samples->rare, samples->super);
    OutputDebugStringA(debug_string);
    goto end_section;
  }

  // Max all if hotkey pressed
  if (GetAsyncKeyState(CHEAT_ALL_HOTKEY) & 0x8000) {
    samples->common = HOTKEY_PRESSED_COMMON_SAMPLE_COUNT_REDEFINE;
    samples->rare = HOTKEY_PRESSED_RARE_SAMPLE_COUNT_REDEFINE;
    samples->super = HOTKEY_PRESSED_SUPER_SAMPLE_COUNT_REDEFINE;
    sprintf(debug_string, "Samples: hotkey pressed. Sample counts just set to maximum: %d %d %d", samples->common, samples->rare, samples->super);
    OutputDebugStringA(debug_string);
    goto end_section;
  }

  int value_to_add = 1;
  if (GetAsyncKeyState(SECRET_HOTKEY) & 0x8000) {
    sprintf(debug_string, "Samples: secret hotkey pressed. Samples piclup will be default(1)");
    OutputDebugStringA(debug_string);
  } else {
    value_to_add = HOTKEY_NOT_PRESSED_ADD_VALUE;
    int add_limit = 100 - samples_count_now;
    if (add_limit == 0) {
      sprintf(debug_string, "Samples: limit reached %d. No additional samples will be added", add_limit);
      OutputDebugStringA(debug_string);
    } else if (add_limit < 0) {
      samples->common = 50;
      samples->rare = 40;
      samples->super = 10;
      sprintf(debug_string, "Samples: count is more than allowed: %d. No additional samples will be added. Sample counts are set to maximum: %d %d %d", samples_count_now, samples->common, samples->rare, samples->super);
      OutputDebugStringA(debug_string);
    } else if (value_to_add > add_limit) {
      value_to_add = add_limit;
      sprintf(debug_string, "Samples: too much samples already collected. Add value is clamped to %d/%d", value_to_add, HOTKEY_NOT_PRESSED_ADD_VALUE);
      OutputDebugStringA(debug_string);
    } else {
      sprintf(debug_string, "Samples: will add %d of type %d", value_to_add, sample_type);
      OutputDebugStringA(debug_string);
    }
  }

  *picked_up_sample_counter += value_to_add;
  /*
  if (sample_type == 0) {
     samples->common += value_to_add;
  }
  if (sample_type == 1) {
     samples->rare += value_to_add;
  }
  if (sample_type == 2) {
     samples->super += value_to_add;
  }
  */

  /*
  samples->common += value_to_add+1;
  samples->rare += value_to_add+2;
  samples->super += value_to_add+3;
  */
  /*
  // hardcoded limit guard
  samples_count_now = samples->common + samples->rare + samples->super;
  if (samples_count_now > 100) {
    samples->common = 50;
    samples->rare = 40;
    samples->super = 10;
    sprintf(debug_string, "Samples: Hardcoded guard. Samples SUM is >100: %d. Sample counts are reset to maximum allowed: %d %d %d", samples_count_now, samples->common, samples->rare, samples->super);
    OutputDebugStringA(debug_string);
  }
  */

/*
  // output debug. you can look in DebugViewPP tool https://github.com/CobaltFusion/DebugViewPP
  sprintf(debug_string, "Samples out: common %d | rare %d | super %d", samples->common, samples->rare, samples->super);
  OutputDebugStringA(debug_string);
*/
end_section:
{$asm}
jmp samples_return

samples_inject:
jmp far samples_newmem
nop 3

samples_return:
registersymbol(samples_inject)

[DISABLE]

samples_inject:
  db 48 8D 14 41 48 8B 43 40 4B 8D 0C 89 44 01 7C 90 04

unregistersymbol(samples_inject)
dealloc(samples_newmem)

{
// ORIGINAL CODE - INJECTION POINT: game.dll+608B8F

game.dll+608B68: 41 FF C0        - inc r8d
game.dll+608B6B: 45 3B C1        - cmp r8d,r9d
game.dll+608B6E: 72 E0           - jb game.dll+608B50
game.dll+608B70: B8 FF FF FF FF  - mov eax,FFFFFFFF
game.dll+608B75: 48 8B 74 24 48  - mov rsi,[rsp+48]
game.dll+608B7A: 48 8B 6C 24 40  - mov rbp,[rsp+40]
game.dll+608B7F: 48 8B 7C 24 50  - mov rdi,[rsp+50]
game.dll+608B84: 44 8B C8        - mov r9d,eax
game.dll+608B87: 41 8D 4E FF     - lea ecx,[r14-01]
game.dll+608B8B: 4B 8D 04 89     - lea rax,[r9+r9*4]
// ---------- INJECTING HERE ----------
game.dll+608B8F: 48 8D 14 41     - lea rdx,[rcx+rax*2]
// ---------- DONE INJECTING  ----------
game.dll+608B93: 48 8B 43 40     - mov rax,[rbx+40]
game.dll+608B97: 4B 8D 0C 89     - lea rcx,[r9+r9*4]
game.dll+608B9B: 44 01 7C 90 04  - add [rax+rdx*4+04],r15d
game.dll+608BA0: BA 94 4C 74 92  - mov edx,92744C94
game.dll+608BA5: 48 8B 43 40     - mov rax,[rbx+40]
game.dll+608BA9: 4C 8D 04 C8     - lea r8,[rax+rcx*8]
game.dll+608BAD: 48 8B 43 30     - mov rax,[rbx+30]
game.dll+608BB1: 4A 8B 0C C8     - mov rcx,[rax+r9*8]
game.dll+608BB5: 8B 49 10        - mov ecx,[rcx+10]
game.dll+608BB8: E8 63 13 49 00  - call game.dll+A99F20
}
Not sure what I'm missing. I used both of these after you said they needed both. I dont get speed run and also the NUM button adjustments dont work. Could you post the CT with these working? Maybe something is off when copy & paste from here.

shinsoma
Noobzor
Noobzor
Posts: 6
Joined: Sun May 26, 2024 4:04 am
Reputation: 0

Re: HELLDIVERS 2

Post by shinsoma »

vallenvega wrote:
Sun May 26, 2024 7:27 am
viewtopic.php?p=342693#p342693
Thanks. :D

Also, I notice that in Zoddel's "No Reload", the Patriot and Emancipator Mech's ammo depletes. I also want that to be unlimited ammo too, but in a way that works like the "No Reload".

User avatar
gir489
RCE Fanatics
RCE Fanatics
Posts: 800
Joined: Mon May 08, 2017 4:08 am
Reputation: 615

Re: HELLDIVERS 2

Post by gir489 »

Passer556 wrote:
Sun May 26, 2024 3:00 am
I think it's this one? Looted it from one of saixlast's table. Obviously I can't really test it now.

Laser rifle "Sickle" does not overheat

Code: Select all

[ENABLE]
aobscanmodule(Sickle_Rifle_Overheating, game.dll,F3 42 0F 11 84 32 ?? ?? ?? ?? 8B 55 38 43 89 94 35)
registersymbol(Sickle_Rifle_Overheating)

Sickle_Rifle_Overheating:
nop 10

[DISABLE]
Also the Old Las Cannon script that would stop cool off:
This is for 1.00.103, and here is the (unconfirmed) updated location in 1.00.304:

Code: Select all

________:000000018041FA34 E8 17 D8 FF FF                 call    sub_18041D250
________:000000018041FA39 F3 0F 10 45 1C                 movss   xmm0, dword ptr [rbp+1Ch]
________:000000018041FA3E 0F 57 D2                       xorps   xmm2, xmm2
________:000000018041FA41 F3 0F 58 46 18                 addss   xmm0, dword ptr [rsi+18h]
________:000000018041FA46 49 8B CE                       mov     rcx, r14
________:000000018041FA49 F3 0F 11 46 18                 movss   dword ptr [rsi+18h], xmm0
The sickle was affected by the No Laser Overheat script I updated before, so I tired the Quasar and it still overheated, no idea what this code segment or the script is for.

MonitorAnon
What is cheating?
What is cheating?
Posts: 4
Joined: Sun May 26, 2024 7:13 pm
Reputation: 0

Re: HELLDIVERS 2

Post by MonitorAnon »

At this point, can vehicles still be added? If yes, may I ask for the latest tutorial?

User avatar
gir489
RCE Fanatics
RCE Fanatics
Posts: 800
Joined: Mon May 08, 2017 4:08 am
Reputation: 615

Re: HELLDIVERS 2

Post by gir489 »

MonitorAnon wrote:
Sun May 26, 2024 7:17 pm
At this point, can vehicles still be added? If yes, may I ask for the latest tutorial?
Yeah, but I recommend not using them, they suck fucking ass. My table on Page 1 will unlock all strategems in the game (including unreleased ones).

renarduwu
What is cheating?
What is cheating?
Posts: 4
Joined: Wed May 01, 2024 9:30 pm
Reputation: 1

Re: HELLDIVERS 2

Post by renarduwu »

gir489 wrote:
Sun May 26, 2024 6:51 pm
Passer556 wrote:
Sun May 26, 2024 3:00 am
I think it's this one? Looted it from one of saixlast's table. Obviously I can't really test it now.

Laser rifle "Sickle" does not overheat

Code: Select all

[ENABLE]
aobscanmodule(Sickle_Rifle_Overheating, game.dll,F3 42 0F 11 84 32 ?? ?? ?? ?? 8B 55 38 43 89 94 35)
registersymbol(Sickle_Rifle_Overheating)

Sickle_Rifle_Overheating:
nop 10

[DISABLE]
Also the Old Las Cannon script that would stop cool off:
This is for 1.00.103, and here is the (unconfirmed) updated location in 1.00.304:

Code: Select all

________:000000018041FA34 E8 17 D8 FF FF                 call    sub_18041D250
________:000000018041FA39 F3 0F 10 45 1C                 movss   xmm0, dword ptr [rbp+1Ch]
________:000000018041FA3E 0F 57 D2                       xorps   xmm2, xmm2
________:000000018041FA41 F3 0F 58 46 18                 addss   xmm0, dword ptr [rsi+18h]
________:000000018041FA46 49 8B CE                       mov     rcx, r14
________:000000018041FA49 F3 0F 11 46 18                 movss   dword ptr [rsi+18h], xmm0
The sickle was affected by the No Laser Overheat script I updated before, so I tired the Quasar and it still overheated, no idea what this code segment or the script is for.
Thx for fixing the overheat on weapons, very much appreciated, youre a godsend gir!

Dekutheguy
Cheater
Cheater
Posts: 42
Joined: Thu Feb 29, 2024 10:44 pm
Reputation: 20

Re: HELLDIVERS 2

Post by Dekutheguy »

gir489 wrote:
Sun May 26, 2024 7:24 pm
MonitorAnon wrote:
Sun May 26, 2024 7:17 pm
At this point, can vehicles still be added? If yes, may I ask for the latest tutorial?
Yeah, but I recommend not using them, they suck fucking ass. My table on Page 1 will unlock all strategems in the game (including unreleased ones).
The unlock all stragaems cheat no longer unlocks vehicles and certain unreleased stratagems. This was fixed like a month and a half a go or so? You can still patch them back in with their stratagem id and a cheat to change stratagems on the fly, but otherwise no the cheat itself doesnt do it.

firedragon1x
Noobzor
Noobzor
Posts: 11
Joined: Sun Apr 21, 2024 10:51 am
Reputation: 1

Re: HELLDIVERS 2

Post by firedragon1x »

gir489 wrote:
Sun Feb 18, 2024 6:24 am
So I figured out that if you add --delay_gameguard_init to the launch parameters, it will delay GameGuard from loading a little bit.

If you're fast enough on the draw, you can attach Cheat Engine, enable the features, and then close Cheat Engine before GameGuard has a chance to notice what happened. Then you can play as normal.

EDIT: Since February 21st, they updated the EXE to remove this parameter. You can download the original EXE and restore it. Instructions found here: viewtopic.php?p=337842#p337842

EDIT: Since March 7th, they updated the game to not allow the resurrected EXE method. I suggest instead using emoisback's version.dll proxy found here: [Link]

EDIT: If you do not have a GameGuard bypass, you can use the helldivers2_GameGuardActive table. To use it, launch HELLDIVERS 2. Wait until you're on the ship. Launch the table, and execute the Lua script to attach to HELLDIVERS 2. I recommend just activating Base Scripts then closing Cheat Engine quickly. If you've done it correctly, it will inject the code into memory before Game Guard runs its scanner thread to look for Cheat Engine running. Then you can play normally. I recommend removing the scripts you do not want and then saving the table so that when you execute Base Scripts, it will activate the scripts you want.

I noticed the damage script in helldivers2.CT is missing the following weapons and stratagems:

PLAS-101 PURIFIER
ARC-12 BLITZER
ARC-3 ARC THROWER
FAF-14 SPEAR


ORBITAL GATLING BARRAGE
ORBITAL 380MM HE BARRAGE
ORBITAL WALKING BARRAGE
EAGLE NAPALM STRIKE
MACHINEGUN SENTRY
HMG EMPLACEMENT
AUTOCANNON SENTRY

is there any way you could add these?

User avatar
ZoDDeL
Table Makers
Table Makers
Posts: 153
Joined: Mon May 08, 2017 9:37 am
Reputation: 315

Re: HELLDIVERS 2

Post by ZoDDeL »

firedragon1x wrote:
Mon May 27, 2024 6:42 am

I noticed the damage script in helldivers2.CT is missing the following weapons and stratagems:

PLAS-101 PURIFIER
ARC-12 BLITZER
ARC-3 ARC THROWER
FAF-14 SPEAR


ORBITAL GATLING BARRAGE
ORBITAL 380MM HE BARRAGE
ORBITAL WALKING BARRAGE
EAGLE NAPALM STRIKE
MACHINEGUN SENTRY
HMG EMPLACEMENT
AUTOCANNON SENTRY

is there any way you could add these?
check my signature for the original dmg script (made by me).
i dont know what ID's gir489 added that i may not had but some of these are in my script.

PLAS-101 PURIFIER is in because it shares ID's with other weapons.
cmp [rcx+00],#20 //#18 // SG-8P Punisher Plasma (1) / PLAS-1 Scorcher / PLAS-101 Purifier
cmp [rcx+00],#186 //#182 // SG-8P Punisher Plasma explosion / PLAS-101 Purifier part 2 (explosion?)



ARC-12 BLITZER
ARC-3 ARC THROWER
FAF-14 SPEAR
were in before ID change but werent updated yet because they are dogsh1t (low firerate / low range / bad shooting mechanic)


orbital gatling is in because has same ID's as eagle strafing run (so its in the script)
orbital 380MM HE is in because has same ID's as precision strike (so its in the script)

ORBITAL WALKING BARRAGE is not official in yet but may partwise
because orbitals have often 2-3 ID's and explosion ID's are often shared between other orbitals/eagle strikes
will have a look into it for next update.


EAGLE NAPALM STRIKE is not in because its pretty sure it has a minor impact explosion + the annoying 309 ground burn
that many fire weapons have and is the same as the flame tornadoes on hellmire.
in my script i excluded this id because even the default dmg kills you in 1,5 seconds (if you dont play with inf health script)
or in other words: just dont use it. its not very strong against enemies but melts players.


about these i am not sure because nobody uses them.
MACHINEGUN SENTRY
HMG EMPLACEMENT
AUTOCANNON SENTRY

i assume that autocannon sentry has the same ID's as autocannon (need to check that sometime)
same for mg sentry (might be same id as ar 23 or mg 43)
but i know for sure hmg turret(these who have to be manually used by player) is not in ID pool yet.

User avatar
gir489
RCE Fanatics
RCE Fanatics
Posts: 800
Joined: Mon May 08, 2017 4:08 am
Reputation: 615

Re: HELLDIVERS 2

Post by gir489 »

firedragon1x wrote:
Mon May 27, 2024 6:42 am
I noticed the damage script in helldivers2.CT is missing the following weapons and stratagems:

PLAS-101 PURIFIER
ARC-12 BLITZER
ARC-3 ARC THROWER
FAF-14 SPEAR


ORBITAL GATLING BARRAGE
ORBITAL 380MM HE BARRAGE
ORBITAL WALKING BARRAGE
EAGLE NAPALM STRIKE
MACHINEGUN SENTRY
HMG EMPLACEMENT
AUTOCANNON SENTRY

is there any way you could add these?
Excellent job [Link] out the missing items. I couldn't be assed to go through Zoddel's list of IDs to check if everything was there. Like I mentioned before, the only reason I noticed some of the orbitals was missing, was I went to drop them onto something and noticed they didn't do shit. I have added the missing weapons to the script.

Exemplify1524
Cheater
Cheater
Posts: 34
Joined: Tue Apr 30, 2024 8:37 am
Reputation: 18

Re: HELLDIVERS 2

Post by Exemplify1524 »

DarkestLite wrote:
Sun May 26, 2024 5:01 pm
Not sure what I'm missing. I used both of these after you said they needed both. I dont get speed run and also the NUM button adjustments dont work. Could you post the CT with these working? Maybe something is off when copy & paste from here.
_MyHD2.CT
(727.92 KiB) Downloaded 229 times

User avatar
gir489
RCE Fanatics
RCE Fanatics
Posts: 800
Joined: Mon May 08, 2017 4:08 am
Reputation: 615

Re: HELLDIVERS 2

Post by gir489 »

I made a new open vault with left button only script.

Code: Select all

// Game Executable   : helldivers2.exe
// Author            : gir489
// Executable Version: 1.8.19279.0
// MD5 Signature     : 94CE72E11EB1E8E8CA9D1201B779444F
// EXE Compile Date  : May 08, 2024 11:48 AM
// Script Date       : May 28, 2024 02:48 PM
[ENABLE]
aobscanmodule(aob_OpenSaysMe,game.dll,83 88 50 01 00 00 01 48 8B 01)
registersymbol(aob_OpenSaysMe)

aob_OpenSaysMe+6:
  db 03

[DISABLE]
aob_OpenSaysMe+6:
  db 01

unregistersymbol(aob_OpenSaysMe)
I need people to test it and report back if the shuttle still leaves when it shouldn't.

FR1000
What is cheating?
What is cheating?
Posts: 2
Joined: Sat May 25, 2024 7:54 pm
Reputation: 0

Re: HELLDIVERS 2

Post by FR1000 »

gir489 wrote:
Sun Feb 18, 2024 6:24 am
So I figured out that if you add --delay_gameguard_init to the launch parameters, it will delay GameGuard from loading a little bit.

If you're fast enough on the draw, you can attach Cheat Engine, enable the features, and then close Cheat Engine before GameGuard has a chance to notice what happened. Then you can play as normal.

EDIT: Since February 21st, they updated the EXE to remove this parameter. You can download the original EXE and restore it. Instructions found here: viewtopic.php?p=337842#p337842

EDIT: Since March 7th, they updated the game to not allow the resurrected EXE method. I suggest instead using emoisback's version.dll proxy found here: [Link]

EDIT: If you do not have a GameGuard bypass, you can use the helldivers2_GameGuardActive table. To use it, launch HELLDIVERS 2. Wait until you're on the ship. Launch the table, and execute the Lua script to attach to HELLDIVERS 2. I recommend just activating Base Scripts then closing Cheat Engine quickly. If you've done it correctly, it will inject the code into memory before Game Guard runs its scanner thread to look for Cheat Engine running. Then you can play normally. I recommend removing the scripts you do not want and then saving the table so that when you execute Base Scripts, it will activate the scripts you want.
I'm trying to launch Helldivers 2 bypass table, but it doesn't open anything up.

Post Reply

Who is online

Users browsing this forum: Bing [Bot], DrummerIX, maimai20001, Qjafri829