Получить откуда? Из CVehicle?как id машины получить через sampapi или plugin sdk
Если твой uint16_t это индекс машины в пуле: https://github.com/BlastHackNet/SAM...b62/src/sampapi/0.3.7-R1/CVehiclePool.cpp#L82и как из uint16_t сделать cvehicle
Получить откуда? Из CVehicle?как id машины получить через sampapi или plugin sdk
Если твой uint16_t это индекс машины в пуле: https://github.com/BlastHackNet/SAM...b62/src/sampapi/0.3.7-R1/CVehiclePool.cpp#L82и как из uint16_t сделать cvehicle
да получить из CVehicle.Получить откуда? Из CVehicle?
Если твой uint16_t это индекс машины в пуле: https://github.com/BlastHackNet/SAM...b62/src/sampapi/0.3.7-R1/CVehiclePool.cpp#L82
static void RenderNeonForVehicle(CVehicle *vehicle) {
CVector Pos = CModelInfo::ms_modelInfoPtrs[vehicle->m_nModelIndex]->m_pColModel->m_boundBox.m_vecMin;
CVector center = vehicle->TransformFromObjectSpace(CVector(0.0f, 0.0f, 0.0f));
CVector up = vehicle->TransformFromObjectSpace(CVector(0.0f, 0.0f - Pos.y, 0.0f)) - center;
CVector right = vehicle->TransformFromObjectSpace(CVector(Pos.x - 0.0f, 0.0f, 0.0f)) - center;
}
В samp::CVehicle есть поле m_pGameVehicle, это то что тебе нужнода получить из CVehicle.
Из uint16_t пробовал так делать:
я пробовал так samp::CVehicle* playaVeh = samp::RefNetGame()->GetVehiclePool()->Get(v);
но там были ошибки по типу невозможно приобразовать из samp::CVehicle в CVehicle вот больше кода
если типо делать в RenderNeonForVehicle samp::CVehicle то пишет что TransformFromObjectSpace ненайден а в CVehicle* playaVeh = samp::RefNetGame()->GetVehiclePool()->Get(v); без samp:: будут ошибкиC++:static void RenderNeonForVehicle(CVehicle *vehicle) { CVector Pos = CModelInfo::ms_modelInfoPtrs[vehicle->m_nModelIndex]->m_pColModel->m_boundBox.m_vecMin; CVector center = vehicle->TransformFromObjectSpace(CVector(0.0f, 0.0f, 0.0f)); CVector up = vehicle->TransformFromObjectSpace(CVector(0.0f, 0.0f - Pos.y, 0.0f)) - center; CVector right = vehicle->TransformFromObjectSpace(CVector(Pos.x - 0.0f, 0.0f, 0.0f)) - center; }
В PSDK ты это никак не сделаешь. Оно перебирает самповский пуллC++:samp::RefNetGame()->GetVehiclePool()->Get(v);
может кто-то дать этот код только для plugin sdk
.text:1008D077 68 D4 B2 0E 10 push offset aSampguiPng ; "sampgui.png"
patch::RedirectCall(0x100EB2D4, "gui.png");
void __thiscall CDXUTDialog::InitDefaultElements(CDXUTDialog *this)
{
struct tagRECT rc; // [esp+10h] [ebp-7Ch] BYREF
CDXUTElement a4; // [esp+20h] [ebp-6Ch] BYREF
CGrowableArray<int>::SetTexture(this, 0, "sampgui.png");
CDXUTDialog::InitFont(this);
CDXUTElement::SetFont(&this->m_CapElement, 1, -1, 5);
SetRect(&rc, 17, 269, 241, 287);
CDXUTElement::SetTexture(&this->m_CapElement, 0, &rc, 0xFFFFFFFF);
this->m_CapElement.TextureColor.States[0] = 0xC80A0A0A;
this->m_CapElement.FontColor.States[0] = 0xFFD2D2D2;
CDXUTElement::SetFont(&this->m_CapElement, 1, 0xFFD2D2D2, 4);
DXUTBlendColor::Blend(&this->m_CapElement.TextureColor, 0, 10.0, 0.69999999);
DXUTBlendColor::Blend(&this->m_CapElement.FontColor, 0, 10.0, 0.69999999);
CDXUTElement::SetFont(&a4, 1, -1, 5);
CDXUTElement::SetFont(&a4, 1, 0xFFBEBEBE, 68);
a4.FontColor.States[1] = 0xC8C8C8C8;
CDXUTDialog::SetDefaultElement(this, 1, 0, &a4);
SetRect(&rc, 0, 0, 136, 54);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 0, -1, 5);
a4.TextureColor.States[0] = 0xC8FFFFFF;
a4.TextureColor.States[5] = 0xFF95B0D0;
a4.TextureColor.States[4] = 0xFFB92228;
a4.FontColor.States[4] = 0xFFFFFFFF;
a4.FontColor.States[0] = 0xFFC8C8C8;
CDXUTDialog::SetDefaultElement(this, 0, 0, &a4);
SetRect(&rc, 0, 0, 136, 54);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFu);
a4.TextureColor.States[4] = 0xFFB92228;
a4.TextureColor.States[5] = 0x3C505050;
a4.TextureColor.States[3] = 0xC8FFFFFF;
CDXUTDialog::SetDefaultElement(this, 0, 1, &a4);
SetRect(&rc, 0, 54, 27, 81);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 0, -1, 4);
a4.FontColor.States[1] = 0xC8C8C8C8;
a4.TextureColor.States[0] = 0x96FFFFFF;
a4.TextureColor.States[3] = 0xC8FFFFFF;
a4.TextureColor.States[5] = -1;
CDXUTDialog::SetDefaultElement(this, 2, 0, &a4);
SetRect(&rc, 27, 54, 54, 81);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 2, 1, &a4);
SetRect(&rc, 54, 54, 81, 81);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 0, -1, 4);
a4.FontColor.States[1] = 0xC8C8C8C8;
a4.TextureColor.States[0] = 0x96FFFFFF;
a4.TextureColor.States[3] = 0xC8FFFFFF;
a4.TextureColor.States[5] = -1;
CDXUTDialog::SetDefaultElement(this, 3, 0, &a4);
SetRect(&rc, 81, 54, 108, 81);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 3, 1, &a4);
SetRect(&rc, 7, 81, 247, 123);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 0, -1, 5);
a4.TextureColor.States[0] = 0xC8FFFFFF;
a4.TextureColor.States[4] = 0xFFB92228;
a4.TextureColor.States[3] = 0xFFB92228;
a4.TextureColor.States[1] = 0x46C8C8C8;
a4.FontColor.States[4] = 0xFFFFFFFF;
a4.FontColor.States[5] = 0xFF000000;
a4.FontColor.States[1] = 0xC8C8C8C8;
CDXUTDialog::SetDefaultElement(this, 4, 0, &a4);
SetRect(&rc, 272, 0, 325, 49);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
a4.TextureColor.States[0] = 0xC8FFFFFF;
a4.TextureColor.States[5] = 0xFF969696;
a4.TextureColor.States[3] = 0xFF969696;
a4.TextureColor.States[1] = 0x46FFFFFF;
CDXUTDialog::SetDefaultElement(this, 4, 1, &a4);
SetRect(&rc, 7, 123, 241, 265);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 0, -1, 0);
DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xC8808080, 0);
CDXUTDialog::SetDefaultElement(this, 4, 2, &a4);
SetRect(&rc, 7, 266, 241, 289);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 0, -1, 0);
DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFC8C8C8, 0xC8808080, 0);
CDXUTDialog::SetDefaultElement(this, 4, 3, &a4);
SetRect(&rc, 1, 290, 280, 331);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
a4.TextureColor.States[0] = 0x96FFFFFF;
a4.TextureColor.States[3] = 0xC8FFFFFF;
a4.TextureColor.States[1] = 0x46FFFFFF;
CDXUTDialog::SetDefaultElement(this, 5, 0, &a4);
SetRect(&rc, 54, 54, 81, 81);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xFF95B0D0, 0);
a4.TextureColor.States[4] = 0xFFF0F0F0;
a4.TextureColor.States[5] = 0xFFB92228;
a4.TextureColor.States[3] = 0xFFDCDCDC;
CDXUTDialog::SetDefaultElement(this, 5, 1, &a4);
SetRect(&rc, 243, 144, 265, 155);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
CDXUTDialog::SetDefaultElement(this, 9, 0, &a4);
SetRect(&rc, 243, 124, 265, 144);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
CDXUTDialog::SetDefaultElement(this, 9, 1, &a4);
SetRect(&rc, 243, 155, 265, 176);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0);
CDXUTDialog::SetDefaultElement(this, 9, 2, &a4);
SetRect(&rc, 266, 123, 286, 167);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xFF95B0D0, 0);
CDXUTDialog::SetDefaultElement(this, 9, 3, &a4);
CDXUTElement::SetFont(&a4, 0, -16777216, 4);
SetRect(&rc, 14, 90, 241, 113);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 0, &a4);
SetRect(&rc, 8, 82, 14, 90);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 1, &a4);
SetRect(&rc, 14, 82, 241, 90);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 2, &a4);
SetRect(&rc, 241, 82, 246, 90);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 3, &a4);
SetRect(&rc, 8, 90, 14, 113);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 4, &a4);
SetRect(&rc, 241, 90, 246, 113);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 5, &a4);
SetRect(&rc, 8, 113, 14, 121);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 6, &a4);
SetRect(&rc, 14, 113, 241, 121);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 7, &a4);
SetRect(&rc, 241, 113, 246, 121);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 6, 8, &a4);
CDXUTElement::SetFont(&a4, 0, 0xFF000000, 4);
SetRect(&rc, 14, 90, 241, 113);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 0, &a4);
SetRect(&rc, 8, 82, 14, 90);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 1, &a4);
SetRect(&rc, 14, 82, 241, 90);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 2, &a4);
SetRect(&rc, 241, 82, 246, 90);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 3, &a4);
SetRect(&rc, 8, 90, 14, 113);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 4, &a4);
SetRect(&rc, 241, 90, 246, 113);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 5, &a4);
SetRect(&rc, 8, 113, 14, 121);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 6, &a4);
SetRect(&rc, 14, 113, 241, 121);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 7, &a4);
SetRect(&rc, 241, 113, 246, 121);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTDialog::SetDefaultElement(this, 7, 8, &a4);
SetRect(&rc, 0, 0, 136, 54);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 0, -1, 5);
CDXUTDialog::SetDefaultElement(this, 7, 9, &a4);
SetRect(&rc, 13, 124, 241, 265);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 1, -1, 64);
CDXUTDialog::SetDefaultElement(this, 8, 0, &a4);
SetRect(&rc, 17, 269, 241, 287);
CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF);
CDXUTElement::SetFont(&a4, 1, 0xFFFFFFFF, 64);
DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xC8808080, 0);
CDXUTDialog::SetDefaultElement(this, 8, 1, &a4);
}
умнее будет менять указатель на строку в push:кто может помочь с хуком вот срочка из ida
то есть надо изменить sampgui.png на gui.png чет типоida pro:.text:1008D077 68 D4 B2 0E 10 push offset aSampguiPng ; "sampgui.png"
C++:patch::RedirectCall(0x100EB2D4, "gui.png");
ida pro:void __thiscall CDXUTDialog::InitDefaultElements(CDXUTDialog *this) { struct tagRECT rc; // [esp+10h] [ebp-7Ch] BYREF CDXUTElement a4; // [esp+20h] [ebp-6Ch] BYREF CGrowableArray<int>::SetTexture(this, 0, "sampgui.png"); CDXUTDialog::InitFont(this); CDXUTElement::SetFont(&this->m_CapElement, 1, -1, 5); SetRect(&rc, 17, 269, 241, 287); CDXUTElement::SetTexture(&this->m_CapElement, 0, &rc, 0xFFFFFFFF); this->m_CapElement.TextureColor.States[0] = 0xC80A0A0A; this->m_CapElement.FontColor.States[0] = 0xFFD2D2D2; CDXUTElement::SetFont(&this->m_CapElement, 1, 0xFFD2D2D2, 4); DXUTBlendColor::Blend(&this->m_CapElement.TextureColor, 0, 10.0, 0.69999999); DXUTBlendColor::Blend(&this->m_CapElement.FontColor, 0, 10.0, 0.69999999); CDXUTElement::SetFont(&a4, 1, -1, 5); CDXUTElement::SetFont(&a4, 1, 0xFFBEBEBE, 68); a4.FontColor.States[1] = 0xC8C8C8C8; CDXUTDialog::SetDefaultElement(this, 1, 0, &a4); SetRect(&rc, 0, 0, 136, 54); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 0, -1, 5); a4.TextureColor.States[0] = 0xC8FFFFFF; a4.TextureColor.States[5] = 0xFF95B0D0; a4.TextureColor.States[4] = 0xFFB92228; a4.FontColor.States[4] = 0xFFFFFFFF; a4.FontColor.States[0] = 0xFFC8C8C8; CDXUTDialog::SetDefaultElement(this, 0, 0, &a4); SetRect(&rc, 0, 0, 136, 54); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFu); a4.TextureColor.States[4] = 0xFFB92228; a4.TextureColor.States[5] = 0x3C505050; a4.TextureColor.States[3] = 0xC8FFFFFF; CDXUTDialog::SetDefaultElement(this, 0, 1, &a4); SetRect(&rc, 0, 54, 27, 81); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 0, -1, 4); a4.FontColor.States[1] = 0xC8C8C8C8; a4.TextureColor.States[0] = 0x96FFFFFF; a4.TextureColor.States[3] = 0xC8FFFFFF; a4.TextureColor.States[5] = -1; CDXUTDialog::SetDefaultElement(this, 2, 0, &a4); SetRect(&rc, 27, 54, 54, 81); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 2, 1, &a4); SetRect(&rc, 54, 54, 81, 81); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 0, -1, 4); a4.FontColor.States[1] = 0xC8C8C8C8; a4.TextureColor.States[0] = 0x96FFFFFF; a4.TextureColor.States[3] = 0xC8FFFFFF; a4.TextureColor.States[5] = -1; CDXUTDialog::SetDefaultElement(this, 3, 0, &a4); SetRect(&rc, 81, 54, 108, 81); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 3, 1, &a4); SetRect(&rc, 7, 81, 247, 123); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 0, -1, 5); a4.TextureColor.States[0] = 0xC8FFFFFF; a4.TextureColor.States[4] = 0xFFB92228; a4.TextureColor.States[3] = 0xFFB92228; a4.TextureColor.States[1] = 0x46C8C8C8; a4.FontColor.States[4] = 0xFFFFFFFF; a4.FontColor.States[5] = 0xFF000000; a4.FontColor.States[1] = 0xC8C8C8C8; CDXUTDialog::SetDefaultElement(this, 4, 0, &a4); SetRect(&rc, 272, 0, 325, 49); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); a4.TextureColor.States[0] = 0xC8FFFFFF; a4.TextureColor.States[5] = 0xFF969696; a4.TextureColor.States[3] = 0xFF969696; a4.TextureColor.States[1] = 0x46FFFFFF; CDXUTDialog::SetDefaultElement(this, 4, 1, &a4); SetRect(&rc, 7, 123, 241, 265); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 0, -1, 0); DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xC8808080, 0); CDXUTDialog::SetDefaultElement(this, 4, 2, &a4); SetRect(&rc, 7, 266, 241, 289); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 0, -1, 0); DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFC8C8C8, 0xC8808080, 0); CDXUTDialog::SetDefaultElement(this, 4, 3, &a4); SetRect(&rc, 1, 290, 280, 331); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); a4.TextureColor.States[0] = 0x96FFFFFF; a4.TextureColor.States[3] = 0xC8FFFFFF; a4.TextureColor.States[1] = 0x46FFFFFF; CDXUTDialog::SetDefaultElement(this, 5, 0, &a4); SetRect(&rc, 54, 54, 81, 81); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xFF95B0D0, 0); a4.TextureColor.States[4] = 0xFFF0F0F0; a4.TextureColor.States[5] = 0xFFB92228; a4.TextureColor.States[3] = 0xFFDCDCDC; CDXUTDialog::SetDefaultElement(this, 5, 1, &a4); SetRect(&rc, 243, 144, 265, 155); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0); CDXUTDialog::SetDefaultElement(this, 9, 0, &a4); SetRect(&rc, 243, 124, 265, 144); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0); CDXUTDialog::SetDefaultElement(this, 9, 1, &a4); SetRect(&rc, 243, 155, 265, 176); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFFFFFFF, 0xFFFFFFFF, 0); CDXUTDialog::SetDefaultElement(this, 9, 2, &a4); SetRect(&rc, 266, 123, 286, 167); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xFF95B0D0, 0); CDXUTDialog::SetDefaultElement(this, 9, 3, &a4); CDXUTElement::SetFont(&a4, 0, -16777216, 4); SetRect(&rc, 14, 90, 241, 113); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 0, &a4); SetRect(&rc, 8, 82, 14, 90); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 1, &a4); SetRect(&rc, 14, 82, 241, 90); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 2, &a4); SetRect(&rc, 241, 82, 246, 90); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 3, &a4); SetRect(&rc, 8, 90, 14, 113); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 4, &a4); SetRect(&rc, 241, 90, 246, 113); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 5, &a4); SetRect(&rc, 8, 113, 14, 121); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 6, &a4); SetRect(&rc, 14, 113, 241, 121); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 7, &a4); SetRect(&rc, 241, 113, 246, 121); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 6, 8, &a4); CDXUTElement::SetFont(&a4, 0, 0xFF000000, 4); SetRect(&rc, 14, 90, 241, 113); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 0, &a4); SetRect(&rc, 8, 82, 14, 90); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 1, &a4); SetRect(&rc, 14, 82, 241, 90); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 2, &a4); SetRect(&rc, 241, 82, 246, 90); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 3, &a4); SetRect(&rc, 8, 90, 14, 113); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 4, &a4); SetRect(&rc, 241, 90, 246, 113); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 5, &a4); SetRect(&rc, 8, 113, 14, 121); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 6, &a4); SetRect(&rc, 14, 113, 241, 121); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 7, &a4); SetRect(&rc, 241, 113, 246, 121); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTDialog::SetDefaultElement(this, 7, 8, &a4); SetRect(&rc, 0, 0, 136, 54); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 0, -1, 5); CDXUTDialog::SetDefaultElement(this, 7, 9, &a4); SetRect(&rc, 13, 124, 241, 265); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 1, -1, 64); CDXUTDialog::SetDefaultElement(this, 8, 0, &a4); SetRect(&rc, 17, 269, 241, 287); CDXUTElement::SetTexture(&a4, 0, &rc, 0xFFFFFFFF); CDXUTElement::SetFont(&a4, 1, 0xFFFFFFFF, 64); DXUTBlendColor::SetColor(&a4.TextureColor, 0xFFB92228, 0xC8808080, 0); CDXUTDialog::SetDefaultElement(this, 8, 1, &a4); }
auto samp_handle = reinterpret_cast<std::uintptr_t>(GetModuleHandleA("samp.dll"));
patch::SetPointer(samp_handle + 0x8D078, "gui.png");
#include <windows.h>
typedef BOOL(WINAPI* IsDebuggerPresent_t)();
BOOL WINAPI FakeIsDebuggerPresent()
{
return FALSE;
}
void HookIAT()
{
DWORD* pIAT = (DWORD*)0x10035068;
DWORD oldProtect;
VirtualProtect(pIAT, sizeof(DWORD), PAGE_EXECUTE_READWRITE, &oldProtect);
*pIAT = (DWORD)FakeIsDebuggerPresent;
VirtualProtect(pIAT, sizeof(DWORD), oldProtect, &oldProtect);
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
HookIAT();
}
return TRUE;
}
я подозреваю, что 1 в начале адреса лишняя при работе из дллкиDWORD* pIAT = (DWORD*)0x10035068;
Тип инжекта поменять попробуй. Возможно билдишь длл под архитектуру х64. Возможно ему библиотек не хватает каких-то.C++:#include <windows.h> typedef BOOL(WINAPI* IsDebuggerPresent_t)(); BOOL WINAPI FakeIsDebuggerPresent() { return FALSE; } void HookIAT() { DWORD* pIAT = (DWORD*)0x10035068; DWORD oldProtect; VirtualProtect(pIAT, sizeof(DWORD), PAGE_EXECUTE_READWRITE, &oldProtect); *pIAT = (DWORD)FakeIsDebuggerPresent; VirtualProtect(pIAT, sizeof(DWORD), oldProtect, &oldProtect); } BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { if (ul_reason_for_call == DLL_PROCESS_ATTACH) { HookIAT(); } return TRUE; }
че делать если при инжекте
![]()
дай этот оффсет на р3/r1какой оффсет обработчика RPC ClientCheck на R5?
0x11A60какой оффсет обработчика RPC ClientCheck на R5?