Код за потвърждение: Избери целия код
#include <amxmodx>
#include <fakemeta>
#define PLUGIN "Spectator Bots"
#define VERSION "1.0"
#define AUTHOR "hackera457"
#define MAX_SEPC_BOTS 2
#define MIN_PLAYERS_NUM 0
#define MAX_PLAYERS_NUM 31
new const g_szBotNames[MAX_SEPC_BOTS][] =
{
"Server IP: xx.xxx.xx.xx:27015",
"Website: http://www.amxx-bg.info/forum"
}
new g_iPlayers, g_iBots
public plugin_init()
{
register_plugin(PLUGIN,VERSION,AUTHOR)
register_cvar("hackera457_spectatorbots",VERSION,FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED)
TaskBots()
}
public client_connect(id)
{
if(!is_user_bot(id))
g_iPlayers++
set_task(3.0,"TaskBots")
}
public client_disconnected(id)
{
if(!is_user_bot(id))
g_iPlayers--
TaskBots()
set_task(1.0,"TaskBots")
}
public TaskBots()
{
static i
if(MIN_PLAYERS_NUM <= g_iPlayers <=MAX_PLAYERS_NUM)
{
for(i=0; i < MAX_SEPC_BOTS; i++)
{
if(g_iBots == MAX_SEPC_BOTS)
break
CreateBot(g_szBotNames[i])
}
}
if(g_iPlayers > MAX_PLAYERS_NUM)
RemoveBot()
}
CreateBot(const szName[])
{
static szReason[128], id
id = engfunc(EngFunc_CreateFakeClient, szName)
engfunc(EngFunc_FreeEntPrivateData, id)
set_pev(id, pev_flags, pev(id, pev_flags) | FL_FAKECLIENT)
dllfunc(DLLFunc_ClientConnect, id, szName, "127.0.0.1", szReason)
dllfunc(DLLFunc_ClientPutInServer, id)
g_iBots++
}
RemoveBot()
{
static iPlayers[32], iPnum, i
get_players(iPlayers, iPnum, "d")
for(i = 0; i < iPnum; i++)
server_cmd("kick #%i", get_user_userid(iPlayers[i]))
g_iBots = 0
}