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

-raymond-

Известный
110
9
хочу вывести текст в Present с имеено таким же шрифтом как в чате,
нашел вот такую структуру

C++:
struct API stChatInfo
{
    int                    pagesize;
    void                *pUnk;
    int                    iChatWindowMode;
    uint8_t                bTimestamps;
    uint32_t            iUnk;
    char                logFilePathChatLog[MAX_PATH + 1];
    void                *pGameUI; // CDXUTDialog
    void                *pEditBackground; // CDXUTEditBox
    void                *pDXUTScrollBar;
    D3DCOLOR            clTextColor;
    D3DCOLOR            clInfoColor;
    D3DCOLOR            clDebugColor;
    DWORD                dwChatboxOffset;
    struct stChatEntry    chatEntry[100];
    stFontRenderer        *m_pFontRenderer;
    ID3DXSprite            *m_pChatTextSprite;
    ID3DXSprite            *m_pSprite;
    IDirect3DDevice9    *m_pD3DDevice;
    int                    field_63B2;
    DWORD                field_63B6;
    IDirect3DTexture9    *m_pTexture;
    int                    field_63BE;
    int                    field_63C2;
    int                    field_63C6;
    int                    field_63CA;
    int                    field_63CE;
    int                    field_63D2;
    int                    field_63D6;
    int                    m_iRedraw;
    int                    m_nPrevScrollBarPosition;
    int                    m_iDistanceAfterTimestamp;
    int                    field_63E6;

    // functions
    void                AddChatMessage( DWORD Color, const char *Text, ... );
    void                AddChatMessage( ChatMessageType Type, const char *szString, const char *szPrefix, D3DCOLOR TextColor,
        D3DCOLOR PrefixColor );
    void                SetDisplayMode( int mode );
};

C++:
ppFont->Print(buf, -1, 500, 500);

ppFont = SF->getRender()->CreateNewFont("Evolventa", 12, FCR_BORDER);
 
Последнее редактирование:

Cake_

Потрачен
Проверенный
263
313
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
как получить фпс?
 

_=Gigant=_

Известный
144
221
is there anything to check if vehicle wheel is damaged and which wheel ?
i found only this wheel size

vehicle_info * my_veh = vehicle_info_get(VEHICLE_SELF, 0);
my_veh->wheel_size;
 

Stiopko

Известный
Проверенный
307
218
Как записать что-то в битстрим на определенное место. Так вылетает с сервера.
Код:
params->bitStream->ResetWritePointer();
params->bitStream->SetWriteOffset(24);
params->bitStream->Write(sLeftRightKeys);
 

Stiopko

Известный
Проверенный
307
218
C++:
bool CALLBACK OutcomingPacket(stRakNetHookParams *params) {
    if (state && params->packetId == PacketEnumeration::ID_VEHICLE_SYNC) {
        static uint16_t sLeftRightKeys;
        params->bitStream->ResetReadPointer();
        params->bitStream->SetReadOffset(24);
        params->bitStream->Read(sLeftRightKeys);
        if (sLeftRightKeys == 0) {
            params->bitStream->ResetWritePointer();
            params->bitStream->SetWriteOffset(24);
            params->bitStream->Write(uint16_t(bool(rand() % 2) ? 128 : 65408));
        }
    }
    return true;
}
 

Soreso

Новичок
4
0
Перебираю в цикле ID каров, но как получить кар в зоне стрима?(Функция)
 

Вложения

  • sa-mp-006.png
    sa-mp-006.png
    298.3 KB · Просмотры: 232

Karbun

Участник
112
3
В чём ошибка? Хочу вывести координаты игрока в консоле:
Нашел адреса координат через СЕ:
AE9005S.png
Потом написал код вывода:
C++:
#include <windows.h>
#include <string>
#include <iostream>

using namespace std;

DWORD pid;
DWORD Xcoord = 0x1A32C794;
DWORD Ycoord = 0x1A32C798;
DWORD Zcoord = 0x1A32C79C;
float MyCoordX;
float MyCoordY;
float MyCoordZ;

int main()
{
    while (true)
    {
        HWND hWnd = FindWindowA(0, ("GTA:SA:MP"));
        if (hWnd != 0)
        {     
            GetWindowThreadProcessId(hWnd, &pid);
            HANDLE pHandle = OpenProcess(PROCESS_VM_READ, FALSE, pid);
            ReadProcessMemory(pHandle, (LPVOID)Xcoord, &MyCoordX, sizeof(MyCoordX), 0);
            ReadProcessMemory(pHandle, (LPVOID)Ycoord, &MyCoordY, sizeof(MyCoordY), 0);
            ReadProcessMemory(pHandle, (LPVOID)Zcoord, &MyCoordZ, sizeof(MyCoordZ), 0);
            setlocale(LC_ALL, "Russian");
            cout << "Координаты игрока: " << endl;
            cout << "X координата: " << Xcoord << endl;
            cout << "Y координата: " << Ycoord << endl;
            cout << "Z координата: " << Zcoord << endl;
            Sleep(100);
            system("CLS");
        }

        if (hWnd == 0)
        {
            setlocale(LC_ALL, "Russian");
            cout << "Процесс не найден." << endl;
            Sleep(100);
            system("CLS");
        }
    }
}

И вот результат:
vyFhQGH.png
 

SiTrak

Известный
192
253
В чём ошибка? Хочу вывести координаты игрока в консоле:
Нашел адреса координат через СЕ:
AE9005S.png
Потом написал код вывода:
C++:
#include <windows.h>
#include <string>
#include <iostream>

using namespace std;

DWORD pid;
DWORD Xcoord = 0x1A32C794;
DWORD Ycoord = 0x1A32C798;
DWORD Zcoord = 0x1A32C79C;
float MyCoordX;
float MyCoordY;
float MyCoordZ;

int main()
{
    while (true)
    {
        HWND hWnd = FindWindowA(0, ("GTA:SA:MP"));
        if (hWnd != 0)
        {    
            GetWindowThreadProcessId(hWnd, &pid);
            HANDLE pHandle = OpenProcess(PROCESS_VM_READ, FALSE, pid);
            ReadProcessMemory(pHandle, (LPVOID)Xcoord, &MyCoordX, sizeof(MyCoordX), 0);
            ReadProcessMemory(pHandle, (LPVOID)Ycoord, &MyCoordY, sizeof(MyCoordY), 0);
            ReadProcessMemory(pHandle, (LPVOID)Zcoord, &MyCoordZ, sizeof(MyCoordZ), 0);
            setlocale(LC_ALL, "Russian");
            cout << "Координаты игрока: " << endl;
            cout << "X координата: " << Xcoord << endl;
            cout << "Y координата: " << Ycoord << endl;
            cout << "Z координата: " << Zcoord << endl;
            Sleep(100);
            system("CLS");
        }

        if (hWnd == 0)
        {
            setlocale(LC_ALL, "Russian");
            cout << "Процесс не найден." << endl;
            Sleep(100);
            system("CLS");
        }
    }
}

И вот результат:
vyFhQGH.png

position = (*(DWORD *)0xB6F5F0) ? (float *)(*(DWORD *)(*(DWORD *)0xB6F5F0 + 0x14) + 0x30) : NULL;