- 1,398
- 747
sampfuncs 5.5.1
Я забадался, не знаю как проверить, находится ли игрок на экране, или нет, подскажите пожалуйста
Ошибок в этом коде компилятор не находит, но при запуске функции - крашит игру, не знаю как правильно найти педа
проблема в строчках 11-14
Я забадался, не знаю как проверить, находится ли игрок на экране, или нет, подскажите пожалуйста
Ошибок в этом коде компилятор не находит, но при запуске функции - крашит игру, не знаю как правильно найти педа
проблема в строчках 11-14
C++:
for (int i = 0; i <= SF->getSAMP()->getPlayers()->maxPlayerID; i++) {
if (SF->getSAMP()->getPlayers()->IsPlayerDefined(i, true)) {
D3DCOLOR player_color = SF->getSAMP()->getPlayers()->GetPlayerColor(i);
OnFootData* foot = SF->getSAMP()->getPlayers()->GetOnFootData(i);
CVector player_original = { foot->position[0], foot->position[1], foot->position[2] };
CVector my_pos = *PEDSELF->GetPosition();
CVector player_converted;
CVector my_converted;
SF->getGame()->convert3DCoordsToScreen(player_original.fX, player_original.fY, player_original.fZ, &player_converted.fX, &player_converted.fY);
SF->getGame()->convert3DCoordsToScreen(my_pos.fX, my_pos.fY, my_pos.fZ, &my_converted.fX, &my_converted.fY);
actor_info* actor = SF->getSAMP()->getPlayers()->remotePlayersInfo.remotePlayer[i]->data->sampActor->gtaPed;
if (actor != nullptr) {
CPed* Ped = GAME->GetPools()->GetPed((DWORD*)actor);
if (Ped->IsOnScreen())
SF->getRender()->DrawLine(my_converted.fX, my_converted.fY, player_converted.fX, player_converted.fY, 1, (player_color & 0x00FFFFFF) | (255 << 24));
}
}
}