diff --git a/plugins/l4d2_ai_minigun.smx b/plugins/l4d2_ai_minigun.smx index 1e560e8..6478760 100644 Binary files a/plugins/l4d2_ai_minigun.smx and b/plugins/l4d2_ai_minigun.smx differ diff --git a/plugins/l4d2_feedthetrolls.smx b/plugins/l4d2_feedthetrolls.smx index 599af38..0a30ab3 100644 Binary files a/plugins/l4d2_feedthetrolls.smx and b/plugins/l4d2_feedthetrolls.smx differ diff --git a/scripting/l4d2_ai_minigun.sp b/scripting/l4d2_ai_minigun.sp index 648bf40..0a2435c 100644 --- a/scripting/l4d2_ai_minigun.sp +++ b/scripting/l4d2_ai_minigun.sp @@ -207,7 +207,10 @@ stock int SpawnSurvivor(const float vPos[3], const float vAng[3], const char[] m } SetClientName(bot_client_id, spawn_minigun ? "MinigunBot" : "HoldoutBot"); + SetEntProp(bot_client_id, Prop_Send, "m_fFlags", GetEntProp(bot_client_id, Prop_Send, "m_fFlags") | FL_FROZEN); + CreateTimer(0.1, Timer_Move, bot_user_id); TeleportEntity(bot_client_id, vPos, NULL_VECTOR, NULL_VECTOR); + SetEntityModel(bot_client_id, model); //set entity model to custom survivor model return bot_user_id; } @@ -247,10 +250,11 @@ void AvoidCharacter(int type, bool avoid) { } } -Action TimerMove(Handle timer, any client) { +Action Timer_Move(Handle timer, any client) { if((client = GetClientOfUserId(client))) { //PrintToServer("client %d %N",client,client); SetEntityMoveType(client, MOVETYPE_NONE); + SetEntProp(client, Prop_Send, "m_fFlags", GetEntProp(client, Prop_Send, "m_fFlags") | FL_FROZEN); TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, view_as({ 0.0, 0.0, 0.0 })); } } diff --git a/scripting/l4d2_feedthetrolls.sp b/scripting/l4d2_feedthetrolls.sp index fd06c4c..b597486 100644 --- a/scripting/l4d2_feedthetrolls.sp +++ b/scripting/l4d2_feedthetrolls.sp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #undef REQUIRE_PLUGIN @@ -27,6 +27,9 @@ public Plugin myinfo = url = "" }; +//TODO: Make bots target player. Possibly automatic . See https://i.jackz.me/2021/05/NVIDIA_Share_2021-05-05_19-36-51.png +//TODO: Friendly trolling VS punishment trolling + //plugin start public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) { if(late) { @@ -133,6 +136,7 @@ public void Event_CarAlarm(Event event, const char[] name, bool dontBroadcast) { int client = GetClientOfUserId(event.GetInt("userid")); if(client) { PrintToChatAll("%N has alerted the horde!", client); + FakeClientCommandEx(client, "sm_swarm #%d", client); } //Ignore car alarms for autopunish lastButtonUser = -1;