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

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Stiopko

Известный
Проверенный
307
218
Так же как и обычный текст в диалоге, каждый пункт листбокса разделён \n
upload_2019-2-19_20-21-53.png

CSTRING шо ето?
Раклоггер?
25442
 

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
struct stSAMPDialog
{
    int iIsActive;
    BYTE bDialogStyle;
    WORD wDialogID;
    BYTE bTitleLength;
    char szTitle[257];
    BYTE bButton1Len;
    char szButton1[257];
    BYTE bButton2Len;
    char szButton2[257];
    char szInfo[257];
};
bool __stdcall InRPC(stRakNetHookParams *hook)
{
    if (hook->packetId == RPC_ScrShowDialog)
    {   
        stSAMPDialog sampDialog;
        hook->bitStream->Read(sampDialog.wDialogID);
        hook->bitStream->Read(sampDialog.bDialogStyle);
        hook->bitStream->Read(sampDialog.bTitleLength);
        hook->bitStream->Read(sampDialog.szTitle, sampDialog.bTitleLength);
        sampDialog.szTitle[sampDialog.bTitleLength] = 0;
        hook->bitStream->Read(sampDialog.bButton1Len);
        hook->bitStream->Read(sampDialog.szButton1, sampDialog.bButton1Len);
        sampDialog.szButton1[sampDialog.bButton1Len] = 0;
        hook->bitStream->Read(sampDialog.bButton2Len);
        hook->bitStream->Read(sampDialog.szButton2, sampDialog.bButton2Len);
        sampDialog.szButton2[sampDialog.bButton2Len] = 0;
        SF->getRakNet()->DecodeString(sampDialog.szInfo, 400, hook->bitStream);
        // Твой код
    }
    return true;
}
// в инициализацию mainloop`a
SF->getRakNet()->registerRakNetCallback(RAKHOOK_TYPE_INCOMING_RPC, InRPC);
 
  • Нравится
Реакции: VRush, Cake_ и Stiopko

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Как взять ИД из ника?
Типа: Nick[12], смс выхукал, а вот ид?
C++:
char *ptr = strchr(строка, '['); if (ptr != nullptr) // то удаляешь этот символ на найденой позиции и ищешь ']' - итог у тебя две позиции в строке, читаешь текст между ними, вуаля
 
Последнее редактирование:

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код:
void __stdcall mainloop()
{
    static bool initialized = false;
    if (!initialized)
    {
        if (GAME && GAME->GetSystemState() == eSystemState::GS_PLAYING_GAME && SF->getSAMP()->IsInitialized())
        {
            initialized = true;
            CMD();
        }
    }

    if (SF->getGame()->isKeyPressed(VK_F11))
    {
        SF->getSAMP()->getChat()->SetChatInputText("test");
        SF->getSAMP()->getInput()->EnableInput();
    }
}
Создай новый поток и перенеси туда проверку нажатия, добавь задержку в 75 мс и всё заработает.
 

Musaigen

abobusnik
Проверенный
1,581
1,300
Считается ли варнинг "C4244: A: преобразование B в C, возможна потеря данных" опасным?
 

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

petuch228

Новичок
82
2
Крашит. Что не так?
Код:
int getCar()
{
    for (int i = 1; i < 2001; i++)
    {
        int handle = SF->getSAMP()->getVehicles()->GetCarHandleFromSAMPCarID(i);
        if (handle != -1)
        {
            float Vspeed[3];
            int car = SF->getSAMP()->getVehicles()->GetSAMPVehicleIDFromGTAHandle(handle);
            struct vehicle_info *pVehicle = SF->getGame()->vehicleInfoGet(car, 0);
            Vspeed[0] = pVehicle->speed[0];
            Vspeed[1] = pVehicle->speed[1];
            Vspeed[2] = pVehicle->speed[2];
            float speed = sqrtf(Vspeed[0] * Vspeed[0] + Vspeed[1] * Vspeed[1] + Vspeed[2] * Vspeed[2]) * 100;
            if (speed == 0.0f) return car;
           
        }
    }
    return -1;
}
 

ЯedЯuM

Malware Maker
244
304
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Крашит. Что не так?
Код:
int getCar()
{
    for (int i = 1; i < 2001; i++)
    {
            if (!SF->getSAMP()->getVehicles()->iIsListed[i] || !SF->getSAMP()->getVehicles()->iIsListed2[i]) continue;
            float Vspeed[3];
            vehicle_info *pVehicle = SF->getSAMP()->getVehicles()->pSAMP_Vehicle[i]->pGTA_Vehicle;
            if (pVehicle == nullptr) continue;
            Vspeed[0] = pVehicle->speed[0];
            Vspeed[1] = pVehicle->speed[1];
            Vspeed[2] = pVehicle->speed[2];
            float speed = sqrtf(Vspeed[0] * Vspeed[0] + Vspeed[1] * Vspeed[1] + Vspeed[2] * Vspeed[2]) * 100;
            if (speed == 0.0f) return car;          
    }
    return -1;
}
 
  • Нравится
Реакции: SiTrak и petuch228