Фулл фикс вашей shit пасты под панораму

six

  • 117
  • 72

six

Заблокирован
  • 117
  • 72
Если вы хотите совершить сделку с этим пользователем обратите внимание на то, что он заблокирован.
Всем привет, сегодня я расскажу вам, как пофиксить вашу shit пасту.

Начинаем:
1. Для начала заменяем везде client.dll на client_panorama.dll
2. В Render.cpp ищем BeginRender и EndRender и код который написан там, заменяем на этот:
void CRender::BeginRender()
{
m_pDevice->CreateStateBlock(D3DSBT_ALL, &m_pStateBlockDraw);
m_pDevice->CreateStateBlock(D3DSBT_ALL, &m_pStateBlockText);

if (m_pStateBlockDraw)
m_pStateBlockDraw->Capture();

m_pDevice>GetRenderState(D3DRS_COLORWRITEENABLE,&dwOld_D3DRS_COLORWRITEENABLE);
m_pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, 0xffffffff);


DWORD colorwrite, srgbwrite;
m_pDevice->GetRenderState(D3DRS_COLORWRITEENABLE, &colorwrite);
m_pDevice->GetRenderState(D3DRS_SRGBWRITEENABLE, &srgbwrite);

m_pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, 0xffffffff);
m_pDevice->SetRenderState(D3DRS_SRGBWRITEENABLE, false);

//draw here

}

void CRender::EndRender()
{
m_pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, dwOld_D3DRS_COLORWRITEENABLE);
DWORD colorwrite, srgbwrite;
m_pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, colorwrite);
m_pDevice->SetRenderState(D3DRS_SRGBWRITEENABLE, srgbwrite);

if (m_pStateBlockDraw)
{
m_pStateBlockDraw->Apply();
m_pStateBlockDraw->Release();
}

if (m_pStateBlockText)
m_pStateBlockText->Release();
}
3. Произведём замену EmitSound 1 и 2 на это: (у кого нет, ничего не делайте)
int WINAPI Hook_EmitSound1(IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSoundEntry, unsigned int nSoundEntryHash, const char *pSample,
float flVolume, soundlevel_t iSoundlevel, int nSeed, int iFlags = 0, int iPitch = PITCH_NORM,
const Vector *pOrigin = NULL, const Vector *pDirection = NULL, CUtlVector< Vector >* pUtlVecOrigins = NULL, bool bUpdatePositions = true, float soundtime = 0.0f, int speakerentity = -1, int test = 0)
{
SoundTable.UnHook();

int ret = Interfaces::Sound()->EmitSound1(filter, iEntIndex, iChannel, pSoundEntry, nSoundEntryHash, pSample,
flVolume, iSoundlevel, nSeed, iFlags, iPitch,
pOrigin, pDirection, pUtlVecOrigins, bUpdatePositions, soundtime, speakerentity, test);

SoundTable.ReHook();

return ret;
}

int WINAPI Hook_EmitSound2(IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSoundEntry, unsigned int nSoundEntryHash, const char *pSample,
float flVolume, float flAttenuation, int nSeed, int iFlags = 0, int iPitch = PITCH_NORM,
const Vector *pOrigin = NULL, const Vector *pDirection = NULL, CUtlVector< Vector >* pUtlVecOrigins = NULL, bool bUpdatePositions = true, float soundtime = 0.0f, int speakerentity = -1, int test = 0)
{
SoundTable.UnHook();

int ret = Interfaces::Sound()->EmitSound2(filter, iEntIndex, iChannel, pSoundEntry, nSoundEntryHash, pSample,
flVolume, flAttenuation, nSeed, iFlags, iPitch,
pOrigin, pDirection, pUtlVecOrigins, bUpdatePositions, soundtime, speakerentity, test);

SoundTable.ReHook();

return ret;
}
4. Заменяем Virtual int EmitSound 1 и 2 на это:
virtual int EmitSound1( IRecipientFilter& filter , int iEntIndex , int iChannel , const char *pSoundEntry , unsigned int nSoundEntryHash , const char *pSample ,
float flVolume , soundlevel_t iSoundlevel , int nSeed , int iFlags = 0 , int iPitch = PITCH_NORM ,
const Vector *pOrigin = NULL , const Vector *pDirection = NULL , CUtlVector< Vector >* pUtlVecOrigins = NULL , bool bUpdatePositions = true , float soundtime = 0.0f , int speakerentity = -1, int test = 0) = 0;

