Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Исходник У кого есть актуальные оффсеты warface

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
12 Янв 2025
Сообщения
56
Реакции
15
Всем привет пользователи YouGame, хочу спросить, у кого имеются актуальные оффсеты warface, на данный момент, и кому не сложно, поделитесь чем сможете, всем буду благодарен!
 
Всем привет пользователи YouGame, хочу спросить, у кого имеются актуальные оффсеты warface, на данный момент, и кому не сложно, поделитесь чем сможете, всем буду благодарен!
SystemGlobalEvironment_Instance = Read(0x142A5509E) ^ 0x5D731F30B1EDB182LL
SystemGlobalEvironment->Renderer = Read(SystemGlobalEvironment_Instance + 0x55) - 0x1CD2351CAC5BAC76LL
SystemGlobalEvironment->PhysicalWorld = Read(SystemGlobalEvironment_Instance + 0xA7) - 0x50841BFED2BDE16BLL

Renderer->ViewPort = Read(Renderer + 0x14B718)
MatrixView = Read(0x142A79A38)
MatrixProj = Read(0x142A79A78)

GameFramework_Instance = Read(0x142AC1478)
GameFramework->ActorSystem = Read(GameFramework_Instance + 0x4E0)
GameFramework->ItemSystem = Read(GameFramework_Instance + 0x4E8)
GameFramework->CurrentGameRules = Read(GameFramework_Instance + 0x780)

На уц в сурсах найдешь остальное что тебе будет нужно (да и pdb файл есть слитый, с помощью него можешь найти что нужно, вроде на уц так же лежит)
 
SystemGlobalEvironment_Instance = Read(0x142A5509E) ^ 0x5D731F30B1EDB182LL
SystemGlobalEvironment->Renderer = Read(SystemGlobalEvironment_Instance + 0x55) - 0x1CD2351CAC5BAC76LL
SystemGlobalEvironment->PhysicalWorld = Read(SystemGlobalEvironment_Instance + 0xA7) - 0x50841BFED2BDE16BLL

Renderer->ViewPort = Read(Renderer + 0x14B718)
MatrixView = Read(0x142A79A38)
MatrixProj = Read(0x142A79A78)

GameFramework_Instance = Read(0x142AC1478)
GameFramework->ActorSystem = Read(GameFramework_Instance + 0x4E0)
GameFramework->ItemSystem = Read(GameFramework_Instance + 0x4E8)
GameFramework->CurrentGameRules = Read(GameFramework_Instance + 0x780)

На уц в сурсах найдешь остальное что тебе будет нужно (да и pdb файл есть слитый, с помощью него можешь найти что нужно, вроде на уц так же лежит)
Есть pdb? на UC найти немогу
 
SystemGlobalEvironment_Instance = Read(0x142A5509E) ^ 0x5D731F30B1EDB182LL
SystemGlobalEvironment->Renderer = Read(SystemGlobalEvironment_Instance + 0x55) - 0x1CD2351CAC5BAC76LL
SystemGlobalEvironment->PhysicalWorld = Read(SystemGlobalEvironment_Instance + 0xA7) - 0x50841BFED2BDE16BLL

Renderer->ViewPort = Read(Renderer + 0x14B718)
MatrixView = Read(0x142A79A38)
MatrixProj = Read(0x142A79A78)

GameFramework_Instance = Read(0x142AC1478)
GameFramework->ActorSystem = Read(GameFramework_Instance + 0x4E0)
GameFramework->ItemSystem = Read(GameFramework_Instance + 0x4E8)
GameFramework->CurrentGameRules = Read(GameFramework_Instance + 0x780)

На уц в сурсах найдешь остальное что тебе будет нужно (да и pdb файл есть слитый, с помощью него можешь найти что нужно, вроде на уц так же лежит)
максимка как адресса эти все в ручную искать?
 
SystemGlobalEvironment_Instance = Read(0x142A5509E) ^ 0x5D731F30B1EDB182LL
SystemGlobalEvironment->Renderer = Read(SystemGlobalEvironment_Instance + 0x55) - 0x1CD2351CAC5BAC76LL
SystemGlobalEvironment->PhysicalWorld = Read(SystemGlobalEvironment_Instance + 0xA7) - 0x50841BFED2BDE16BLL

Renderer->ViewPort = Read(Renderer + 0x14B718)
MatrixView = Read(0x142A79A38)
MatrixProj = Read(0x142A79A78)

GameFramework_Instance = Read(0x142AC1478)
GameFramework->ActorSystem = Read(GameFramework_Instance + 0x4E0)
GameFramework->ItemSystem = Read(GameFramework_Instance + 0x4E8)
GameFramework->CurrentGameRules = Read(GameFramework_Instance + 0x780)

На уц в сурсах найдешь остальное что тебе будет нужно (да и pdb файл есть слитый, с помощью него можешь найти что нужно, вроде на уц так же лежит)
как framework instance найти? скинь string пожалуйста
 
как framework instance найти? скинь string пожалуйста
Failed to create the GameFramework Interface!
любой из 2 вызовов
Код:
Expand Collapse Copy
.text:00000001400C0202                 mov     cs:qword_142A7EA80, rax
.text:00000001400C0209                 call    sub_140F43E30
.text:00000001400C020E                 mov     cs:off_142A7EA28, rax
.text:00000001400C0215                 test    rax, rax
.text:00000001400C0218                 jnz     short loc_1400C0241
.text:00000001400C021A                 lea     r9, aFailedToCreate ; "Failed to create the GameFramework Inte"...

GameFrameWork -> 0x142A7EA28
 
Failed to create the GameFramework Interface!
любой из 2 вызовов
Код:
Expand Collapse Copy
.text:00000001400C0202                 mov     cs:qword_142A7EA80, rax
.text:00000001400C0209                 call    sub_140F43E30
.text:00000001400C020E                 mov     cs:off_142A7EA28, rax
.text:00000001400C0215                 test    rax, rax
.text:00000001400C0218                 jnz     short loc_1400C0241
.text:00000001400C021A                 lea     r9, aFailedToCreate ; "Failed to create the GameFramework Inte"...

GameFrameWork -> 0x142A7EA28
А, оказывается я до этого всё верно делал, значит что-то другое у меня отвалилось) спасибо
Failed to create the GameFramework Interface!
любой из 2 вызовов
Код:
Expand Collapse Copy
.text:00000001400C0202                 mov     cs:qword_142A7EA80, rax
.text:00000001400C0209                 call    sub_140F43E30
.text:00000001400C020E                 mov     cs:off_142A7EA28, rax
.text:00000001400C0215                 test    rax, rax
.text:00000001400C0218                 jnz     short loc_1400C0241
.text:00000001400C021A                 lea     r9, aFailedToCreate ; "Failed to create the GameFramework Inte"...

GameFrameWork -> 0x142A7EA28
Есть информация как GetTeamId() найти?
 
А, оказывается я до этого всё верно делал, значит что-то другое у меня отвалилось) спасибо

Есть информация как GetTeamId() найти?
str - >[%s::NetReviveAt] Failed to get spawn entity (%d) - dynamically
Код:
Expand Collapse Copy
 else
    {
      EntityName = (const char *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)a1[2] + 0x68LL))(a1[2]);
      sub_14010D270("[%s::NetReviveAt] Failed to get spawn entity (%d) - dynamically spawned entity?", EntityName, a5);
    }
  }
  LOBYTE(v15) = 1;
  sub_14061B790(a1, &v54, v15, 0LL);
  *((_DWORD *)a1 + 484) = a4;

484 * 4 = 1936 (0x790)
 
str - >[%s::NetReviveAt] Failed to get spawn entity (%d) - dynamically
Код:
Expand Collapse Copy
 else
    {
      EntityName = (const char *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)a1[2] + 0x68LL))(a1[2]);
      sub_14010D270("[%s::NetReviveAt] Failed to get spawn entity (%d) - dynamically spawned entity?", EntityName, a5);
    }
  }
  LOBYTE(v15) = 1;
  sub_14061B790(a1, &v54, v15, 0LL);
  *((_DWORD *)a1 + 484) = a4;

