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

Chilim

Потрачен
71
6
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пробуй это
SF->getSAMP()->getPlayers()->pRemotePlayer[id]->pPlayerData->fOnFootPos

либо

pos[0] = SF->getSAMP()->getPlayers()->pRemotePlayer[id]->pPlayerData->pSAMP_Actor->pGTA_Ped->base.matrix[4 * 3];
pos[1] = SF->getSAMP()->getPlayers()->pRemotePlayer[id]->pPlayerData->pSAMP_Actor->pGTA_Ped->base.matrix[4 * 3 + 1];
pos[2] = SF->getSAMP()->getPlayers()->pRemotePlayer[id]->pPlayerData->pSAMP_Actor->pGTA_Ped->base.matrix[4 * 3 + 2];
спасиб большое,а не подскажешь как сделать чтоб он телепортировался по координатам игрока?
 

Z3roKwq

Известный
290
154
Если я буду использовать sf api r1, на сампфункс 5.5.0, все будет работать? Или у сф 5.5.0 нету обратной совместимости
 

Yayachana)

Известный
33
10
спасиб большое,а не подскажешь как сделать чтоб он телепортировался по координатам игрока?
PEDSELF->Teleport(x, y, z);
В твоём случае вместо x -> pos[0] и т.д.

Если синхрой надо, поищи в полезных функциях или в целом поиском по сайту
 

N08I40K

Известный
223
107
Всем ку, подскажите пожалуйста как отправить Unoccupied синхру изменённым мувспидом, именно отправить новый пакет, а не перехватить и подменить значения. Я пытался сделать, но почему-то пропадала машина, мой перс и звук для других игроков в зоне стрима (впринципе мб рабочий инвиз, и то не факт что работает на других серверах, потому что тестил на сервере Криптона)
 

horacy

Известный
110
97
почему этот код показывает неправильный идентификатор автомобиля:
65535? Как это исправить?

C++:
    DWORD p, p1, carid;
    BYTE veh;
    p = *(DWORD*)0xB74494 + 0x4;
    p1 = *(DWORD*)p;
    for (int i = 0; i < 27904; i += 0x100) {
        veh = *(DWORD*)p1;
        p1 += 0x1;
        if (veh >= 0 && 0x80 > veh) {
            DWORD carid = (veh + i);
            //got the car?
        }
    }

    struct vehicle_info *vinfo = vehicle_info_get(carid, 0);
    int vid;
    vid = getSAMPVehicleIDFromGTAVehicle(vinfo);
    addMessageToChatWindow("vehid %d ", vid);
 

Yayachana)

Известный
33
10
почему этот код показывает неправильный идентификатор автомобиля:
65535? Как это исправить?

C++:
    DWORD p, p1, carid;
    BYTE veh;
    p = *(DWORD*)0xB74494 + 0x4;
    p1 = *(DWORD*)p;
    for (int i = 0; i < 27904; i += 0x100) {
        veh = *(DWORD*)p1;
        p1 += 0x1;
        if (veh >= 0 && 0x80 > veh) {
            DWORD carid = (veh + i);
            //got the car?
        }
    }

    struct vehicle_info *vinfo = vehicle_info_get(carid, 0);
    int vid;
    vid = getSAMPVehicleIDFromGTAVehicle(vinfo);
    addMessageToChatWindow("vehid %d ", vid);

@:
    for (int i = 0; i < SAMP_MAX_VEHICLES; i++)
    {
        auto vehicle = SF->getSAMP()->getInfo()->pPools->pVehicle->pGTA_Vehicle[i];
        if (vehicle != nullptr)
         auto vid = SF->getSAMP()->getVehicles()->GetSAMPVehicleIDFromGTAHandle(SF->getSAMP()->getVehicles()->GetCarHandleFromSAMPCarID(i));
    }
 

horacy

Известный
110
97
@:
    for (int i = 0; i < SAMP_MAX_VEHICLES; i++)
    {
        auto vehicle = SF->getSAMP()->getInfo()->pPools->pVehicle->pGTA_Vehicle[i];
        if (vehicle != nullptr)
         auto vid = SF->getSAMP()->getVehicles()->GetSAMPVehicleIDFromGTAHandle(SF->getSAMP()->getVehicles()->GetCarHandleFromSAMPCarID(i));
    }
нет определения "SF". Код функции пишет в mod_sa для samp 0.3dl
 

Chilim

Потрачен
71
6
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Добрый вечер,подскажите пожалуйста как сделать проверку что машина в зоне стрима?
 

MeG@LaDo[N] ^_^

Известный
280
322
Всем ку, подскажите пожалуйста как отправить Unoccupied синхру изменённым мувспидом, именно отправить новый пакет, а не перехватить и подменить значения. Я пытался сделать, но почему-то пропадала машина, мой перс и звук для других игроков в зоне стрима (впринципе мб рабочий инвиз, и то не факт что работает на других серверах, потому что тестил на сервере Криптона)
недостаточно записывать только мув спид,нужно еще fPosition,fDirection,fRoll,byteSeatID,fHealth,sVehicleID
 

N08I40K

Известный
223
107
недостаточно записывать только мув спид,нужно еще fPosition,fDirection,fRoll,byteSeatID,fHealth,sVehicleID
Я знаю.... Я записывал. Да даже если мувспид не изменять, просто позицию подменить на 2 метра вверх. Ничего не происходит (на аризоне. На сервере криптона машина вообще исчезает.)
Да впринципе уже не надо, я забросил данное из-за некоторых нерешаемых проблем.
 

Chilim

Потрачен
71
6
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет,подскажите как перевести игровые координаты в экранные?
 
  • Нравится
Реакции: Z3roKwq

Fiksae

Потрачен
26
10
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
  • Нравится
Реакции: Vintik