Ето кода, не схващам къде е проблема?
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <fakemeta>
#if defined client_disconnected
#define client_disconnect client_disconnected
#endif
enum _:Bots
{
FromPlayers,
ToPlayers,
BotsNum,
}
new const g_eBots[][Bots] =
{
{ 0, 31, 2 },
}
new const g_szBotNames[][32] =
{
"IP -> 1xxx15",
"WEB -> xxxx.info",
}
new g_iPlayers, g_iBots
public plugin_init()
register_plugin("SpecBots", "1.0", "OciXCrom @ amxx-bg.info/forum")
public client_connect(id)
{
if(!is_user_bot(id))
g_iPlayers++
set_task(3.0, "CountBots")
}
public client_disconnect(id)
{
if(!is_user_bot(id))
g_iPlayers--
CountBots()
set_task(1.0, "CountBots")
}
public CountBots()
{
static i, j
for(i = 0; i < sizeof(g_eBots); i++)
{
if(g_eBots[i][FromPlayers] <= g_iPlayers <= g_eBots[i][ToPlayers])
{
if(g_eBots[i][BotsNum] == g_iBots)
break
RemoveBots()
if(g_eBots[i][BotsNum] == -1)
break
for(j = 0; j < clamp(g_eBots[i][BotsNum], .max = sizeof(g_szBotNames)); j++)
CreateBot(g_szBotNames[j])
break
}
}
}
RemoveBots()
{
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
}
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++
set_user_flags(id, ADMIN_IMMUNITY)
}