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

FordeD

Участник
98
11
ошибка fPos ни в какую не хочет инициализироваться. В чем беда?
C++:
    char buf[128];
    if (param.empty())
    {
        sprintf(buf, "[COORDINATOR]            Вы не указали квадрат поиска!");
        return;
    }
    char square = std::stoi(param);
   
    switch (square)
    {
    case 'A1':
    {
        sprintf(buf, "[COORDINATOR]            Квадрат поиска [%d] указан на вашем GPS", square);
        CVector *fPos = { 12.0, 13.2 };
        GAME->Get3DMarkers()->CreateMarker(square, MARKER3D_TUBE, fPos, 40.0, 1.0, 3, 52, 227, 255);
        SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
        break;
    }
 

Dark_Knight

Me, me and me.
Друг
4,065
2,079
CVector fPos = { 12.0, 13.2 , 0.0 };
GAME->Get3DMarkers()->CreateMarker(square, MARKER3D_TUBE, &fPos, 40.0, 1.0, 3, 52, 227, 255);
 

FordeD

Участник
98
11
CVector fPos = { 12.0, 13.2 , 0.0 };
GAME->Get3DMarkers()->CreateMarker(square, MARKER3D_TUBE, &fPos, 40.0, 1.0, 3, 52, 227, 255);

Исправил. подкорректировал, закомпилил и как-то виснет при введении значений находящихся в свиче
опять где-то косяк ...


C++:
void CALLBACK cmd_get_player_square(std::string param)
{
    char buf[128];
    char buk;
    int chisl;
    if (param.empty())
    {
        SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "[COORDINATOR]/t/t/tВы не указали квадрат поиска! (( /coord [Буква] [число] ))");
        return;
    }
    sscanf(param.c_str(), "%d %d", &buk, &chisl);
    char square = std::stoi(param);
    switch (buk)
    {
        case 'A':
        {
            switch (chisl)
            {
                case '1':
                {
                    SF->getSAMP()->getChat()->AddChatMessage(D3DCOLOR_XRGB(0, 0xAA, 0), "[COORDINATOR]/t/t/tКвадрат поиска [%d-%d] указан на вашем GPS", buk, chisl);
                    CVector fPos = { 12.0, 13.2 , 0.0 };
                    GAME->Get3DMarkers()->CreateMarker(square, MARKER3D_TUBE, &fPos, 40.0, 1.0, 3, 52, 227, 255);
                    SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
                    break;
                }
                default:
                {
                    sprintf(buf, "[COORDINATOR]/t/t/tКвадрат поиска [%d-%d] не находится в базе", buk, chisl);
                    SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
                }
            }
        }
        default:
        {
            sprintf(buf, "[COORDINATOR]/t/t/tКвадрат поиска [%d-%d] не находится в базе", buk, chisl);
            SF->getSAMP()->getChat()->AddChatMessage(-1, buf);
        }
    }
}
 

leonard228

Новичок
35
1
Памаги, почему не робит?
void CALLBACK cmd_uron(std::string str)
{
if (str.empty()) return;
int i = std::stoi(str);

CVector *vect1;
stBulletData sync; // обьявляем
memset(&sync, 0, sizeof(stBulletData)); // очищаем

sync.byteType = 1; // обычная пуля
sync.byteWeaponID = 24; // ид дигла

for (byte a = 0; a < 3; a++) sync.fCenter[a] = 0.5;
sync.fOrigin[0] = PEDSELF->GetPosition()->fX;
sync.fOrigin[1] = PEDSELF->GetPosition()->fY;
sync.fOrigin[2] = PEDSELF->GetPosition()->fZ;
vect1->fX = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.fPosition[0];
vect1->fY = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.fPosition[1];
vect1->fZ = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.fPosition[2];
sync.fTarget[0] = vect1->fX;
sync.fTarget[1] = vect1->fY;
sync.fTarget[2] = vect1->fZ;
sync.sTargetID = i;

BitStream bsBulletSync;
bsBulletSync.Write((BYTE)ID_BULLET_SYNC);
bsBulletSync.Write((PCHAR)&sync, sizeof(stBulletData));
SF->getRakNet()->SendPacket(&bsBulletSync);

}
 

SR_team

like pancake
BH Team
4,720
6,372
0x609CF9 как можно хукнуть данный адрес?
gta_sa.exe+209CF9 - 85 C9 - test ecx,ecx
если надо убрать эту проверку, то можно просто занопить. Сама функция, если хочешь хукать всю функцию, начинается с gta_sa.exe+209CD0

P.S. Или ты вообще не в курсе что такое хуки?