484 * 4 = 1936 (0x790)
спасибо
 
str - >[%s::NetReviveAt] Failed to get spawn entity (%d) - dynamically
Код:
Expand Collapse Copy
 else
    {
      EntityName = (const char *)(*(__int64 (__fastcall **)(__int64))(*(_QWORD *)a1[2] + 0x68LL))(a1[2]);
      sub_14010D270("[%s::NetReviveAt] Failed to get spawn entity (%d) - dynamically spawned entity?", EntityName, a5);
    }
  }
  LOBYTE(v15) = 1;
  sub_14061B790(a1, &v54, v15, 0LL);
  *((_DWORD *)a1 + 484) = a4;

484 * 4 = 1936 (0x790)

Сможешь помочь?
Может я чего-то не понимаю, я пытаюсь реверсить по старым гайдом и вижу шифрования от мрака, как мне найти истину?
Код:
Expand Collapse Copy
// gEnv

__int64 __fastcall sub_14007CD20(__int64 a1)
{
  __int64 result; // rax

  result = qword_142A190A7 + 0x115E50EE80E15D6FLL;
  if ( qword_142A190A7 == 0xEEA1AF117F1EA291uLL )
  {
    set_purecall_handler(Handler);
    set_invalid_parameter_handler(sub_14007FD70);
    result = sub_140F3B4F8(sub_14007FDD0);
    if ( a1 )
    {
      result = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)a1 + 16LL))(a1) - 0x115E50EE80E15D6FLL;
      qword_142A190A7 = result;
    }
  }
  return result;
}

