Другое SAMPFUNCS | API C++

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,262
1,752
Как узнать свой Score адресом памяти?
это лишь пример, на деле получать адрес samp.dll, pSAMPInfo, pSAMPPools и pPlayerPool желательно глобально
p.s. код кстати дерьмо, можно было в разы лучше
C++:
int GetPlayerScore()
{
    DWORD dwSAMPAddr = (DWORD)GetModuleHandle("samp.dll");
    if (!dwSAMPAddr)
        return -1;

    DWORD* pSAMPInfo = (DWORD*)(dwSAMPAddr + 0x21A0F8);
    if (pSAMPInfo == nullptr)
        return -1;

    DWORD* pSAMPPools = (DWORD*)(*pSAMPInfo + 0x3CD);
    if (pSAMPPools == nullptr)
        return -1;

    DWORD* pPlayerPool = (DWORD*)(*pSAMPPools + 0x18);
    if (pPlayerPool == nullptr)
        return -1;

    DWORD* pLocalPlayerScore = (DWORD*)(*pPlayerPool + 0x2A);
    if (pLocalPlayerScore == nullptr)
        return -1;

    return *pLocalPlayerScore;
}
 
Последнее редактирование:

Vadim.dll

Известный
168
81
это лишь пример, на деле получать адрес samp.dll, pSAMPInfo, pSAMPPools и pPlayerPool желательно глобально
p.s. код кстати дерьмо, можно было в разы лучше
C++:
int GetPlayerScore()
{
    DWORD dwSAMPAddr = (DWORD)GetModuleHandle("samp.dll");
    if (!dwSAMPAddr)
        return -1;

    DWORD* pSAMPInfo = (DWORD*)(dwSAMPAddr + 0x21A0F8);
    if (pSAMPInfo == nullptr)
        return -1;

    DWORD* pSAMPPools = (DWORD*)(*pSAMPInfo + 0x3CD);
    if (pSAMPPools == nullptr)
        return -1;

    DWORD* pPlayerPool = (DWORD*)(*pSAMPPools + 0x18);
    if (pPlayerPool == nullptr)
        return -1;

    DWORD* pLocalPlayerScore = (DWORD*)(*pPlayerPool + 0x2A);
    if (pLocalPlayerScore == nullptr)
        return -1;

    return *pLocalPlayerScore;
}
Спасибо!!!!!!
 

Woofing Giraffe

Активный
402
49
K9PyCknLZbQ.jpg

В чём причина? Не могу поменять выходной каталог
 

Vadim.dll

Известный
168
81
Как поставить хук на адрес сампа?
Вот на этот допустим #define SAMP_HOOKENTER_STATECHANGE 0x12B82
 

Dark_Knight

Me, me and me.
Друг
4,085
2,114
У меня такая же фигня и кстати я русский язык поставил но ошибка на английском всеровно
Вот это дописать надо и будет все нормально. Так можно вписать вручную это. Находите "название проекта.vcxproj" и во вкладке "PropertyGroup Label="Globals" вписываешь это
"<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>"
 

Vadim.dll

Известный
168
81
Вот это дописать надо и будет все нормально. Так можно вписать вручную это. Находите "название проекта.vcxproj" и во вкладке "PropertyGroup Label="Globals" вписываешь это
"<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>"
Спасибо!
А что на счет хука?