Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
CreateThread( NULL , 0 , ( LPTHREAD_START_ROUTINE ) SendSync , NULL , 0 , 0 ); //mainloop
bool thread = false; // один из костылей
void SendSync()
{
thread = true;
if( !isincar)
{
stOnFootData sync;
memset( &sync , 0 , sizeof( stOnFootData ) );
sync = sampfuncs->getSAMP()->getPlayers()->pLocalPlayer->onFootData;
for( int i = 0; i <= 2; i++ )
{
sync.fPosition[ i ] = g_c[i];
}
sync.fPosition[ 0 ] -= 0.5f;
sync.fPosition[ 2 ] += 0.5f;
BitStream bsActorSync;
bsActorSync.Write( ( BYTE ) ID_PLAYER_SYNC );
bsActorSync.Write( ( PCHAR ) &sync , sizeof( stOnFootData ) );
sampfuncs->getRakNet()->SendPacket( &bsActorSync );
}
std::this_thread::sleep_for( 10ms ); // или просто Sleep, не важно
if( !isincar )
localplayer->ForceSendOnfootSync();
thread = false;
}
C++:
bool Driving( int PlayerID )
{
if( PlayerID == ACTOR_SELF ) PlayerID = SF->getSAMP()->getPlayers()->sLocalPlayerID;
int state;
if( PlayerID == SF->getSAMP()->getPlayers()->sLocalPlayerID )
state = SF->getSAMP()->getPlayers()->pLocalPlayer->pSAMP_Actor->pGTA_Ped->state;
else
state = SF->getSAMP()->getPlayers()->pRemotePlayer[ PlayerID ]->pPlayerData->pSAMP_Actor->pGTA_Ped->state;
if( state == 50 )
return true;
else
return false;
};
// by srteam
isincar = Driving( ACTOR_SELF );
// нахуя это надо? - без этой хуйни будет ошибка в одной из структур педа(тоже рандомно)
и в итоге у меня этот поток ебучий срабатывает рандомное количество раз, далее идет краш с какой то неебической ошибкой
p.s поток стартуется 1 раз, проверка на то что поток уже существует есть
и кароче я тут накостылил все что возможно, и всеравно ошибка , и дебаггер не может ее показать, весь прикол в том что если я не буду делать поток - ошибок не будет вообще, все работает без ошибок и крашей, создаю поток - начинается пиздец с рандомными ошибками.
но без потока я не смогу использовать sleep(будут подвисания).
объясняю что хочу сделать:
1. проверки на обьекты(цикл)
2. если обьект подходит по позиции(к примеру)
3. тп к этому обьекту
4. задержка 5 мс(это важно)
5. форс отправки синхры(она нопится заранее)
6. пункт 1
Последнее редактирование: