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

Woofing Giraffe

Активный
402
49
Установил СДК, теперь это
ZGhDEt3jSQ4.jpg
 

AWRage

Активный
642
141
Вызываю функцию рисование текста в перехваченной End Scene - черный экран. Если вызвать в Present, то рисуется пока есть загрузочный экран, как только проходим этот этап - тоже черный экран.
C++:
if(pFont == NULL)
        D3DXCreateFont(pDevice, 17, 0, FW_BOLD, 0, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH | FF_DONTCARE, TEXT("Arial"), &pFont);

    PrintText(pFont, 700, 700, D3DCOLOR_ARGB(255, 255, 255, 0), "Testing hook.");

C++:
void PrintText(ID3DXFont *pFont, int X, int Y, D3DCOLOR ARGB, LPCSTR Text)
{
    RECT Rect;

    Rect.left = X;
    Rect.right = 1680;
    Rect.top = Y;
    Rect.bottom = Rect.top + 200;

    pFont->DrawTextA(NULL, Text, -1, &Rect, DT_LEFT, ARGB);
}
 

Vasiliy77

Известный
22
1
Можно ли из готового ехе файла-чита вытянуть адреса памяти, значения которых он меняет? Каким способом?
И можно ли сделать AntTweakBar без использования SF? Мб какие-то библиотеки есть.
 
Последнее редактирование:

CarLCas

Известный
161
118
Можно ли из готового ехе файла-чита вытянуть адреса памяти, значения которых он меняет? Каким способом?
И можно ли сделать AntTweakBar без использования SF? Мб какие-то библиотеки есть.
ReadProcessMemory, WriteProcessMemory
AntTweakBar это отдельная библиотека, ты можешь её юзать не только с сф
 
  • Нравится
Реакции: Vasiliy77

AWRage

Активный
642
141
Чет ничего не пойму. Не рендерит. Может какие RenderStates установить нужно? p.s. вызываю перед end scene
C++:
D3DXVECTOR2 Vectors[2];

    Vectors[0].x = X1;
    Vectors[0].y = Y1;
    Vectors[1].x = X2;
    Vectors[1].y = Y2;

    D3DLine->SetWidth(Width);
    D3DLine->SetAntialias(false);
    D3DLine->SetGLLines(false);
    D3DLine->Begin();
    D3DLine->Draw(Vectors, 2, ARGB);
    D3DLine->End();
 

SR_team

like pancake
BH Team
4,720
6,369
Чет ничего не пойму. Не рендерит. Может какие RenderStates установить нужно? p.s. вызываю перед end scene
C++:
D3DXVECTOR2 Vectors[2];

    Vectors[0].x = X1;
    Vectors[0].y = Y1;
    Vectors[1].x = X2;
    Vectors[1].y = Y2;

    D3DLine->SetWidth(Width);
    D3DLine->SetAntialias(false);
    D3DLine->SetGLLines(false);
    D3DLine->Begin();
    D3DLine->Draw(Vectors, 2, ARGB);
    D3DLine->End();
ты не заменяй функцию, а заинжекться в оригинальную, после Begin() сделай вызов своей stdcall функции
 

AWRage

Активный
642
141
Почему пропадают объекты, которые я рисую, когда я скрываю чат. Вроде не должно..
 

Gabriel__

Известный
Проверенный
411
182
Как создать таймер который будет вызывать функцию каждый интервал ? ( Как таймеры в SAMPFUNCS в клео )
 

AWRage

Активный
642
141
Вообщем, я хз почему, но когда в своей перехваченной функции Present я рисую текст и примитивы, то когда я скрываю чат или захожу в меню, текст остается, а примитивы исчезают. Как это решить? Вот функция рисования четырехугольника.
C++:
HRESULT CD3DRender::DrawBox(int X, int Y, int W, int H, D3DCOLOR ARGB)
{
    D3DVERTEX Vertices[6];
    Vertices[0] = { (float)X, (float)Y, 1.0f, 1.0f, ARGB };
    Vertices[1] = { (float)X + W, (float)Y, 1.0f, 1.0f, ARGB };
    Vertices[2] = { (float)X, (float)Y + H, 1.0f, 1.0f, ARGB };
    Vertices[3] = { (float)X, (float)Y + H, 1.0f, 1.0f, ARGB };
    Vertices[4] = { (float)X + W, (float)Y, 1.0f, 1.0f, ARGB };
    Vertices[5] = { (float)X + W, (float)Y + H, 1.0f, 1.0f, ARGB };

    DWORD FVF;
    m_D3DDevice->GetFVF(&FVF);

    m_D3DStateNorm->Capture();
    m_D3DStateDraw->Apply();
    m_D3DDevice->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE);

    m_D3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLELIST, 2, &Vertices, sizeof(D3DVERTEX));

    m_D3DDevice->SetFVF(FVF);
    m_D3DStateNorm->Apply();

    return S_OK;
}
 

AWRage

Активный
642
141
Можно как-то занопить функцию рисования клистов на карте? Как найти её?