From cbe60ecdfd6c52c7290dbde37f5916e2ec194b50 Mon Sep 17 00:00:00 2001 From: Jackz Date: Mon, 3 May 2021 09:56:53 -0500 Subject: [PATCH] extraplayeritems: Extra checks, add extra kit on pickup --- plugins/l4d2_extraplayeritems.smx | Bin 10033 -> 10086 bytes scripting/l4d2_extraplayeritems.sp | 47 +++++++++++++++++++++-------- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/plugins/l4d2_extraplayeritems.smx b/plugins/l4d2_extraplayeritems.smx index d42ced1b6ccc218687bd43fb5a15463d5c172adb..313e96b5e016937a8fbaa154f4a5f46698449d4c 100644 GIT binary patch delta 9950 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 Ur+O7Kw)Bj73yt;c&W`(k05anP{Qv*} delta 9897 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 Rg1A9kVes+}gmE+B{y(p7)|>zU diff --git a/scripting/l4d2_extraplayeritems.sp b/scripting/l4d2_extraplayeritems.sp index 1d8397e..c67de68 100644 --- a/scripting/l4d2_extraplayeritems.sp +++ b/scripting/l4d2_extraplayeritems.sp @@ -1,16 +1,17 @@ #pragma semicolon 1 #pragma newdecls required -#define DEBUG +//#define DEBUG 0 #define PLUGIN_VERSION "1.0" #define MAX_ENTITY_LIMIT 2000 #include #include +#include #include #include -//#include +//TODO: finale_start public Plugin myinfo = { @@ -23,6 +24,7 @@ public Plugin myinfo = static ConVar hExtraItemBasePercentage, hAddExtraKits, hMinPlayers, hUpdateMinPlayers; static int extraKitsAmount, extraKitsStarted, isFailureRound, abmExtraCount; +static int isBeingGivenKit[MAXPLAYERS+1]; static bool isCheckpointReached, isLateLoaded, firstGiven; /* @@ -171,6 +173,7 @@ public Action Event_PlayerSpawn(Event event, const char[] name, bool dontBroadca if(GetClientTeam(client) == 2) { CreateTimer(0.5, Timer_GiveClientKit, user); } + SDKHook(client, SDKHook_WeaponEquip, Event_Pickup); } @@ -186,6 +189,11 @@ public void OnMapStart() { }else if(!L4D_IsFirstMapInScenario()) { //Re-set value incase it reset. //hMinPlayers.IntValue = abmExtraCount; + }else if(L4D_IsMissionFinalMap()) { + //Add extra kits for finales + int extraKits = GetSurvivorsCount() - 4; + if(extraKits > 0) + extraKitsAmount = extraKits; } if(!isLateLoaded) { CreateTimer(30.0, Timer_AddExtraCounts); @@ -200,15 +208,12 @@ public void EntityOutput_OnStartTouchSaferoom(const char[] output, int caller, i isCheckpointReached = true; int extraPlayers = GetSurvivorsCount() - 4; if(extraPlayers > 0) { - #if defined DEBUG - PrintToConsoleAll("CHECKPOINT REACHED BY %N | EXTRA KITS: %d", client, extraPlayers); - #endif + float averageTeamHP = GetAverageHP(); - if(averageTeamHP <= 30) extraPlayers += extraPlayers; //if perm. health < 30, give an extra 4 on top of the extra - else if(averageTeamHP <= 50) ++extraPlayers; //if the team's average health is less than 50 (permament) then give another + if(averageTeamHP <= 30.0) extraPlayers += extraPlayers; //if perm. health < 30, give an extra 4 on top of the extra + else if(averageTeamHP <= 50.0) ++extraPlayers; //if the team's average health is less than 50 (permament) then give another //Chance to get 1-2 extra kits (might need to be nerfed or restricted to > 50 HP) - if(GetRandomFloat() < 0.5) ++extraPlayers; - if(GetRandomFloat() < 0.2) ++extraPlayers; + if(GetRandomFloat() < 0.3) ++extraPlayers; //If hAddExtraKits TRUE: Append to previous, FALSE: Overwrite @@ -218,11 +223,10 @@ public void EntityOutput_OnStartTouchSaferoom(const char[] output, int caller, i extraKitsAmount = extraPlayers; extraKitsStarted = extraKitsAmount; + PrintToConsoleAll("CHECKPOINT REACHED BY %N | EXTRA KITS: %d", client, extraPlayers); PrintToServer(">>> Player entered saferoom. An extra %d kits will be provided", extraKitsAmount); } - }else if(isCheckpointReached) { - //TODO: Auto give instead on spawn? - } + } } public Action Event_RoundEnd(Event event, const char[] name, bool dontBroadcast) { if(!isFailureRound) isFailureRound = true; @@ -238,6 +242,25 @@ public Action Event_MapTransition(Event event, const char[] name, bool dontBroad abmExtraCount = GetRealSurvivorsCount(); } +public Action Event_Pickup(int client, int weapon) { + if(extraKitsAmount > 0) { + char name[32]; + GetEntityClassname(weapon, name, sizeof(name)); + if(StrEqual(name, "weapon_first_aid_kit", true)) { + if(isBeingGivenKit[client]) { + isBeingGivenKit[client] = false; + return Plugin_Continue; + }else{ + isBeingGivenKit[client] = true; + //FIXME: Runs errors on map transitionining + UseExtraKit(client); + return Plugin_Stop; + } + } + + } + return Plugin_Continue; +} public Action Event_HealFinished(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid"));