Другое С/С++ Вопрос - Ответ

TokyoQq

Новичок
20
4
C++:
samp::RefNetGame()->GetVehiclePool()->Get(v);

может кто-то дать этот код только для plugin sdk
 

Wu_Yu_Le

Новичок
2
0
How can I add the main parts of this code to mod_sta? I have already done everything about the menu. But I don't know how to correctly add a new patch
 

Вложения

  • code.jpg
    code.jpg
    144.9 KB · Просмотры: 98

TokyoQq

Новичок
20
4
кто может помочь с хуком вот срочка из ida
ida pro:
.text:1008D077 68 D4 B2 0E 10  push    offset aSampguiPng ; "sampgui.png"
то есть надо изменить sampgui.png на gui.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);
}
 

вайега52

cache miss
Модератор
3,065
3,299
кто может помочь с хуком вот срочка из ida
ida pro:
.text:1008D077 68 D4 B2 0E 10  push    offset aSampguiPng ; "sampgui.png"
то есть надо изменить sampgui.png на gui.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);
}
умнее будет менять указатель на строку в push:


C++:
auto samp_handle = reinterpret_cast<std::uintptr_t>(GetModuleHandleA("samp.dll"));
patch::SetPointer(samp_handle + 0x8D078, "gui.png");
 

TokyoQq

Новичок
20
4
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;
}

че делать если при инжекте
eZsNtty.png
 

fuflexxxx

Известный
37
18
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;
}

че делать если при инжекте
eZsNtty.png
Тип инжекта поменять попробуй. Возможно билдишь длл под архитектуру х64. Возможно ему библиотек не хватает каких-то.
 

TokyoQq

Новичок
20
4
есть ли в sampapi функа для посадки в машину, если есть в plugin sdk то дайте еще пожалуйста код получения cvehicle в plugin sdk по id машины
 

ARMOR

God has forsaken us
Модератор
5,060
7,467
есть ли в sampapi функа для посадки в машину, если есть в plugin sdk то дайте еще пожалуйста код получения cvehicle в plugin sdk по id машины
Получение CVehicle по иду
C++:
samp::CVehiclePool* pVehiclePool = samp::RefNetGame()->GetVehiclePool();
if (pVehiclePool->m_bNotEmpty[nId])
{
    samp::CVehicle* pSampVehicle = pVehiclePool->m_pObject[nId]; // Самповский CVehicle
   CVehicle* pVehicle = pSampVehicle->m_pGameVehicle; // Игровой CVehicle для Plugin SDK
}

Посадку в машину через PSDK можно осуществить через опкод 05CA.
C++:
Command<0x05CA>(Хендл Игрока, Хендл тачки, Время, Сиденье)
 

TokyoQq

Новичок
20
4
C++:
CPed* playerPed = sampapi::v037r1::RefNetGame()->m_pPools->m_pPlayer->m_pObject[i]->m_pPlayer->m_pPed->m_pGamePed;

почему крашит?
 
Последнее редактирование: