Пишу свой DLL для сампа, используя Open-SAMP-API-master, появилась нужда получать Ped игроков в зоне стрима, чтобы в дальнейшем через них получить координаты и т.д.
Изучал, как это реализовано в собейте/SFPlugin - там используются структуры вроде actor_info, PlayerPool, remotePlayerData и т.д, и все это так запутано, что с моим мелким опытом сложно найти, что с чем связано, и где вообще начало и конец :(..
В Open-SAMP-API-master я так понял используется вообще другая технология: Serializer, PipeMessage, PipeClient/Server.
Но GetPlayerNameByID это там единственная функция такого рода - по работе с другими игроками.
Есть ли какой-нибудь простой/короткий метод получения PED игроков ( или на тех же структурах, но более комплексно)?
Изучал, как это реализовано в собейте/SFPlugin - там используются структуры вроде actor_info, PlayerPool, remotePlayerData и т.д, и все это так запутано, что с моим мелким опытом сложно найти, что с чем связано, и где вообще начало и конец :(..
В Open-SAMP-API-master я так понял используется вообще другая технология: Serializer, PipeMessage, PipeClient/Server.
Код:
// SAMPFunctions.cpp
int Client::SAMPFunctions::GetPlayerNameByID(int id, char *&playername, int max_len)
{
SERVER_CHECK(0)
Utils::Serializer serializerIn, serializerOut;
serializerIn << Shared::PipeMessages::GetPlayerNameByID << id;
if (Utils::PipeClient(serializerIn, serializerOut).success())
{
std::string out;
serializerOut >> out;
if (!out.length())
return 0;
strcpy_s(playername, max_len, out.c_str());
return 1;
}
return 0;
}
Есть ли какой-нибудь простой/короткий метод получения PED игроков ( или на тех же структурах, но более комплексно)?