sub_140FAF470(&v101, v98, "AI System");
                  v71 = (*(__int64 (__fastcall **)(unsigned __int64))(*(_QWORD *)(*(_QWORD *)(qword_142A190A7
                                                                                            + 0x115E50EE80E15F09LL)
                                                                                ^ 0xB1235E4E8CDE738FuLL)
                                                                    + 104LL))(*(_QWORD *)(qword_142A190A7
                                                                                        + 0x115E50EE80E15F09LL) ^ 0xB1235E4E8CDE738FuLL);
                  v72 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v71 + 208LL))(v71);
                  (*(void (__fastcall **)(__int64))(*(_QWORD *)v72 + 128LL))(v72);
                  v73 = (*(__int64 (__fastcall **)(unsigned __int64))(*(_QWORD *)(*(_QWORD *)(qword_142A190A7
                                                                                            + 0x115E50EE80E15F09LL)
                                                                                ^ 0xB1235E4E8CDE738FuLL)
                                                                    + 104LL))(*(_QWORD *)(qword_142A190A7
                                                                                        + 0x115E50EE80E15F09LL) ^ 0xB1235E4E8CDE738FuLL);
                  v74 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v73 + 256LL))(v73);
                  (*(void (__fastcall **)(__int64))(*(_QWORD *)v74 + 72LL))(v74);
                  sub_140FAF470(&v101, v98, "ResetSubSystems");
                  v75 = v114;
                  if ( (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v114 + 816LL))(v114) )
                  {
                    v76 = (_QWORD *)(*(__int64 (__fastcall **)(__int64, __int64 *, char *))(*(_QWORD *)v32 + 40LL))(





// iCharacterInstance



                        if ( !v6 )
    return (*(__int64 (__fastcall **)(__int64 *))(v8 + 88))(v7);
  v32[0] = 5;
  if ( !(*(unsigned __int8 (__fastcall **)(__int64 *, __int64, _DWORD *))(v8 + 56))(a2, 1, v32) || v32[0] != 5 )
  {
    if ( v32[0] == 6 )
    {
      if ( v33 )
      {
        (*(void (__fastcall **)(unsigned __int64))(*(_QWORD *)v33 + 24LL))(v33);
        return (*(__int64 (__fastcall **)(__int64 *))(*a2 + 88))(a2);
      }
    }
    else if ( v32[0] == 7 && v33 )
    {
      (*(void (__fastcall **)(unsigned __int64))(*(_QWORD *)(*(_QWORD *)(qword_142A190A7 + 0x115E50EE80E15DC4LL)
                                                           ^ 0x987478F4BF8D3F1EuLL)
                                               + 192LL))(*(_QWORD *)(qword_142A190A7 + 0x115E50EE80E15DC4LL) ^ 0x987478F4BF8D3F1EuLL);
    }
    v8 = *a2;
    v7 = a2;
    return (*(__int64 (__fastcall **)(__int64 *))(v8 + 88))(v7);
  }
  v9 = (const char *)v33;
  v33 = 0;
  v32[0] = 0;
  v10 = (*(__int64 (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v6 + 680LL))(v6, 0);
  v11 = v10;
  if ( !v10 )
    return (*(__int64 (__fastcall **)(__int64 *))(*a2 + 88))(a2);
  v13 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v10 + 48LL))(v10);
  v14 = (*(__int64 (__fastcall **)(__int64, const char *))(*(_QWORD *)v13 + 24LL))(v13, v9);
  v15 = v14;
  if ( v14 == -1 )
  {
    sub_1400C2C60("ERROR: CScriptObjectWeapon::GetBoneLocal: Bone not found: %s", v9);
    return (*(__int64 (__fastcall **)(__int64 *))(*a2 + 88))(a2);
  }
  else
  {
    sub_140575A80(v44, a4);
    v16 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v11 + 48LL))(v11);
    v17 = (*(__int64 (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v16 + 56LL))(v16, v15);
    v18 = sub_1403BFC50(v40, v17);
    v19 = (*(__int64 (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v6 + 608LL))(v6, 0);
    v20 = (_DWORD *)sub_1403BFEF0(v32, v19, v18);
    v21 = v20[1];
    v22 = v20[2];
    v23 = v20[4];
    v24 = v20[5];
    v25 = v20[6];
    v26 = v20[8];
    v27 = v20[9];
    v28 = v20[10];
    v32[0] = *v20;
    v32[1] = v23;
    v33 = __PAIR64__(v21, v26);
    v34 = v24;
    v35 = v27;
    v36 = v22;
    v37 = v25;
    v38 = v28;
    sub_14108CEF0(v40, v32, v44);
    v29 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)v11 + 48LL))(v11);
    v30 = (*(__int64 (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v29 + 56LL))(v29, v15);
    sub_1403BFC50(v44, v30);
    (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v6 + 608LL))(v6, 0);
    v39[0] = v41;
    v39[2] = v43;
    v39[1] = v42;
    v31 = sub_14072EE70(v39, v32);
    return sub_140FCA750(a2, v31);
  }
}



// iRenderer


LABEL_227:
      if ( *(_BYTE *)(a2 + 3151) )
      {
        if ( !*(_BYTE *)(a1 + 2983) )
          goto LABEL_247;
      }
      else if ( !*(_BYTE *)(a1 + 2983) )
      {
        sub_14008EFE0("Renderer initialization");
        sub_14143E1D0(a1 + 64, 0, 0, 0, (__int64)&szAgent);
        v101 = 1;
        if ( !*(_BYTE *)(a2 + 3144) )
          v101 = *(_QWORD *)(a1 + 4872);
        if ( !(unsigned __int8)sub_141433270(a1, *(_QWORD *)(a1 + 4880), v101, a2) )
        {
          v102 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)(a1 + 1544) + 56LL))(a1 + 1544);
          v103 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)(a1 + 1544) + 48LL))(a1 + 1544);
          (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)(a1 + 1544) + 40LL))(a1 + 1544);
          (*(void (__fastcall **)(__int64))(*(_QWORD *)(a1 + 1544) + 32LL))(a1 + 1544);
          sub_1400C2A00(
            (char *)(a2 + 2632),
            "CSystem::Init() returned false: InitRenderer() failed, errno: %d, last error: %d, description code: %d, description: %s");
          sub_14008F050("%s", (const char *)(a2 + 2632));
          v104 = (*(__int64 (__fastcall **)(__int64))(*(_QWORD *)(*(_QWORD *)(a1 + 544) ^ 0x7DBFB1CEF23CAA39LL) + 528LL))(*(_QWORD *)(a1 + 544) ^ 0x7DBFB1CEF23CAA39LL);
          if ( (*(__int64 (__fastcall **)(__int64, __int64, const char *, _QWORD, int, __int64))(*(_QWORD *)v104 + 24LL))(
                 v104,
                 1,
                 "noprompt",
                 0,
                 v103,
                 v102)
            || *(_BYTE *)(a2 + 3163) )
          {
            return 0;
          }
          
          // Я перешёл в sub после неудачной инициализации