virtual int EmitSound2( IRecipientFilter& filter , int iEntIndex , int iChannel , const char *pSoundEntry , unsigned int nSoundEntryHash , const char *pSample ,
float flVolume , float flAttenuation , int nSeed , int iFlags = 0 , int iPitch = PITCH_NORM ,
const Vector *pOrigin = NULL , const Vector *pDirection = NULL , CUtlVector< Vector >* pUtlVecOrigins = NULL , bool bUpdatePositions = true , float soundtime = 0.0f , int speakerentity = -1, int test = 0) = 0;
5. Производим замену GetltemDefinitionlndex() и GetltemDefinitionlndex на это:
short* CBaseAttributableItem::GetItemDefinitionIndex()
{
// DT_BaseAttributableItem -> m_AttributeManager -> m_Item -> m_iItemDefinitionIndex
return (short*)((DWORD)this + Offset::Entity::m_iItemDefinitionIndex);
}

short& CBaseAttributableItem::GetItemDefinitionIndex2()
{
return *(short*)((DWORD)this + Offset::Entity::m_iItemDefinitionIndex);
}
6. В Hook.cpp надо прописать это:
void WINAPI Hook_LockCursor()
{
SurfaceTable.UnHook();
Interfaces::Surface()->LockCursor();
SurfaceTable.ReHook();
if (bIsGuiVisible)
Interfaces::Surface()->UnlockCursor();
}

в hook.cpp Initialize()
SurfaceTable.HookIndex(TABLE::ISurface::LockCursor, Hook_LockCursor);
7. Ищем этот код:
enum
{
DrawSetColor1 = 14,
DrawSetColor2 = 15,
DrawFilledRect = 16,
DrawOutlinedRect = 18,
DrawLine = 19,
DrawSetTextFont = 23,
DrawSetTextColor = 24,
DrawSetTextPos = 26,
DrawPrintText = 28,
FontCreate = 71,
SetFontGlyphSet = 72,
GetTextSize = 79,
PlaySound = 82
};

После чего заменяем на этот:

enum
{
DrawSetColor1 = 14,
DrawSetColor2 = 15,
DrawFilledRect = 16,
DrawOutlinedRect = 18,
DrawLine = 19,
DrawSetTextFont = 23,
DrawSetTextColor = 24,
DrawSetTextPos = 26,
DrawPrintText = 28,
UnlockCursor = 66,
LockCursor = 67,
FontCreate = 71,
SetFontGlyphSet = 72,
GetTextSize = 79,
PlaySound = 82
};
8. Где написано void PlaySound(const char* pszSoundName) нужно вставить этот код:
void UnlockCursor()
{
typedef void(__thiscall* OriginalFn)(void*);
GetMethod< OriginalFn >(this, TABLE::ISurface::UnlockCursor)(this);
}

void LockCursor()
{
typedef void(__thiscall* OriginalFn)(void*);
GetMethod< OriginalFn >(this, TABLE::ISurface::LockCursor)(this);
}
На этом всё, мы пофиксили вашу пасту, и смело можем с ней играть.
 
Последнее редактирование:

root

  • 239
  • 283

root

Администратор
  • 239
  • 283
Всем привет, сегодня я расскажу вам, как пофиксить вашу shit пасту.

Начинаем:
1. Для начала заменяем везде client.dll на client_panorama.dll
2. В Render.cpp ищем BeginRender и EndRender и код который написан там, заменяем на этот:



3. Произведём замену EmitSound 1 и 2 на это:


4. Заменяем Virtual int EmitSound 1 и 2 на это:


5. Производим замену GetltemDefinitionlndex() и GetltemDefinitionlndex на это:


6. В Hook.cpp надо прописать это:


7. Ищем этот код:


8. Где написано void PlaySound(const char* pszSoundName) нужно вставить этот код:

На этом всё, мы пофиксили вашу пасту, и смело можем с ней играть.
Заслужил временного закрепа в разделе. (y)
 

Leawzy

  • 79
  • 55

Leawzy

  • 79
  • 55
Всем привет, сегодня я расскажу вам, как пофиксить вашу shit пасту.

Начинаем:
1. Для начала заменяем везде client.dll на client_panorama.dll
2. В Render.cpp ищем BeginRender и EndRender и код который написан там, заменяем на этот:



3. Произведём замену EmitSound 1 и 2 на это:


4. Заменяем Virtual int EmitSound 1 и 2 на это:


5. Производим замену GetltemDefinitionlndex() и GetltemDefinitionlndex на это:


6. В Hook.cpp надо прописать это:


7. Ищем этот код:


8. Где написано void PlaySound(const char* pszSoundName) нужно вставить этот код:

На этом всё, мы пофиксили вашу пасту, и смело можем с ней играть.
И ещё, что именно надо переименовать, и ещё у меня нету такого типа: 5. Производим замену GetltemDefinitionlndex() и GetltemDefinitionlndex на это
1545308788103.png
 
Последнее редактирование:

six

  • 117
  • 72

six

Заблокирован
  • 117
  • 72
Если вы хотите совершить сделку с этим пользователем обратите внимание на то, что он заблокирован.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.