From 58133cabf82ea30d44f0618fc3d49051bbf0a601 Mon Sep 17 00:00:00 2001 From: Jackz Date: Thu, 18 Mar 2021 10:51:21 -0500 Subject: [PATCH] Minor fixes --- plugins/l4d2-info-cmd.smx | Bin 10219 -> 7546 bytes plugins/l4d2_ai_minigun.smx | Bin 9044 -> 9026 bytes plugins/l4d2_extraplayeritems.smx | Bin 9743 -> 10033 bytes scripting/l4d2-info-cmd.sp | 56 +++++--------- scripting/l4d2_ai_minigun.sp | 14 ++-- scripting/l4d2_extraplayeritems.sp | 120 ++++++++++++++++------------- 6 files changed, 93 insertions(+), 97 deletions(-) diff --git a/plugins/l4d2-info-cmd.smx b/plugins/l4d2-info-cmd.smx index 2f24a5898274a96f3edbfbfa191fa48bde3baba2..11c8087f23076b6f203f3688b56bae13b355c8a5 100644 GIT binary patch literal 7546 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 literal 10219 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 AWdHyG delta 8882 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 diff --git a/plugins/l4d2_extraplayeritems.smx b/plugins/l4d2_extraplayeritems.smx index 504e68789b3107bdf708a7fd3a5ab0de8246b824..d42ced1b6ccc218687bd43fb5a15463d5c172adb 100644 GIT binary patch delta 9897 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 Sc|lw+t}t+U2g10SaQ_cagVmn^ delta 9604 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 diff --git a/scripting/l4d2-info-cmd.sp b/scripting/l4d2-info-cmd.sp index 86261b2..6b2fe5b 100644 --- a/scripting/l4d2-info-cmd.sp +++ b/scripting/l4d2-info-cmd.sp @@ -20,8 +20,6 @@ int g_icPlayerManager; //entid -> typically 25 (MaxClients+1) bool g_icHealing[MAXPLAYERS+1]; //state bool g_icBeingHealed[MAXPLAYERS+1]; //state -ConVar g_icCouponCode, g_icCouponCoins; - public Plugin myinfo = { name = PLUGIN_NAME, @@ -52,23 +50,13 @@ public OnPluginStart() FindConVar("z_difficulty").GetString(g_icDifficulty, sizeof(g_icDifficulty)); ConVar ic_gamemode = FindConVar("mp_gamemode"); ic_gamemode.GetString(g_icGamemode, sizeof(g_icGamemode)); - if (ic_gamemode != null) ic_gamemode.AddChangeHook(Event_GamemodeChange); + ic_gamemode.AddChangeHook(Event_GamemodeChange); GetCurrentMap(g_icCurrentMap, sizeof(g_icCurrentMap)); - AutoExecConfig(); - //setup advertisement CreateConVar("l4d2_gameinfo_version", PLUGIN_VERSION, "plugin version", FCVAR_SPONLY | FCVAR_DONTRECORD); - g_icCouponCode = CreateConVar("l4d2_gameinfo_code","","Provide a coupon code"); - g_icCouponCoins = CreateConVar("l4d2_gameinfo_coins","0","Provide a coupon code's zekoins", FCVAR_NONE, true, 0.0); - CreateTimer(400.0, Timer_PrintInfoMessage, _, TIMER_REPEAT); } // print info -public Action Timer_PrintInfoMessage(Handle timer) -{ - PrintToChatAll("This is the Manual Director server. Access the panel, and info about the server at l4d2.jackz.me"); - return Plugin_Continue; -} public Action PrintGameInfo(int client, int args) { //print server info ReplyToCommand(client, ">map,diff,mode,tempoState,totalSeconds"); @@ -76,8 +64,15 @@ public Action PrintGameInfo(int client, int args) { int tempoState = GetEntProp(g_icPlayerManager, Prop_Send, "m_tempoState", 1); ReplyToCommand(client, "%s,%s,%s,%d,%d",g_icCurrentMap,g_icDifficulty,g_icGamemode,tempoState,missionDuration); //print client info - ReplyToCommand(client,">id,name,bot,health,status,throwSlot,kitSlot,pillSlot,modelName,velocity"); - for (int i = 1; i < MaxClients;i++) { + ReplyToCommand(client,">id,name,bot,health,status,throwSlot,kitSlot,pillSlot,survivorType,velocity,primaryWpn,secondaryWpn"); + char status[9]; + char name[32]; + char pillItem[32]; + char kitItem[32]; + char throwItem[32]; + char character[9]; + char primaryWeapon[32], secondaryWeapon[32]; + for (int i = 1; i <= MaxClients; i++) { if (!IsClientInGame(i)) continue; if (GetClientTeam(i) != 2) continue; int hp = GetClientRealHealth(i); @@ -87,13 +82,6 @@ public Action PrintGameInfo(int client, int args) { bool blackandwhite = GetEntProp(i, Prop_Send, "m_bIsOnThirdStrike", 1) == 1; int velocity = RoundFloat(GetPlayerSpeed(i)); - char status[9]; - char name[32]; - char pillItem[32]; - char kitItem[32]; - char throwItem[32]; - char character[9]; - if(hp < 0) { status = "dead"; }else if(incap) { @@ -109,14 +97,24 @@ public Action PrintGameInfo(int client, int args) { }else{ status = "alive"; } + primaryWeapon[0] = '\0'; + throwItem[0] = '\0'; + kitItem[0] = '\0'; + pillItem[0] = '\0'; + GetItemSlotClassName(i, 0, primaryWeapon, sizeof(primaryWeapon), true); + GetItemSlotClassName(i, 1, secondaryWeapon, sizeof(secondaryWeapon), true); GetItemSlotClassName(i, 2, throwItem, sizeof(throwItem), true); GetItemSlotClassName(i, 3, kitItem, sizeof(kitItem), true); GetItemSlotClassName(i, 4, pillItem, sizeof(pillItem), true); + + /*if(StrEqual(secondaryWeapon, "melee", true)) { + GetMeleeWeaponName() + }*/ GetClientName(i, name, sizeof(name)); GetModelName(i, character, sizeof(character)); - ReplyToCommand(client,"%d,%s,%d,%d,%s,%s,%s,%s,%s,%d", i, name, bot, hp, status, throwItem, kitItem, pillItem, character, velocity); + ReplyToCommand(client,"%d,%s,%d,%d,%s,%s,%s,%s,%s,%d,%s,%s", i, name, bot, hp, status, throwItem, kitItem, pillItem, character, velocity, primaryWeapon, secondaryWeapon); } } @@ -167,18 +165,6 @@ public PlayerManager_OnThinkPost(int playerManager) { if (++g_ichuddelay >= 10) g_ichuddelay = 0; } #endif -public OnClientPutInServer(client) -{ - PrintToChat(client, "Welcome to the Manual Director server! For information or access the panel go to l4d2.jackz.me."); - char coupon[9]; - g_icCouponCode.GetString(coupon, sizeof(coupon)); - if(strlen(coupon) > 0) { - char coins[32] = "free"; - if (g_icCouponCoins.IntValue > 0) IntToString(g_icCouponCoins.IntValue, coins, sizeof(coins)); - PrintToChat(client, "Signup with redemption code '%s' for %s initial coins", coupon, coins); - } - -} // METHODS // stock float GetPlayerSpeed(int client) { int iVelocity = FindSendPropInfo("CTerrorPlayer", "m_vecVelocity[0]"); diff --git a/scripting/l4d2_ai_minigun.sp b/scripting/l4d2_ai_minigun.sp index 1e670e7..a4f198f 100644 --- a/scripting/l4d2_ai_minigun.sp +++ b/scripting/l4d2_ai_minigun.sp @@ -107,7 +107,7 @@ public Action Command_SpawnMinigunBot(int client, int args) { vPos[2] += 1.0; int survivor = SpawnSurvivor(vPos, vAng, model, true); - if(survivor > -1) { + if(survivor > 0) { GiveClientWeapon(survivor, "rifle_ak47", true); }else{ ReplyToCommand(client, "Failed to spawn survivor."); @@ -151,7 +151,7 @@ public Action Command_SpawnHoldoutBot(int client, int args) { } int survivor = SpawnSurvivor(vPos, vAng, model, false); - if(survivor > -1) { + if(survivor > 0) { GiveClientWeapon(survivor, wpn, true); SetEntProp(survivor, Prop_Send, "m_survivorCharacter", survivorId); }else{ @@ -200,20 +200,16 @@ stock int SpawnSurvivor(const float vPos[3], const float vAng[3], const char[] m LogError("Failed to match survivor, did they not spawn? [%d/%d]", bot_user_id, bot_client_id); return -1; } - if(spawn_minigun) SetClientName(bot_client_id, "MinigunBot"); - else SetClientName(bot_client_id, "HoldoutBot"); - - TeleportEntity(bot_client_id, vPos, NULL_VECTOR, NULL_VECTOR); - if(spawn_minigun && !SpawnMinigun(vPos, vAng)) { LogError("Failed to spawn minigun for client #%d", bot_client_id); KickClient(bot_client_id, "AIMinigun:MinigunSpawnFailure"); return -1; } + SetClientName(bot_client_id, spawn_minigun ? "MinigunBot" : "HoldoutBot"); + TeleportEntity(bot_client_id, vPos, NULL_VECTOR, NULL_VECTOR); SetEntityModel(bot_client_id, model); //set entity model to custom survivor model - //probably return user_id? - return bot_client_id; + return bot_user_id; } void AvoidCharacter(int type, bool avoid) { for( int i = 1; i <= MaxClients; i++ ) diff --git a/scripting/l4d2_extraplayeritems.sp b/scripting/l4d2_extraplayeritems.sp index 3af8ad5..1d8397e 100644 --- a/scripting/l4d2_extraplayeritems.sp +++ b/scripting/l4d2_extraplayeritems.sp @@ -42,12 +42,12 @@ public void OnPluginStart() { SetFailState("This plugin is for L4D/L4D2 only."); } - HookEvent("player_spawn", Event_PlayerSpawn); + HookEvent("player_spawn", Event_PlayerSpawn); HookEvent("player_first_spawn", Event_PlayerFirstSpawn); - HookEvent("round_end", Event_RoundEnd); - HookEvent("heal_success", Event_HealFinished); - HookEvent("map_transition", Event_MapTransition); - HookEvent("game_start", Event_GameStart); + HookEvent("round_end", Event_RoundEnd); + HookEvent("heal_success", Event_HealFinished); + HookEvent("map_transition", Event_MapTransition); + HookEvent("game_start", Event_GameStart); hExtraItemBasePercentage = CreateConVar("l4d2_extraitem_chance", "0.056", "The base chance (multiplied by player count) of an extra item being spawned.", FCVAR_NONE, true, 0.0, true, 1.0); hAddExtraKits = CreateConVar("l4d2_extraitems_kitmode", "0", "Decides how extra kits should be added.\n0 -> Overwrites previous extra kits, 1 -> Adds onto previous extra kits", FCVAR_NONE, true, 0.0, true, 1.0); @@ -107,51 +107,58 @@ public Action Event_GameStart(Event event, const char[] name, bool dontBroadcast firstGiven = false; extraKitsAmount = 0; extraKitsStarted = 0; + abmExtraCount = 4; + hMinPlayers.IntValue = 4; } public Action Event_PlayerFirstSpawn(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); if(GetClientTeam(client) == 2 && !IsFakeClient(client)) { + if(L4D_IsFirstMapInScenario()) { //Check if all clients are ready, and survivor count is > 4. - abmExtraCount = GetSurvivorsCount(); - if(AreAllClientsReady() && abmExtraCount > 4 && !firstGiven) { - firstGiven = true; - //Set the initial value ofhMinPlayers - if(hUpdateMinPlayers.BoolValue && hMinPlayers != null) { - hMinPlayers.IntValue = abmExtraCount; + if(AreAllClientsReady() && !firstGiven) { + abmExtraCount = GetRealSurvivorsCount(); + if(abmExtraCount > 4) { + firstGiven = true; + //Set the initial value ofhMinPlayers + if(hUpdateMinPlayers.BoolValue && hMinPlayers != null) { + hMinPlayers.IntValue = abmExtraCount; + } + CreateTimer(1.0, Timer_GiveKits); } - CreateTimer(1.0, Timer_GiveKits); - } - //TODO: Some logic to give extra kits on round failure on first map? - //Give kit if first map and kits given - if(firstGiven) { + }else if(firstGiven) { RequestFrame(Frame_GiveNewClientKit, client); } }else { + //CreateTimer(1.0, Timer_UpdateMinPlayers); RequestFrame(Frame_GiveNewClientKit, client); } } } public void Frame_GiveNewClientKit(int client) { - if(!DoesClientHaveKit(client)) { + if(!DoesClientHaveKit(client) && GetRealSurvivorsCount() > 4) { CheatCommand(client, "give", "first_aid_kit", ""); } } -public void Frame_GiveClientKit(int client) { - if(!DoesClientHaveKit(client)) { +public Action Timer_GiveClientKit(Handle hdl, int user) { + int client = GetClientOfUserId(user); + if(client > 0 && !DoesClientHaveKit(client)) { UseExtraKit(client); } +} +public Action Timer_UpdateMinPlayers(Handle hdl) { //Set abm's min players to the amount of real survivors. Ran AFTER spawned incase they are pending joining - if(!hUpdateMinPlayers.BoolValue) return; - int newPlayerCount = abmExtraCount + 1; - if(hMinPlayers != null && newPlayerCount > 4 && hMinPlayers.IntValue < newPlayerCount && newPlayerCount < 18) { - abmExtraCount = newPlayerCount; - #if defined DEBUG - PrintToServer("update abm_minplayers -> %d", abmExtraCount); - #endif - hMinPlayers.IntValue = abmExtraCount; + int newPlayerCount = GetRealSurvivorsCount(); + if(hUpdateMinPlayers.BoolValue && hMinPlayers != null) { + if(newPlayerCount > 4 && hMinPlayers.IntValue < newPlayerCount && newPlayerCount < 18) { + abmExtraCount = newPlayerCount; + #if defined DEBUG + PrintToServer("update abm_minplayers -> %d", abmExtraCount); + #endif + hMinPlayers.IntValue = abmExtraCount; + } } } @@ -159,9 +166,10 @@ public Action Timer_GiveKits(Handle timer) { GiveStartingKits(); } //Provide extra kits when a player spawns (aka after a map transition) public Action Event_PlayerSpawn(Event event, const char[] name, bool dontBroadcast) { - int client = GetClientOfUserId(event.GetInt("userid")); + int user = event.GetInt("userid"); + int client = GetClientOfUserId(user); if(GetClientTeam(client) == 2) { - RequestFrame(Frame_GiveClientKit, client); + CreateTimer(0.5, Timer_GiveClientKit, user); } } @@ -177,7 +185,7 @@ public void OnMapStart() { isFailureRound = false; }else if(!L4D_IsFirstMapInScenario()) { //Re-set value incase it reset. - hMinPlayers.IntValue = abmExtraCount; + //hMinPlayers.IntValue = abmExtraCount; } if(!isLateLoaded) { CreateTimer(30.0, Timer_AddExtraCounts); @@ -188,21 +196,19 @@ public void OnMapStart() { HookEntityOutput("trigger_changelevel", "OnStartTouch", EntityOutput_OnStartTouchSaferoom); } public void EntityOutput_OnStartTouchSaferoom(const char[] output, int caller, int client, float time) { - if(client > 0 && client <= MaxClients && !isCheckpointReached && IsValidClient(client) && GetClientTeam(client) == 2){ - isCheckpointReached = true; + if(!isCheckpointReached && client > 0 && client <= MaxClients && IsValidClient(client) && GetClientTeam(client) == 2) { + isCheckpointReached = true; int extraPlayers = GetSurvivorsCount() - 4; - #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 - //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(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 + //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 hAddExtraKits TRUE: Append to previous, FALSE: Overwrite @@ -229,7 +235,7 @@ public Action Event_MapTransition(Event event, const char[] name, bool dontBroad PrintToServer("Map transition | Extra Kits Left %d | Starting Amount %d", extraKitsAmount, extraKitsStarted); #endif extraKitsStarted = extraKitsAmount; - abmExtraCount = GetSurvivorsCount(); + abmExtraCount = GetRealSurvivorsCount(); } @@ -253,7 +259,7 @@ public Action Event_HealFinished(Event event, const char[] name, bool dontBroadc Prioritize first aid kits somehow? Or split two groups: "utility" (throwables, kits, pill/shots), and "weapon" (all other spawns) */ public Action Timer_AddExtraCounts(Handle hd) { - int survivors = GetSurvivorsCount(); + int survivors = GetRealSurvivorsCount(); if(survivors <= 4) return; float percentage = hExtraItemBasePercentage.FloatValue * survivors; @@ -288,11 +294,9 @@ public Action Timer_AddExtraCounts(Handle hd) { //////////////////////////////////// stock void GiveStartingKits() { - int skipLeft = 4, realPlayersCount = 0; - for(int i = 1; i < MaxClients + 1; i++) { + int skipLeft = 4; + for(int i = 1; i <= MaxClients; i++) { if(IsClientConnected(i) && IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 2) { - if(!IsFakeClient(i)) - ++realPlayersCount; //Skip at least the first 4 players, as they will pickup default kits. //If player somehow already has it ,also skip them. if(skipLeft > 0 || DoesClientHaveKit(i)) { @@ -308,7 +312,17 @@ stock void GiveStartingKits() { stock int GetSurvivorsCount() { int count = 0; for(int i = 1; i <= MaxClients; i++) { - if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2 ) { + if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2) { + ++count; + } + } + return count; +} + +stock int GetRealSurvivorsCount() { + int count = 0; + for(int i = 1; i <= MaxClients; i++) { + if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2 && !IsFakeClient(i)) { ++count; } } @@ -326,7 +340,7 @@ stock bool AreAllClientsReady() { stock bool DoesClientHaveKit(int client) { char wpn[32]; - if(GetClientWeaponName(client, 3, wpn, sizeof(wpn))) { + if(IsClientConnected(client) && IsClientInGame(client) && GetClientWeaponName(client, 3, wpn, sizeof(wpn))) { if(StrEqual(wpn, "weapon_first_aid_kit")) { return true; } @@ -346,7 +360,7 @@ stock void UseExtraKit(int client) { } } -stock float getAverageHP() { +stock float GetAverageHP() { int totalHP, clients; for(int i = 1; i <= MaxClients; i++) { if(IsClientConnected(i) && IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i)) { @@ -354,5 +368,5 @@ stock float getAverageHP() { ++clients; } } - return totalHP / clients; + return float(totalHP) / float(clients); } \ No newline at end of file