__int64 sub_14008F050(const char *a1, ...)
{
  __int64 result; // rax
  va_list va; // [rsp+38h] [rbp+10h] BYREF

  va_start(va, a1);
  if ( g_SystemGlobalEnvironment != 0xEEA1AF117F1EA291uLL )
  {
    result = 0x7DBFB1CEF23CAA39LL;
    if ( *(_QWORD *)(g_SystemGlobalEnvironment + 0x115E50EE80E15F4FLL) != 0x7DBFB1CEF23CAA39LL )
    {
      result = 0xFD9E35F095C48DB9uLL;
      if ( *(_QWORD *)(g_SystemGlobalEnvironment + 0x115E50EE80E15D79LL) != 0xFD9E35F095C48DB9uLL )
        return (**(__int64 (__fastcall ***)(unsigned __int64, __int64, const char *, __int64 *))(*(_QWORD *)(g_SystemGlobalEnvironment + 0x115E50EE80E15D79LL)
                                                                                               ^ 0xFD9E35F095C48DB9uLL))(
                 *(_QWORD *)(g_SystemGlobalEnvironment + 0x115E50EE80E15D79LL) ^ 0xFD9E35F095C48DB9uLL,
                 2,
                 a1,
                 (__int64 *)va);
    }
  }
  return result;
}

__int64 __fastcall sub_141676680(__int64 a1, int a2, unsigned int *a3, _DWORD *a4)
{
  __int64 v8; // rax
  __int64 v9; // r15
  __int64 v10; // rax
  __int64 v11; // rdi
  _DWORD v13[14]; // [rsp+20h] [rbp-38h] BYREF
  unsigned int v14; // [rsp+60h] [rbp+8h] BYREF

  v8 = (*(__int64 (__fastcall **)(__int64, const char *))(*(_QWORD *)qword_142AE2118 + 200LL))(
         qword_142AE2118,
         "r_Fullscreen");
  if ( v8 )
    (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v8 + 48LL))(v8, 0);
  v9 = (*(__int64 (__fastcall **)(__int64, const char *))(*(_QWORD *)(*(_QWORD *)(g_SystemGlobalEnvironment
                                                                                + 0x115E50EE80E15EFFLL)
                                                                    + 0x7EB535ABC30B6CCDLL)
                                                        + 200LL))(
         *(_QWORD *)(g_SystemGlobalEnvironment + 0x115E50EE80E15EFFLL) + 0x7EB535ABC30B6CCDLL,
         "r_Width");
  v10 = (*(__int64 (__fastcall **)(__int64, const char *))(*(_QWORD *)(*(_QWORD *)(g_SystemGlobalEnvironment
                                                                                 + 0x115E50EE80E15EFFLL)
                                                                     + 0x7EB535ABC30B6CCDLL)
                                                         + 200LL))(
          *(_QWORD *)(g_SystemGlobalEnvironment + 0x115E50EE80E15EFFLL) + 0x7EB535ABC30B6CCDLL,
          "r_Height");
  v11 = v10;
  if ( v9 && v10 )
  {
    v14 = *a3;
    v13[0] = *a4;
    sub_14157AB50(qword_142AE2130, &v14, v13);
    (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v9 + 48LL))(v9, v14);
    (*(void (__fastcall **)(__int64, _QWORD))(*(_QWORD *)v11 + 48LL))(v11, v13[0]);
    *a3 = v14;
    *a4 = v13[0];
  }
  (*(void (__fastcall **)(__int64, _QWORD, _QWORD))(*(_QWORD *)a1 + 80LL))(a1, 0, 0);
  return sub_1400C2C60("Failed to enter fullscreen mode, with error: 0x%x, falling back to windowed", a2);
}

