Skip to content

Commit 0b6f351

Browse files
committed
Optimize viewer rate management when using RequestFrame in OnTeamChange
1 parent e14e550 commit 0b6f351

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

-16 Bytes
Binary file not shown.

addons/sourcemod/scripting/specrates.sp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,16 @@ public void OnClientPutInServer(int client)
132132

133133
void OnTeamChange(Event event, const char[] name, bool dontBroadcast)
134134
{
135-
int client = GetClientOfUserId(event.GetInt("userid"));
136-
CreateTimer(10.0, TimerAdjustRates, client, TIMER_FLAG_NO_MAPCHANGE);
135+
RequestFrame(OnNextFrame_AdjustRates, event.GetInt("userid"));
137136
}
138137

139-
Action TimerAdjustRates(Handle timer, any client)
138+
void OnNextFrame_AdjustRates(any userid)
140139
{
140+
int client = GetClientOfUserId(userid);
141+
if (!IsValidClient(client))
142+
return;
143+
141144
AdjustRates(client);
142-
return Plugin_Handled;
143145
}
144146

145147
public void OnClientSettingsChanged(int client)

0 commit comments

Comments
 (0)