#pragma semicolon 1
#pragma newdecls required
#define PLUGIN_AUTHOR "AlexMy"
#define PLUGIN_VERSION "1.00"
#include <sourcemod>
#include <sdktools>
public Plugin myinfo =
{
name = "Random_Boss_for_Witch",
author = PLUGIN_AUTHOR,
description = "",
version = PLUGIN_VERSION,
url = ""
};
public void OnPluginStart()
{
HookEvent("witch_spawn", witch_spawn);
HookEvent("witch_killed", witch_killed);
}
public void witch_spawn(Event event, const char[] name, bool dontBroadcast)
{
PrintHintTextToAll("Осторожно!!! Смерть ведьмы доставит неприятности!");
}
public void witch_killed(Event event, const char[] name, bool dontBroadcast)
{
int client = GetClientOfUserId(event.GetInt("userid"));
CreateTimer(1.0, timer_Spawn, client, TIMER_FLAG_NO_MAPCHANGE);
}
public Action timer_Spawn(Handle timer)
{
int bot = CreateFakeClient("Infected Bot");
if (bot > 0)
{
int random = GetRandomInt(1, 7);
switch(random)
{
case 1: SpawnCommand(bot, "z_spawn", "smoker auto");
case 2: SpawnCommand(bot, "z_spawn", "boomer auto");
case 3: SpawnCommand(bot, "z_spawn", "hunter auto");
case 4: SpawnCommand(bot, "z_spawn", "spitter auto");
case 5: SpawnCommand(bot, "z_spawn", "jockey auto");
case 6: SpawnCommand(bot, "z_spawn", "charger auto");
case 7: SpawnCommand(bot, "z_spawn", "tank auto");
}
}
return Plugin_Stop;
}
stock void SpawnCommand(int client, char[] command, char[] arguments = "")
{
if (client)
{
ChangeClientTeam(client, 3);
int flags = GetCommandFlags(command);
SetCommandFlags(command, flags & ~FCVAR_CHEAT);
FakeClientCommand(client, "%s %s", command, arguments);
SetCommandFlags(command, flags | FCVAR_CHEAT);
CreateTimer(0.1, Kickbot, client);
}
}
public Action Kickbot(Handle timer, any client)
{
if (IsClientInGame(client) && IsFakeClient(client))
KickClient(client);
}