// iGame

void __fastcall sub_140CED690(__int64 a1, int a2, __int64 a3, const CHAR *a4)
{
  __int64 v8; // rax
  __int64 v9; // rbx
  _DWORD *v10; // rax
  __int64 v11; // r14
  __int64 v12; // r8
  __int64 v13; // rax
  volatile signed __int32 *v14; // rcx
  const CHAR *v15; // rdx
  __int64 v16; // rax
  __int64 v17; // rax
  __int64 v18; // rax
  _BYTE v19[8]; // [rsp+20h] [rbp-28h] BYREF
  volatile signed __int32 *v20; // [rsp+28h] [rbp-20h]

  *(_BYTE *)(a1 + 172) = 0;
  if ( a3 )
  {
    if ( (unsigned __int8)sub_140CEE4A0() )
    {
      v8 = sub_140079B80(192);
      v9 = 0;
      if ( v8 )
        v10 = (_DWORD *)sub_140DFCF50(v8);
      else
        v10 = 0;
      v11 = *(_QWORD *)(a1 + 152);
      *(_QWORD *)(a1 + 152) = v10;
      if ( v11 )
      {
        sub_140CEE640(v11);
        sub_140079C00(v11, 192);
        v10 = *(_DWORD **)(a1 + 152);
      }
      v12 = -1;
      *v10 = a2;
      do
        ++v12;
      while ( *(_BYTE *)(a3 + v12) );
      sub_14009B9B0(*(_QWORD *)(a1 + 152) + 24LL, a3, v12);
      v13 = sub_1401109D0(v19);
      sub_14008E5F0(*(_QWORD *)(a1 + 152) + 168LL, v13);
      v14 = v20;
      if ( v20 != &dword_142A19418 && *(int *)v20 > 0 && _InterlockedExchangeAdd(v20, 0xFFFFFFFF) == 1 )
      {
        qword_142A7ADB8 += -13 - *((_DWORD *)v14 + 2);
        sub_14007A060(v14, 15);
      }
      v15 = &szAgent;
      if ( a4 )
        v15 = a4;
      if ( v15 )
      {
        v9 = -1;
        do
          ++v9;
        while ( v15[v9] );
      }
      sub_14009B9B0(*(_QWORD *)(a1 + 152) + 40LL, v15, v9);
      *(_DWORD *)(a1 + 168) = 2;
      sub_140CEE3D0(a1, 0);
    }
    else
    {
      v16 = sub_1400B06B0(off_142A7DBE8[60]);
      (*(void (__fastcall **)(__int64, __int64, __int64))(*(_QWORD *)v16 + 32LL))(v16, a3, 30);
      v17 = (*(__int64 (__fastcall **)(__int64, const char *))(*(_QWORD *)(*(_QWORD *)(g_SystemGlobalEnvironment
                                                                                     + 0x115E50EE80E15EFFLL)
                                                                         + 0x7EB535ABC30B6CCDLL)
                                                             + 200LL))(
              *(_QWORD *)(g_SystemGlobalEnvironment + 0x115E50EE80E15EFFLL) + 0x7EB535ABC30B6CCDLL,
              "g_victoryCondition");
      (*(void (__fastcall **)(__int64, __int64))(*(_QWORD *)v17 + 48LL))(v17, 3);
      *(_DWORD *)(qword_142A7DBF8 + 1584) = 1;
      *(_DWORD *)(qword_142A7DBF8 + 3376) = 1;
      v18 = (*(__int64 (__fastcall **)(__int64, const char *))(*(_QWORD *)(*(_QWORD *)(g_SystemGlobalEnvironment
                                                                                     + 0x115E50EE80E15EFFLL)
                                                                         + 0x7EB535ABC30B6CCDLL)
                                                             + 200LL))(
              *(_QWORD *)(g_SystemGlobalEnvironment + 0x115E50EE80E15EFFLL) + 0x7EB535ABC30B6CCDLL,
              "g_spawnMode");
      (*(void (__fastcall **)(__int64, __int64))(*(_QWORD *)v18 + 48LL))(v18, 2);
    }
  }
}


