From 371e993933d313bb00da42a6788d7caf70feec60 Mon Sep 17 00:00:00 2001 From: Jackz Date: Tue, 18 May 2021 21:57:56 -0500 Subject: [PATCH] crescendo control: Cache highest flow --- plugins/l4d2_crescendo_control.smx | Bin 5577 -> 6040 bytes scripting/l4d2_crescendo_control.sp | 58 +++++++++++++--------------- 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/plugins/l4d2_crescendo_control.smx b/plugins/l4d2_crescendo_control.smx index 802951c7bfde70fcb00ae7570239bd3b5a7b1fb1..367b92053d30da161402d3d6d8a1ba3c5ce3a935 100644 GIT binary patch delta 5889 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 F^dGJcO|<|3 delta 5423 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 flowRate[i]) { + flowRate[i] = flow; + } + } + } +} + +//TODO: Cache flow rate every few frames public Action Event_ButtonPress(const char[] output, int entity, int client, float delay) { if(client > 0 && client <= MaxClients) { if(panicStarted) { @@ -90,11 +112,10 @@ stock bool IsActivationAllowed(float flowmax, float threshold) { float totalFlow; for(int i = 1; i <= MaxClients; i++) { if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i)) { - float flow = L4D2Direct_GetFlowDistance(i); - if(flow < flowmax - threshold) { - PrintDebug("Adding %N of flow %f to average", i, flow); + if(flowRate[i] < flowmax - threshold) { + PrintDebug("Adding %N of flow %f to average", i, flowRate[i]); farSurvivors++; - totalFlow += flow; + totalFlow += flowRate[i]; } totalSurvivors++; } @@ -116,40 +137,13 @@ stock float GetAverageFlowBehind(float flowmax) { float totalFlow; for(int i = 1; i <= MaxClients; i++) { if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i)) { - float flow = L4D2Direct_GetFlowDistance(i); survivors++; - totalFlow += flow; + totalFlow += flowRate[i]; } } return totalFlow / survivors; } -//TODO: Improve logic to get "average" flow minimum -stock float GetLowestFlow() { - int lowestClient; - float lowest = -1.0, secondLowest = -1.0; - for(int i = 1; i <= MaxClients; i++) { - if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i)) { - float flow = L4D2Direct_GetFlowDistance(i); - if(flow < lowest || lowest == -1) { - lowestClient = i; - secondLowest = lowest; - lowest = flow; - } - } - } - - for(int i = 1; i <= MaxClients; i++) { - if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i) && lowestClient != i) { - float flow = L4D2Direct_GetFlowDistance(i); - if(flow < secondLowest || secondLowest == -1) { - secondLowest = flow; - } - } - } - PrintDebug("Lowest flow: %f | 2nd lowest: %f", lowest, secondLowest); - return lowest; -} stock void PrintDebug(const char[] format, any ... ) { #if defined DEBUG