Jump to content
hpp community
Sign in to follow this  
_xvi

IN_MouseMove offset

Recommended Posts

_xvi
PVOID COffsets::IN_MouseMove()
{
	auto ptr = FindDownPattern((PCHAR)V("\x83\xEC\x1C\x8D\x44\x24\x10"), Module[CLIENT].base, Module[CLIENT].end);

	if (AddressNotInSpace(ptr, Module[CLIENT].base, Module[CLIENT].end))
	{
		Utils::TraceLog(V("%s: not found.\n"), V(__FUNCTION__));
		return NULL;
	}

	return (PVOID)ptr;
}

 

void IN_MouseMove(float frametime, usercmd_t* cmd)

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • _xvi
      By _xvi
      т.к. некоторые хуесосы начали продавать мой код выкладываю в паблик
      bool Game::FindSpanningContexts(cl_entity_t* ent, float targettime, position_history_t** newer, position_history_t** older) { assert(newer); assert(older); bool extrapolate = true; int imod = ent->current_position; int i0 = (imod - 0) & HISTORY_MASK; // curpos (lerp end) int i1 = (imod - 1) & HISTORY_MASK; // oldpos (lerp start) for (int i = 1; i < HISTORY_MAX - 1; i++) { position_history_t c1 = ent->ph[((imod - i) + 0) & HISTORY_MASK]; position_history_t c2 = ent->ph[((imod - i) + 1) & HISTORY_MASK]; if (c1.animtime == 0.f) break; if (c2.animtime >= targettime && c1.animtime <= targettime) { i0 = ((imod - i) + 1) & HISTORY_MASK; i1 = ((imod - i) + 0) & HISTORY_MASK; extrapolate = false; break; } } if (newer) *newer = &ent->ph[i0]; if (older) *older = &ent->ph[i1]; return extrapolate; } bool Game::BacktrackPlayer(cl_entity_s* pGameEntity, int lerp_msec, Vector& origin) { static cvar_t* sv_unlag = g_ClientCvarsMap["sv_unlag"]; static cvar_t* cl_lw = g_ClientCvarsMap["cl_lw"]; static cvar_t* cl_lc = g_ClientCvarsMap["cl_lc"]; static cvar_t* cl_updaterate = g_ClientCvarsMap["cl_updaterate"]; static cvar_t* sv_maxunlag = g_ClientCvarsMap["sv_maxunlag"]; static cvar_t* ex_interp = g_ClientCvarsMap["ex_interp"]; static cvar_t* sv_unlagpush = g_ClientCvarsMap["sv_unlagpush"]; // Player not wanting lag compensation if (!sv_unlag->value || !cl_lw->value || !cl_lc->value) return false; // Get true latency const double fakelatency = g_pMiscellaneous->m_bFakeLatencyActive ? cvars::misc.fakelatency_amount / 1000.0 : 0.0; double latency = /*client_state->frames[client_state->parsecountmod].latency + */fakelatency; if (latency > 1.5) latency = 1.5; double update_interval = 0.1; if (cl_updaterate->value > 10.f) update_interval = 1.0 / double(cl_updaterate->value); // Fixup delay based on message interval (cl_updaterate, default 20 so 50 msec) //latency -= update_interval; // Further fixup due to client side delay because packets arrive 1/2 through the frame loop, on average //latency -= (g_Local->m_flFrameTime/* * 0.5*/); // Absolute bounds on lag compensation double correct = min(LAG_COMPENSATION_DATA_TIME, latency); // See if server is applying a lower cap if (sv_maxunlag->value) { // Make sure it's not negative if (sv_maxunlag->value < 0.f) sv_maxunlag->value = 0.f; // Apply server cap correct = min(correct, sv_maxunlag->value); } // Get true timestamp const double realtime = client_state->time; // Figure out timestamp for which we are looking for data double targettime = realtime - correct; // Remove lag based on player interpolation, as well double interptime = (lerp_msec == -1) ? ex_interp->value : (lerp_msec / 1000.0); if (interptime > 0.1) interptime = 0.1; if (update_interval > interptime) interptime = update_interval; targettime -= interptime; // Server can apply a fudge, probably not needed, defaults to 0.0f targettime += sv_unlagpush->value; // Cap target to present time, of course targettime = min(realtime, targettime); position_history_t *newer, *older; FindSpanningContexts(pGameEntity, float(targettime), &newer, &older); if (!newer || !older) return false; float frac = 0.f; if (newer->animtime != older->animtime) { frac = float(targettime - older->animtime) / (newer->animtime - older->animtime); frac = std::clamp(frac, 0.f, 1.f); } Vector delta = newer->origin - older->origin; if (delta.LengthSqr() > LAG_COMPENSATION_TELEPORTED_DISTANCE_SQR) return false; origin = older->origin + delta * frac; return true; }  
      credits: me
    • _xvi
      By _xvi
      т.к. некоторые хуесосы начали продавать мой код выкладываю в паблик
      if (ent_index >= 1 && ent_index <= MAX_CLIENTS && !g_Player[ent_index]->m_bIsDead) { if (!pCStudioModelRenderer->m_pPlayerInfo) return; studiohdr_t* pstudiohdr = pCStudioModelRenderer->m_pStudioHeader; if (!pstudiohdr || !pstudiohdr->numbodyparts) return; /*if (!pCStudioModelRenderer->m_pPlayerInfo && pCStudioModelRenderer->m_pCurrentEntity && pCStudioModelRenderer->m_pCurrentEntity->curstate.weaponmodel) // Skip player weapon return;*/ if (pGameEntity->curstate.weaponmodel) { /*not my code kek nned return*/ } cl_entity_t* pViewModel = g_Engine.GetViewModel(); if (pViewModel && pGameEntity == pViewModel) return; if (pstudiohdr->numhitboxes > HITBOX_MAX) { if (pCStudioModelRenderer->m_pRenderModel) Utils::TraceLog(V("%s: player %s using bogus model %s, weaponmodel: %i, owner: %i, aiment: %i. (%s)\n"), V(__FUNCTION__), g_Player[ent_index]->m_szPrintName, pCStudioModelRenderer->m_pRenderModel->name, pGameEntity->curstate.weaponmodel, pGameEntity->curstate.owner, pGameEntity->curstate.aiment, g_Engine.pNetAPI->AdrToString(&client_static->netchan.remote_address)); if (g_Local->m_iEntIndex == ent_index) g_Local->m_bReplaceModel = true; else g_Player[ent_index]->m_bReplaceModel = true; return; } const auto* pBoneMatrix = pCStudioModelRenderer->m_pbonetransform; const auto* pHitbox = (mstudiobbox_t*)((byte*)(pstudiohdr) + pstudiohdr->hitboxindex); Vector vecBoundBoxMins, vecBoundBoxMaxs, vecMultiPoint, vecTransform; for (int i = 0; i < pstudiohdr->numhitboxes; i++) { const auto matrix = matrix3x4_t((*pBoneMatrix)[pHitbox[i].bone]); g_Player[ent_index]->m_matHitbox[i] = matrix; g_Player[ent_index]->m_vecOBBMin[i] = pHitbox[i].bbmin; g_Player[ent_index]->m_vecOBBMax[i] = pHitbox[i].bbmax; Math::VectorTransform(pHitbox[i].bbmin, matrix, vecBoundBoxMins); Math::VectorTransform(pHitbox[i].bbmax, matrix, vecBoundBoxMaxs); g_Player[ent_index]->m_vecHitboxMin[i] = vecBoundBoxMins; g_Player[ent_index]->m_vecHitboxMax[i] = vecBoundBoxMaxs; g_Player[ent_index]->m_vecHitbox[i] = (vecBoundBoxMaxs + vecBoundBoxMins) * 0.5f; g_Player[ent_index]->m_vecHitboxPoints[i][0] = vecBoundBoxMaxs; g_Player[ent_index]->m_vecHitboxPoints[i][1] = vecBoundBoxMins; vecMultiPoint = pHitbox[i].bbmin / pHitbox[i].bbmax; Math::VectorTransform(pHitbox[i].bbmax, matrix, vecTransform, 0, vecMultiPoint.x); g_Player[ent_index]->m_vecHitboxPoints[i][2] = vecTransform; Math::VectorTransform(pHitbox[i].bbmax, matrix, vecTransform, 1, vecMultiPoint.y); g_Player[ent_index]->m_vecHitboxPoints[i][3] = vecTransform; Math::VectorTransform(pHitbox[i].bbmax, matrix, vecTransform, 2, vecMultiPoint.z); g_Player[ent_index]->m_vecHitboxPoints[i][4] = vecTransform; vecMultiPoint = pHitbox[i].bbmax / pHitbox[i].bbmin; Math::VectorTransform(pHitbox[i].bbmin, matrix, vecTransform, 0, vecMultiPoint.x); g_Player[ent_index]->m_vecHitboxPoints[i][5] = vecTransform; Math::VectorTransform(pHitbox[i].bbmin, matrix, vecTransform, 1, vecMultiPoint.y); g_Player[ent_index]->m_vecHitboxPoints[i][6] = vecTransform; Math::VectorTransform(pHitbox[i].bbmin, matrix, vecTransform, 2, vecMultiPoint.z); g_Player[ent_index]->m_vecHitboxPoints[i][7] = vecTransform; } if (pstudiohdr->numhitboxes < HITBOX_MAX) { for (auto i = pstudiohdr->numhitboxes; i < HITBOX_MAX; i++) { g_Player[ent_index]->m_matHitbox[i].Clear(); g_Player[ent_index]->m_vecOBBMin[i].Clear(); g_Player[ent_index]->m_vecOBBMax[i].Clear(); g_Player[ent_index]->m_vecHitbox[i].Clear(); g_Player[ent_index]->m_vecHitboxMin[i].Clear(); g_Player[ent_index]->m_vecHitboxMax[i].Clear(); for (int j = 0; j < HITBOX_POINTS_MAX; j++) g_Player[ent_index]->m_vecHitboxPoints[i][j].Clear(); } } } call in studiorendermodel
      credits: me
    • _xvi
      By _xvi
      т.к. некоторые хуесосы начали продавать мой код выкладываю в паблик
      bool CBasePlayer::IsPlayerDead(cl_entity_s* pGameEntity) { static const char* sequences[] = { "death1", "death2", "death3", "head", "gutshot", "left", "back", "right", "forward", "crouch_die" }; if (!g_PlayerExtraInfo.m_bDead(pGameEntity->index)) return false; return (pGameEntity->curstate.sequence == Game::LookupSequence(pGameEntity->model, sequences, IM_ARRAYSIZE(sequences)) || (pGameEntity->curstate.sequence > 100 && pGameEntity->curstate.sequence < 111)); } credits: me
    • _xvi
      By _xvi
      Close Steam client if open. Disconnect from the internet. Run Steam as Administrator. Inject VAC-Bypass.dll into Steam.exe process. After successful injection messagebox saying Initialization was successful! should appear. Reconnect to the internet. Press Retry in steam window saying 'Could not connect to Steam servers'. rep: https://github.com/danielkrupinski/VAC-Bypass
      VAC-Bypass-master.zip
    • _xvi
      By _xvi
      b4554+ протестировано
      Автооффсет:
      PVOID COffsets::FindClientStatic(void)//hack.ovh { DWORD dwAddress = FindPush(hw.base, hw.end, (PCHAR) "in : %i %.2f k/s"); dwAddress = FindPattern((PCHAR) "\xA1\xFF\xFF\xFF\xFF\x83\xEC\x08", (PCHAR) "x????xxx", dwAddress - 0x30, dwAddress); dwAddress = *(DWORD*)(dwAddress + 1); dwAddress = (DWORD)(client_static_t*)(dwAddress - offsetof(client_static_t, netchan.incoming_sequence)); if (FarProc(dwAddress, hw.base, hw.end)) Error("%s: not found.", __FUNCTION__); return (PVOID)dwAddress; } Структуры можно взять тут
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...