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

_=Gigant=_

Известный
128
180
how to convert this ?

Screenshot-1.jpg
 

jenekbueno

Известный
156
71
привет.
как заполнить 1 пиксель на экране определённым цветом методами рендера ( mod_sa, sf api) ?
 

Неадекватная сова

Известный
Проверенный
342
295

_=Gigant=_

Известный
128
180
whats wrong with this it should show text depending on time pass but it shows nothing....

static DWORD dwShowTick;

dwShowTick = GetTickCount ();

if (GetTickCount () - dwShowTick == 10000)
{
addMessage("10 sec");
}
else if (GetTickCount () - dwShowTick == 20000) // i also puted > 20000 but still not working
{
addMessage("20 sec");
}
 
Последнее редактирование:

-raymond-

Известный
110
9
как узнать ид игрока который отправил пакет?

C++:
bool CALLBACK incomingData(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_BULLET_SYNC)
    {
        stBulletData data;
        memset(&data, 0, sizeof(stBulletData)); // обнуляем
        byte packet;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stBulletData)); // читаем отправляемые данные
        SF->getSAMP()->getChat()->AddChatMessage(0xDFFFFF, "sTargetID: %d", data.sTargetID);
    };
    return true;
};
 

ALF

Известный
Проверенный
320
545
как узнать ид игрока который отправил пакет?

C++:
bool CALLBACK incomingData(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_BULLET_SYNC)
    {
        stBulletData data;
        memset(&data, 0, sizeof(stBulletData)); // обнуляем
        byte packet;
        params->bitStream->ResetReadPointer(); // на всякий случай устанавливаем оффсет чтения на начало
        params->bitStream->Read(packet); // читаем ID пакета
        params->bitStream->Read((PCHAR)&data, sizeof(stBulletData)); // читаем отправляемые данные
        SF->getSAMP()->getChat()->AddChatMessage(0xDFFFFF, "sTargetID: %d", data.sTargetID);
    };
    return true;
};
C++:
bool CALLBACK incomingData(stRakNetHookParams *params)
{
    if (params->packetId == PacketEnumeration::ID_BULLET_SYNC)
    {
        stBulletData data = { 0 };
       
        WORD id;

        params->bitStream->ResetReadPointer();
        params->bitStream->IgnoreBits(8);
        params->bitStream->Read(id);
        params->bitStream->Read((PCHAR)&data, sizeof(stBulletData));
       
        SF->getSAMP()->getChat()->AddChatMessage(0xDFFFFF, "ID: %d", id);
    }
    return true;
}
 

Musaigen

ihatemyself
Проверенный
1,708
1,596
Влияет ли на работоспособность RakNet Хука ResetReadPointer()?
 

checkdasound

Известный
Проверенный
963
416
Как можно сделать активацию чит-кодом помимо проверки на несколько нажатых клавиш?
 

checkdasound

Известный
Проверенный
963
416
Почему при инжекте dll в уже запущенную игру, все работает, а при переименовании в asi, после запуска игры сразу краш.

Код:
#include <windows.h>
#include <process.h>
#include "main.h"

bool pStatus = false;

unsigned int CurrentCharPointer = *(unsigned int*)0xB6F5F0;

void __cdecl func(void *pArg)
{
   *reinterpret_cast<DWORD*>(0x004B35A0) = 0x560CEC83;
   *reinterpret_cast<WORD*>(0x004B35A4) = 0xF18B;
   while (true)
   {
       Sleep(50);
       if (GetAsyncKeyState(0x47))
       {
           pStatus = !pStatus;
           if (pStatus == true)
           {
               AddMessageJumpQ("~g~[ON]", 500, NULL, false); // 500 - ms
           }
           else
           {
               AddMessageJumpQ("~r~[OFF]", 500, NULL, false); // 500 - ms
           }
       }
       if (pStatus == true)
       {
           *reinterpret_cast<BYTE*>(0x96916D) = 1; // bullet
           *reinterpret_cast<BYTE*>(0xB7CEE6) = 1; // fire
           *(unsigned char*)(CurrentCharPointer + 66) = 0xCC; // all
       } else
           {
               *reinterpret_cast<BYTE*>(0x96916D) = 0; // bullet
               *reinterpret_cast<BYTE*>(0xB7CEE6) = 0; // fire
               *(unsigned char*)(CurrentCharPointer + 66) = 0; // all
           }
   }
}

BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ PVOID lpvReserved)
{
   if (fdwReason == DLL_PROCESS_ATTACH)
   {
       _beginthread(func, NULL, nullptr);
   }
   return TRUE;
}

Код:
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0

void AddMessageJumpQ(PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.
{
   ((void(__cdecl *)(PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);
}
 

CleanLegend

Известный
Всефорумный модератор
495
948
Почему при инжекте dll в уже запущенную игру, все работает, а при переименовании в asi, после запуска игры сразу краш.

Код:
#include <windows.h>
#include <process.h>
#include "main.h"

bool pStatus = false;

unsigned int CurrentCharPointer = *(unsigned int*)0xB6F5F0;

void __cdecl func(void *pArg)
{
   *reinterpret_cast<DWORD*>(0x004B35A0) = 0x560CEC83;
   *reinterpret_cast<WORD*>(0x004B35A4) = 0xF18B;
   while (true)
   {
       Sleep(50);
       if (GetAsyncKeyState(0x47))
       {
           pStatus = !pStatus;
           if (pStatus == true)
           {
               AddMessageJumpQ("~g~[ON]", 500, NULL, false); // 500 - ms
           }
           else
           {
               AddMessageJumpQ("~r~[OFF]", 500, NULL, false); // 500 - ms
           }
       }
       if (pStatus == true)
       {
           *reinterpret_cast<BYTE*>(0x96916D) = 1; // bullet
           *reinterpret_cast<BYTE*>(0xB7CEE6) = 1; // fire
           *(unsigned char*)(CurrentCharPointer + 66) = 0xCC; // all
       } else
           {
               *reinterpret_cast<BYTE*>(0x96916D) = 0; // bullet
               *reinterpret_cast<BYTE*>(0xB7CEE6) = 0; // fire
               *(unsigned char*)(CurrentCharPointer + 66) = 0; // all
           }
   }
}

BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ PVOID lpvReserved)
{
   if (fdwReason == DLL_PROCESS_ATTACH)
   {
       _beginthread(func, NULL, nullptr);
   }
   return TRUE;
}

Код:
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0

void AddMessageJumpQ(PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.
{
   ((void(__cdecl *)(PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);
}
Поставь в потоке проверку на загрузку игры
 

NarutoUA

NarutoUA
BH Team
692
1,567
Почему при инжекте dll в уже запущенную игру, все работает, а при переименовании в asi, после запуска игры сразу краш.

Код:
#include <windows.h>
#include <process.h>
#include "main.h"

bool pStatus = false;

unsigned int CurrentCharPointer = *(unsigned int*)0xB6F5F0;

void __cdecl func(void *pArg)
{
   *reinterpret_cast<DWORD*>(0x004B35A0) = 0x560CEC83;
   *reinterpret_cast<WORD*>(0x004B35A4) = 0xF18B;
   while (true)
   {
       Sleep(50);
       if (GetAsyncKeyState(0x47))
       {
           pStatus = !pStatus;
           if (pStatus == true)
           {
               AddMessageJumpQ("~g~[ON]", 500, NULL, false); // 500 - ms
           }
           else
           {
               AddMessageJumpQ("~r~[OFF]", 500, NULL, false); // 500 - ms
           }
       }
       if (pStatus == true)
       {
           *reinterpret_cast<BYTE*>(0x96916D) = 1; // bullet
           *reinterpret_cast<BYTE*>(0xB7CEE6) = 1; // fire
           *(unsigned char*)(CurrentCharPointer + 66) = 0xCC; // all
       } else
           {
               *reinterpret_cast<BYTE*>(0x96916D) = 0; // bullet
               *reinterpret_cast<BYTE*>(0xB7CEE6) = 0; // fire
               *(unsigned char*)(CurrentCharPointer + 66) = 0; // all
           }
   }
}

BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ PVOID lpvReserved)
{
   if (fdwReason == DLL_PROCESS_ATTACH)
   {
       _beginthread(func, NULL, nullptr);
   }
   return TRUE;
}

Код:
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0

void AddMessageJumpQ(PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.
{
   ((void(__cdecl *)(PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);
}
VirtualProtect
 

checkdasound

Известный
Проверенный
963
416