This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
YimMenu/BigBaseV2/src/backend/looped/system/update_player_structs.cpp

54 lines
1.2 KiB
C++
Raw Normal View History

2021-05-26 13:17:19 +02:00
#include "backend/looped/looped.hpp"
#include "natives.hpp"
#include "script.hpp"
namespace big
{
static bool busy = false;
void looped::system_update_players()
{
if (busy) return;
busy = true;
2021-07-23 18:06:33 +02:00
int friend_count = 0;
int player_count = 0;
2021-05-26 13:17:19 +02:00
for (Player i = 0; i < 32; i++)
{
if (NETWORK::NETWORK_IS_PLAYER_CONNECTED(i) && i != PLAYER::PLAYER_ID())
{
// if (!g.players[i].is_online) // tell user player joined
2021-05-26 13:33:26 +02:00
g.players[i].id = i;
2021-05-26 13:17:19 +02:00
g.players[i].is_online = true;
int iNetworkHandle[26];
NETWORK::NETWORK_HANDLE_FROM_PLAYER(i, &iNetworkHandle[0], 13);
NETWORK::NETWORK_IS_HANDLE_VALID(&iNetworkHandle[0], 13) && NETWORK::NETWORK_IS_FRIEND(&iNetworkHandle[0]);
2021-07-23 18:06:33 +02:00
if (NETWORK::NETWORK_IS_HANDLE_VALID(iNetworkHandle, 13) && NETWORK::NETWORK_IS_FRIEND(iNetworkHandle))
{
g.players[i].is_friend = true;
friend_count++;
}
else player_count++;
2021-05-26 13:17:19 +02:00
strcpy(g.players[i].name, PLAYER::GET_PLAYER_NAME(i));
}
else
{
g.players[i].is_online = false;
g.players[i].is_friend = false;
}
script::get_current()->yield();
}
2021-07-23 18:06:33 +02:00
g.friend_count = friend_count;
g.player_count = player_count;
2021-05-26 13:17:19 +02:00
busy = false;
}
}