// RayWorldIntersection - не знаю нахуя она ну пускай будет

v63 = v11;
  v19 = (*(int (__fastcall **)(__int64 *, __int64 *, const char *, __int64))(v18 + 280))(
          v17,
          &v48,
          "RayWorldIntersection(Script)",
          3);
  v20 = (*(__int64 (__fastcall **)(_QWORD, _QWORD))(**(_QWORD **)(v16 + 80) + 96LL))(*(_QWORD *)(v16 + 80), 0);
  (*(void (__fastcall **)(__int64))(*(_QWORD *)v20 + 16LL))(v20);
  v21 = v19;
  if ( (int)v19 > 0 )
  {
    v22 = v46;
    v23 = (int *)&v68;
    do
    {
      v24 = (*(__int64 (__fastcall **)(_QWORD, _QWORD))(**(_QWORD **)(v22 + 80) + 96LL))(*(_QWORD *)(v22 + 80), 0);
      (*(void (__fastcall **)(__int64))(*(_QWORD *)v24 + 16LL))(v24);
      v25 = *(v23 - 1);
      v26 = *(_QWORD *)v24;
      LODWORD(v40) = *(v23 - 2);
      v41 = *v23;
      HIDWORD(v40) = v25;
      LODWORD(v39) = 9;
      (*(void (__fastcall **)(__int64, const char *, __int64 *, _QWORD))(v26 + 48))(v24, "pos", &v39, 0);
      if ( (_DWORD)v39 == 6 )
      {
struct SSystemGlobalEnvironment
{
template <typename T>
static T* GetEncryptedPointer(uint64_t offset, uint64_t xor_key) {
uint64_t table_ptr = memory::read<uint64_t>(0x142A190A7);
if (!table_ptr) return nullptr;
uint64_t encrypted_val = memory::read<uint64_t>(table_ptr + offset);
return reinterpret_cast<T*>(encrypted_val ^ xor_key);
}
template <typename T>
static T* GetEncryptedPointerAdd(uint64_t offset, uint64_t add_key) {
uint64_t table_ptr = memory::read<uint64_t>(0x142A190A7);
if (!table_ptr) return nullptr;
uint64_t encrypted_val = memory::read<uint64_t>(table_ptr + offset);
return reinterpret_cast<T*>(encrypted_val + add_key);
}
// offsets
CRenderer* GetRenderer() {
// IRenderer: offset 0x115E50EE80E15F4F, xor 0x7DBFB1CEF23CAA39
return GetEncryptedPointer<CRenderer>(0x115E50EE80E15F4FLL, 0x7DBFB1CEF23CAA39LL);
}
CGame* GetGame() {
// IGame: offset 0x115E50EE80E15DC4, xor 0x987478F4BF8D3F1E
return GetEncryptedPointer<CGame>(0x115E50EE80E15DC4LL, 0x987478F4BF8D3F1EuLL);
}
CGameFramework* GetGameFramework() {
// IGameFramework: offset 0x115E50EE80E15F09, xor 0xB1235E4E8CDE738F
return GetEncryptedPointer<CGameFramework>(0x115E50EE80E15F09LL, 0xB1235E4E8CDE738FuLL);
}
void* GetConsole() {
// IConsole: offset 0x115E50EE80E15EFF, add 0x7EB535ABC30B6CCD
return GetEncryptedPointerAdd<void>(0x115E50EE80E15EFFLL, 0x7EB535ABC30B6CCDLL);
}
static SSystemGlobalEnvironment* GetInstance() {
uint64_t table_ptr = memory::read<uint64_t>(0x142A190A7);
if (!table_ptr) return nullptr;
return reinterpret_cast<SSystemGlobalEnvironment*>(table_ptr + 0x115E50EE80E15D6FLL);
}
 
Назад
Сверху Снизу