diff --git a/src/hooks/CreateMove.cpp b/src/hooks/CreateMove.cpp index 7ae2c67f..15e420af 100644 --- a/src/hooks/CreateMove.cpp +++ b/src/hooks/CreateMove.cpp @@ -358,13 +358,16 @@ bool CreateMove_hook(void* thisptr, float inputSample, CUserCmd* cmd) { // TODO Auto Steam Friend - if (g_GlobalVars->framecount % 1000 == 0) { +#if IPC_ENABLED + { PROF_SECTION(CM_playerlist); -// playerlist::DoNotKillMe(); -#ifdef IPC_ENABLED - ipc::UpdatePlayerlist(); -#endif + static Timer ipc_update_timer {}; + // playerlist::DoNotKillMe(); + if (ipc_update_timer.test_and_set(1000 * 10)) { + ipc::UpdatePlayerlist(); + } } +#endif *bSendPackets = true; diff --git a/src/ipc.cpp b/src/ipc.cpp index 1622f8c8..3d4f2953 100644 --- a/src/ipc.cpp +++ b/src/ipc.cpp @@ -170,13 +170,13 @@ void StoreClientData() { strncpy(data.name, g_ISteamFriends->GetPersonaName(), sizeof(data.name)); } -static CatVar fbPlayUpdate(CV_SWITCH, "fb_auto_playerlist", "1", "Assign State", "Automaticly assign playerstates for bots"); +static CatVar ipc_update_list(CV_SWITCH, "ipc_update_list", "1", "IPC Auto-Ignore", "Automaticly assign playerstates for bots"); void UpdatePlayerlist() { - if (peer && fbPlayUpdate) { + if (peer && ipc_update_list) { for (unsigned i = 1; i < cat_ipc::max_peers; i++) { if (!peer->memory->peer_data[i].free) { playerlist::userdata& info = playerlist::AccessData(peer->memory->peer_user_data[i].friendid); - if (info.state != playerlist::k_EState::DEFAULT) + if (info.state == playerlist::k_EState::DEFAULT) info.state = playerlist::k_EState::IPC; } }