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

Blood

Известный
45
1
Получить хм можно проще.
C++:
PEDSELF->GetHealth();
SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.byteHealth;
А что бы надпись проекта не пропадала измени ID текстдрава на любой другой.
C++:
SF->getSAMP()->getInfo()->pPools->pTextdraw->Create(1234, &txd, buf);
cталo oтриcoвoваться, нo все равнo на пoлocке, какая тo чертoчка
PHP:
void CALLBACK draws(std::string param)
{
    act ^= true;
    if(act)
    {
    txd.fLetterHeight = 0.2f;
    txd.fLetterWidth = 0.5f;
    txd.fX = 582.0f;
    txd.fY = 69.0f;
    txd.byteOutline = 1;
    txd.dwLetterColor = ((255 & 0xff) << 24) + ((250 & 0xff) << 16) + ((250 & 0xff) << 8) + (255 & 0xff);
    }
    char numc[228] = { SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.byteHealth };
   
    SF->getSAMP()->getInfo()->pPools->pTextdraw->Create(1234, &txd, numc);

}
 

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
cталo oтриcoвoваться, нo все равнo на пoлocке, какая тo чертoчка
PHP:
void CALLBACK draws(std::string param)
{
    act ^= true;
    if(act)
    {
    txd.fLetterHeight = 0.2f;
    txd.fLetterWidth = 0.5f;
    txd.fX = 582.0f;
    txd.fY = 69.0f;
    txd.byteOutline = 1;
    txd.dwLetterColor = ((255 & 0xff) << 24) + ((250 & 0xff) << 16) + ((250 & 0xff) << 8) + (255 & 0xff);
    }
    char numc[228] = { SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.byteHealth };
  
    SF->getSAMP()->getInfo()->pPools->pTextdraw->Create(1234, &txd, numc);

}
С текстдравами никто на сф апи не работает считай, ведь для таких целей есть рендер.
blast.hk/wiki
 

Rjx13

Известный
Проверенный
224
160
Как сделать корректный перевод D3DCOLOR в ImVec4?
Если использовать данный код, то некоторые цвета искажаются на совершенно на другие

Код:
ImGui::TextColored(ImGui::ColorConvertU32ToFloat4(SF->getSAMP()->getPlayers()->GetPlayerColor(i)), SF->getSAMP()->getPlayers()->GetPlayerName(i));
 

Cookie doge

Новичок
24
8
Правильно получаю инфу об игроке?
Код:
 stRemotePlayer *actorinfo = SF->getSAMP()->getPlayers()->pRemotePlayer[id];
Для
Код:
CPed* Ped = GAME->GetPools()->GetPed((DWORD*)actorInfo);
 

CleanLegend

Известный
Всефорумный модератор
476
928
Правильно получаю инфу об игроке?
Код:
 stRemotePlayer *actorinfo = SF->getSAMP()->getPlayers()->pRemotePlayer[id];
Для
Код:
CPed* Ped = GAME->GetPools()->GetPed((DWORD*)actorInfo);
C++:
SF->getSAMP()->getPlayers()->pRemotePlayer[id]->pPlayerData->pSAMP_Actor->pGTA_Ped
 
  • Нравится
Реакции: Cookie doge

Cookie doge

Новичок
24
8
C++:
SF->getSAMP()->getPlayers()->pRemotePlayer[id]->pPlayerData->pSAMP_Actor->pGTA_Ped
Screenshot_4.png
 

Cookie doge

Новичок
24
8
В чем может быть проблема? Грешу на CVector vPos[15];
При вводе кмд крашит.
Код:
bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
    if (SUCCEEDED(SF->getRender()->BeginRender()) && act)
    {
        actor_info *actorInfo = SF->getSAMP()->getPlayers()->pRemotePlayer[id]->pPlayerData->pSAMP_Actor->pGTA_Ped;
        CPed* Ped = GAME->GetPools()->GetPed((DWORD*)actorInfo);

        float posX[15], posY[15];
        int counter = 0;

        CVector vPos[15];

        for (int i = 1; i <= 53; i++)
        {
            switch (i)
            {
            case 1:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 3:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 4:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 5:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 6:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 22:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 23:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 25:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 32:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 33:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 35:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 42:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 43:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 52:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 53:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            }

        }

        for (int i = 0; i <= 14; i++) SF->getGame()->convert3DCoordsToScreen(vPos[i].fX, vPos[i].fY, vPos[i].fZ, &posX[i], &posY[i]);

        SF->getRender()->DrawLine(posX[0], posY[0], posX[1], posY[1], 2, 0xFFFFFFFF);
        SF->getRender()->DrawLine(posX[0], posY[0], posX[11], posY[11], 2, 0xFFFFFFFF);
        SF->getRender()->DrawLine(posX[0], posY[0], posX[13], posY[13], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[1], posY[1], posX[2], posY[2], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[2], posY[2], posX[5], posY[5], 2, 0xFFFFFFFF);
        SF->getRender()->DrawLine(posX[2], posY[2], posX[8], posY[8], 2, 0xFFFFFFFF);
        SF->getRender()->DrawLine(posX[2], posY[2], posX[3], posY[3], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[3], posY[3], posX[4], posY[4], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[5], posY[5], posX[6], posY[6], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[6], posY[6], posX[7], posY[7], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[8], posY[8], posX[9], posY[9], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[9], posY[9], posX[10], posY[10], 2, 0xFFFFFFFF);
      


        SF->getRender()->EndRender();
    };
    return true;
};
 

Revalto

Известный
532
225
В чем может быть проблема? Грешу на CVector vPos[15];
При вводе кмд крашит.
Код:
bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
    if (SUCCEEDED(SF->getRender()->BeginRender()) && act)
    {
        actor_info *actorInfo = SF->getSAMP()->getPlayers()->pRemotePlayer[id]->pPlayerData->pSAMP_Actor->pGTA_Ped;
        CPed* Ped = GAME->GetPools()->GetPed((DWORD*)actorInfo);

        float posX[15], posY[15];
        int counter = 0;

        CVector vPos[15];

        for (int i = 1; i <= 53; i++)
        {
            switch (i)
            {
            case 1:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 3:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 4:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 5:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 6:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 22:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 23:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 25:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 32:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 33:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 35:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 42:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 43:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 52:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            case 53:
                Ped->GetTransformedBonePosition((eBone)i, &vPos[counter]);
                counter++;
            }

        }

        for (int i = 0; i <= 14; i++) SF->getGame()->convert3DCoordsToScreen(vPos[i].fX, vPos[i].fY, vPos[i].fZ, &posX[i], &posY[i]);

        SF->getRender()->DrawLine(posX[0], posY[0], posX[1], posY[1], 2, 0xFFFFFFFF);
        SF->getRender()->DrawLine(posX[0], posY[0], posX[11], posY[11], 2, 0xFFFFFFFF);
        SF->getRender()->DrawLine(posX[0], posY[0], posX[13], posY[13], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[1], posY[1], posX[2], posY[2], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[2], posY[2], posX[5], posY[5], 2, 0xFFFFFFFF);
        SF->getRender()->DrawLine(posX[2], posY[2], posX[8], posY[8], 2, 0xFFFFFFFF);
        SF->getRender()->DrawLine(posX[2], posY[2], posX[3], posY[3], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[3], posY[3], posX[4], posY[4], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[5], posY[5], posX[6], posY[6], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[6], posY[6], posX[7], posY[7], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[8], posY[8], posX[9], posY[9], 2, 0xFFFFFFFF);

        SF->getRender()->DrawLine(posX[9], posY[9], posX[10], posY[10], 2, 0xFFFFFFFF);
     


        SF->getRender()->EndRender();
    };
    return true;
};
в case уже не надо использовать break ?
 
  • Нравится
Реакции: Cookie doge

CleanLegend

Известный
Всефорумный модератор
476
928