из интернета, говорят там все естьОткуда скачать С++?
Создать поток, и в потоковой функции Sleep([время задержки]);Как добавить задержку перед выполнением функции?
Частично неправильно, у него ведь инициализированы указателиPHP:SF->getGame()->convert3DCoordsToScreen(0.0, 0.0, 10.0, &pos[0], &pos[1]);
Вроде должно работатьSF API: вылетает игра при выполнении вот такой штуки:
вылет, даже если смотреть на координаты 0,0,10.PHP:float pos[2]; SF->getGame()->convert3DCoordsToScreen(0.0, 0.0, 10.0, &pos[0], &pos[1]);
Прошу помочь.
Спасибо, но я догадался убрать звездочку сам)Частично неправильно, у него ведь инициализированы указатели
Вроде должно работать
float pos[3];
for (int i = MAX_PLAYERS; i != 0; i--)
{
if (SF->getSAMP()->getPlayers()->GetActorHandleFromSAMPPlayerID(i) == -1) continue;
stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[i];
pos[0] = pPlayer->pPlayerData->fOnFootPos[0];
pos[1] = pPlayer->pPlayerData->fOnFootPos[1];
pos[2] = pPlayer->pPlayerData->fOnFootPos[2];
break;
}
Спасибо, но я догадался убрать звездочку сам)
И еще вопрос из разряда нубо:
крашит игра при выполнении следующего кода:
Может кто помочь?PHP:float pos[3]; for (int i = MAX_PLAYERS; i != 0; i--) // если не ошибаюсь, MAX_PLAYERS = 1004, а не 1000, поэтому лучше for (int i = 0; i<=1000; i++) { if (SF->getSAMP()->getPlayers()->GetActorHandleFromSAMPPlayerID(i) == -1) continue; stRemotePlayer *pPlayer = &SF->getSAMP()->getPlayers()->pRemotePlayer[i]; // вроде так pos[0] = pPlayer->pPlayerData->fOnFootPos[0]; pos[1] = pPlayer->pPlayerData->fOnFootPos[1]; pos[2] = pPlayer->pPlayerData->fOnFootPos[2]; break; // лишнее }
Ошибка 1 error C2440: инициализация: невозможно преобразовать "stRemotePlayer **" в "stRemotePlayer *"
Проверил, возвращает -1.GetActorHandleFromSAMPPlayerID при невалидном игроке возвращает 0, вроде как.
Если ты тут пытаешься получить свои координаты, когда ты пешком, то вот так будет проще:Спасибо, но я догадался убрать звездочку сам)
И еще вопрос из разряда нубо:
крашит игра при выполнении следующего кода:
Может кто помочь?PHP:float pos[3]; for (int i = MAX_PLAYERS; i != 0; i--) { if (SF->getSAMP()->getPlayers()->GetActorHandleFromSAMPPlayerID(i) == -1) continue; stRemotePlayer *pPlayer = SF->getSAMP()->getPlayers()->pRemotePlayer[i]; pos[0] = pPlayer->pPlayerData->fOnFootPos[0]; pos[1] = pPlayer->pPlayerData->fOnFootPos[1]; pos[2] = pPlayer->pPlayerData->fOnFootPos[2]; break; }
Так очевидно что он не свои координаты получить пытаетсяЕсли ты тут пытаешься получить свои координаты, когда ты пешком, то вот так будет проще:
Pos[0] = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.fPosition[0];
Pos[1] = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.fPosition[1];
Pos[2] = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData.fPosition[2];
ну тогдаТак очевидно что он не свои координаты получить пытается
uint32_t null = *(int*)0xB74490;
null += 0x4;
null = *(int*)null;
for (uint32_t one = 0; one < 35584; one += 0x100)
{
uint32_t two = *(byte*)null;
null += 0x1;
if ((two >= 0x00) && (two < 0x80))
{
two += one;
int P_id = SF->getSAMP()->getPlayers()->GetSAMPPlayerIDFromGTAHandle(Ppos_two);
if ((SF->getSAMP()->getPlayers()->IsPlayerDefined(P_id)) && (P_id != SF->getSAMP()->getPlayers()->sLocalPlayerID))
{
if ((SF->getSAMP()->getPlayers()->pRemotePlayer[P_id]->iIsNPC == false) && (SF->getSAMP()->getPlayers()->pRemotePlayer[P_id]->pPlayerData->iAFKState != 2))
{
CVector result;
typedef void(__thiscall *CPed__getBonePositionWithOffset) (void *_this, CVector *offset, int bodeId, bool includeAnim);
(CPed__getBonePositionWithOffset(0x5E01C0))(SF->getSAMP()->getPlayers()->pRemotePlayer[P_id]->pPlayerData->pSAMP_Actor->pGTA_Ped, &result, 1, true);
//resul.fX, resul.fY и resul.fZ - координаты игрока. Чекает пешком и в машине
}
}
}
}