From 02fff542af384ef62b8e3f80bfe6219cec01d1cc Mon Sep 17 00:00:00 2001 From: Jackz Date: Thu, 11 Jun 2020 21:16:13 -0500 Subject: [PATCH] Updated FlyYouFools & added BetterWitchAvoidance --- 200IQBots_FlyYouFools.smx | Bin 7302 -> 7387 bytes 200IQBots_FlyYouFools.sp | 23 ++++++++++++++--------- README.md | 3 +++ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/200IQBots_FlyYouFools.smx b/200IQBots_FlyYouFools.smx index 44bcf9ec56e0bf1ac95b92208bd774e103ed0472..a45ccbd82c60f677a417f360410e5c898e4d88f0 100644 GIT binary patch delta 7319 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 #include #define PLUGIN_VERSION "1.4" +#pragma newdecls required //#define DEBUG @@ -18,7 +19,7 @@ public Plugin myinfo = url = "N/A" } -public OnPluginStart() +public void OnPluginStart() { EngineVersion g_Game = GetEngineVersion(); if(g_Game != Engine_Left4Dead && g_Game != Engine_Left4Dead2) @@ -40,7 +41,7 @@ public OnPluginStart() } -public OnMapStart() { +public void OnMapStart() { TankClient = -1; bEscapeReady = false; @@ -66,6 +67,8 @@ public Action BotControlTimer(Handle timer) #if debug PrintToServer("Tank processing now ended. Escape ready or tank has been killed."); #endif + //incase any other tanks are available + FindExistingTank(); return Plugin_Stop; } //Once an AI tank is awakened, m_lookatPlayer is set to a player ID @@ -80,19 +83,21 @@ public Action BotControlTimer(Handle timer) GetClientName(tank_target, targetted_name, sizeof(targetted_name)); ShowHintToAll("tank_target: %d (%s) | visible threats: %b", tank_target, targetted_name, hasVisibleThreats); #endif + //grab tank position outside loop, only calculate bot + float TankPosition[3]; + GetClientAbsOrigin(TankClient, TankPosition); for (int i = 1; i <= MaxClients; i++) { if (IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i) == 2 && IsFakeClient(i)) { //If distance between bot and tank is less than 200IQBots_TankDangerRange's float value - //if not tank target, and tank != visible threats, then attack - if(tank_target == i) { + //if not tank target, and tank != visible threats, then attack. OR if health low, flee + int health = GetClientHealth(i); + if(tank_target == i || health <= 40) { L4D2_RunScript("CommandABot({cmd=2,bot=GetPlayerFromUserID(%i),target=GetPlayerFromUserID(%i)})", GetClientUserId(i), GetClientUserId(TankClient)); }else { - float TankPosition[3]; - float BotPosition[3]; - GetClientAbsOrigin(TankClient, TankPosition); + float BotPosition[3]; GetClientAbsOrigin(i, BotPosition); float distance = GetVectorDistance(BotPosition, TankPosition); @@ -136,10 +141,10 @@ public void FindExistingTank() { * @noreturn */ stock void L4D2_RunScript(const char[] sCode, any ...) { - static iScriptLogic = INVALID_ENT_REFERENCE; + static int iScriptLogic = INVALID_ENT_REFERENCE; if(iScriptLogic == INVALID_ENT_REFERENCE || !IsValidEntity(iScriptLogic)) { iScriptLogic = EntIndexToEntRef(CreateEntityByName("logic_script")); - if(iScriptLogic == INVALID_ENT_REFERENCE || !IsValidEntity(iScriptLogic)) + if(iScriptLogic == INVALID_ENT_REFERENCE|| !IsValidEntity(iScriptLogic)) SetFailState("Could not create 'logic_script'"); DispatchSpawn(iScriptLogic); diff --git a/README.md b/README.md index 69ab7ea..1d4c748 100644 --- a/README.md +++ b/README.md @@ -61,3 +61,6 @@ A group of misc tools for l4d2. Including: Notify on lasers use, and a finale ti Updated version of ConnerRia's plugin. Improves bots avoidance of tanks. Change from original is updated source syntax, some optimizations/cleanup, and fixes such as bots avoiding tank that has not been activated, or not escaping in vehicle due to presence of tank. * **Convars:** * `FlyYouFools_Version` - Prints the version of plugin + +### BetterWitchAvoidance +Inspired by the 200IQBots_FlyYouFools. Bots avoid witch if its over 40% anger when close, or a little bigger range at 60% or more. \ No newline at end of file