Преработка на Spec Bots v1

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
metamod
Извън линия
Потребител
Потребител
Мнения: 63
Регистриран на: 07 Апр 2018, 11:06
Се отблагодари: 4 пъти
Обратна връзка:

Преработка на Spec Bots v1

Мнение от metamod » 10 Апр 2018, 15:53

Искам да попитам как да направя така че,като влязат хора във сървъра да не ги киква а да стоят постоянно ето го и кодът

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
 
#define PLUGIN  "botespectador"
#define AUTHOR  "_|Polimpo4|_"
#define VERSION "1.0"
 
new szname_bot[] = "xxx";                   ////////// NOME BOT 1
new szname_bot2[] = "xxx";             ////////// NOME BOT 2
new szname_bot3[] = "xxx";            ////////// NOME BOT 3
 
new bool:bot_on, bot_id;
new bool:bot_on2, bot_id2;
new bool:bot_on3, bot_id3;
 
//Cvars
new cv_KickBots, cv_ConnectBots
 
public plugin_init()
{
    register_plugin("botespectador", "1.0", "_|Polimpo4|_");
    
    cv_KickBots = register_cvar("cv_KickBots","16");                 
    cv_ConnectBots = register_cvar("cv_ConnectBots","16");
    
    bot_on=false;
    bot_on2=false;
    bot_on3=false;
    bot_id=0;
    bot_id2=0;
    bot_id3=0;
    set_task(1.4,"fake_make");
    set_task(1.4,"fake_make2");
    set_task(1.4,"fake_make3");
    return PLUGIN_CONTINUE
}
 
public fake_make()
{    
    new rj[128];
    if((!bot_on)&&(!bot_id))
    {
        bot_id=engfunc(EngFunc_CreateFakeClient,szname_bot);
        if(bot_id > 0)
        {
            engfunc(EngFunc_FreeEntPrivateData,bot_id);
            dllfunc(DLLFunc_ClientConnect,bot_id,szname_bot,"20.05.45.45.2",rj);
            if(is_user_connected(bot_id))
            {
                dllfunc(DLLFunc_ClientPutInServer, bot_id);
                set_pev(bot_id,pev_spawnflags,pev(bot_id,pev_spawnflags)|FL_FAKECLIENT);
                set_pev(bot_id,pev_flags,pev(bot_id,pev_flags)|FL_FAKECLIENT);
                cs_set_user_team(bot_id, CS_TEAM_SPECTATOR);
                bot_on = true;
            }        
        }        
    }
   
    return PLUGIN_CONTINUE;    
}  
 
public fake_make2()
{    
    new rj[128];
    if((!bot_on2)&&(!bot_id2))
    {
        bot_id2=engfunc(EngFunc_CreateFakeClient,szname_bot2);
        if(bot_id2 > 0)
        {
            engfunc(EngFunc_FreeEntPrivateData,bot_id2);
            dllfunc(DLLFunc_ClientConnect,bot_id2,szname_bot2,"20.05.45.45.2",rj);
            if(is_user_connected(bot_id2))
            {
                dllfunc(DLLFunc_ClientPutInServer, bot_id2);
                set_pev(bot_id2,pev_spawnflags,pev(bot_id2,pev_spawnflags)|FL_FAKECLIENT);
                set_pev(bot_id2,pev_flags,pev(bot_id2,pev_flags)|FL_FAKECLIENT);
                cs_set_user_team(bot_id2, CS_TEAM_SPECTATOR);
                bot_on2 = true;
            }        
        }        
    }
   
    return PLUGIN_CONTINUE;    
}  
public fake_make3()
{    
    new rj[128];
    if((!bot_on3)&&(!bot_id3))
    {
        bot_id3=engfunc(EngFunc_CreateFakeClient,szname_bot3);
        if(bot_id3 > 0)
        {
            engfunc(EngFunc_FreeEntPrivateData,bot_id3);
            dllfunc(DLLFunc_ClientConnect,bot_id3,szname_bot3,"20.05.45.45.2",rj);
            if(is_user_connected(bot_id3))
            {
                dllfunc(DLLFunc_ClientPutInServer, bot_id3);
                set_pev(bot_id3,pev_spawnflags,pev(bot_id3,pev_spawnflags)|FL_FAKECLIENT);
                set_pev(bot_id3,pev_flags,pev(bot_id3,pev_flags)|FL_FAKECLIENT);
                cs_set_user_team(bot_id3, CS_TEAM_SPECTATOR);
                bot_on3 = true;
            }        
        }        
    }
   
    return PLUGIN_CONTINUE;    
}
 
public client_disconnect(id)
{
    new players[32], num
    get_players(players, num, "c" )

    new szConnectBots = get_pcvar_num(cv_ConnectBots)
    
    if(num < szConnectBots && !bot_on)
    {
        fake_make()
        fake_make2()
        fake_make3()    
    }   
}
 
public client_connect(id)
{
    new players[32], num
    get_players(players, num, "c" )
 
    new szKickBots = get_pcvar_num(cv_KickBots)
 
    if(num >= szKickBots && bot_on)
    {
        bot_on = false 
        bot_on2 = false 
        bot_on3 = false     
        bot_id=0
        bot_id2=0
        bot_id3=0   
        server_cmd("kick ^"%s^"", szname_bot); 
        server_cmd("kick ^"%s^"", szname_bot2); 
        server_cmd("kick ^"%s^"", szname_bot3); 
    }
}  
CS-DOWN.bg # RespawN IP: 93.123.18.42:27015

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

Преработка на Spec Bots v1

Мнение от Fr0sTt » 10 Апр 2018, 15:59

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>
#include <fakemeta>
 
#define PLUGIN  "botespectador"
#define AUTHOR  "_|Polimpo4|_"
#define VERSION "1.0"
 
new szname_bot[] = "xxx";                   ////////// NOME BOT 1
new szname_bot2[] = "xxx";             ////////// NOME BOT 2
new szname_bot3[] = "xxx";            ////////// NOME BOT 3
 
new bool:bot_on, bot_id;
new bool:bot_on2, bot_id2;
new bool:bot_on3, bot_id3;
 
public plugin_init()
{
    register_plugin("botespectador", "1.0", "_|Polimpo4|_");
    
    bot_on=false;
    bot_on2=false;
    bot_on3=false;
    bot_id=0;
    bot_id2=0;
    bot_id3=0;
    set_task(1.4,"fake_make");
    set_task(1.4,"fake_make2");
    set_task(1.4,"fake_make3");
    return PLUGIN_CONTINUE
}
 
public fake_make()
{    
    new rj[128];
    if((!bot_on)&&(!bot_id))
    {
        bot_id=engfunc(EngFunc_CreateFakeClient,szname_bot);
        if(bot_id > 0)
        {
            engfunc(EngFunc_FreeEntPrivateData,bot_id);
            dllfunc(DLLFunc_ClientConnect,bot_id,szname_bot,"20.05.45.45.2",rj);
            if(is_user_connected(bot_id))
            {
                dllfunc(DLLFunc_ClientPutInServer, bot_id);
                set_pev(bot_id,pev_spawnflags,pev(bot_id,pev_spawnflags)|FL_FAKECLIENT);
                set_pev(bot_id,pev_flags,pev(bot_id,pev_flags)|FL_FAKECLIENT);
                cs_set_user_team(bot_id, CS_TEAM_SPECTATOR);
                bot_on = true;
            }        
        }        
    }
   
    return PLUGIN_CONTINUE;    
}  
 
public fake_make2()
{    
    new rj[128];
    if((!bot_on2)&&(!bot_id2))
    {
        bot_id2=engfunc(EngFunc_CreateFakeClient,szname_bot2);
        if(bot_id2 > 0)
        {
            engfunc(EngFunc_FreeEntPrivateData,bot_id2);
            dllfunc(DLLFunc_ClientConnect,bot_id2,szname_bot2,"20.05.45.45.2",rj);
            if(is_user_connected(bot_id2))
            {
                dllfunc(DLLFunc_ClientPutInServer, bot_id2);
                set_pev(bot_id2,pev_spawnflags,pev(bot_id2,pev_spawnflags)|FL_FAKECLIENT);
                set_pev(bot_id2,pev_flags,pev(bot_id2,pev_flags)|FL_FAKECLIENT);
                cs_set_user_team(bot_id2, CS_TEAM_SPECTATOR);
                bot_on2 = true;
            }        
        }        
    }
   
    return PLUGIN_CONTINUE;    
}  
public fake_make3()
{    
    new rj[128];
    if((!bot_on3)&&(!bot_id3))
    {
        bot_id3=engfunc(EngFunc_CreateFakeClient,szname_bot3);
        if(bot_id3 > 0)
        {
            engfunc(EngFunc_FreeEntPrivateData,bot_id3);
            dllfunc(DLLFunc_ClientConnect,bot_id3,szname_bot3,"20.05.45.45.2",rj);
            if(is_user_connected(bot_id3))
            {
                dllfunc(DLLFunc_ClientPutInServer, bot_id3);
                set_pev(bot_id3,pev_spawnflags,pev(bot_id3,pev_spawnflags)|FL_FAKECLIENT);
                set_pev(bot_id3,pev_flags,pev(bot_id3,pev_flags)|FL_FAKECLIENT);
                cs_set_user_team(bot_id3, CS_TEAM_SPECTATOR);
                bot_on3 = true;
            }        
        }        
    }
   
    return PLUGIN_CONTINUE;    
}

Аватар
metamod
Извън линия
Потребител
Потребител
Мнения: 63
Регистриран на: 07 Апр 2018, 11:06
Се отблагодари: 4 пъти
Обратна връзка:

Преработка на Spec Bots v1

Мнение от metamod » 10 Апр 2018, 16:21

Благодаря,дано всичко е както трябва.
CS-DOWN.bg # RespawN IP: 93.123.18.42:27015

Аватар
csmegagaming
Извън линия
Рекламатор
Рекламатор
Мнения: 64
Регистриран на: 07 Ное 2016, 17:07
Местоположение: София
Се отблагодари: 20 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Преработка на Spec Bots v1

Мнение от csmegagaming » 19 Фев 2019, 09:29

Използвам темата за да не правя излишна нова, как може да са само два а не три бота.
Предварително Благодаря.

Аватар
aHaJLruH
Извън линия
VHE Mapper
VHE Mapper
Мнения: 138
Регистриран на: 13 Окт 2016, 12:33
Местоположение: София
Се отблагодари: 12 пъти
Получена благодарност: 42 пъти

Преработка на Spec Bots v1

Мнение от aHaJLruH » 19 Фев 2019, 09:54

Изтрий public fake_make3 и предполагам, че ще стане.

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Преработка на Spec Bots v1

Мнение от hackera457 » 19 Фев 2019, 12:47

Ето ти нещо правено от мен по-добро от всички тези бози

Код за потвърждение: Избери целия код

#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)
	
}

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
}

Променяш си

Код за потвърждение: Избери целия код

#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"
}
Колкото ботове искаш променяш бройката от MAX_SEPC_BOTS
Мeжду колко и колко играчи да ги има ботовете:

Код за потвърждение: Избери целия код

#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"
}
Моите плъгини

Код за потвърждение: Избери целия код

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
Season12
Извън линия
Потребител
Потребител
Мнения: 129
Регистриран на: 10 Фев 2019, 19:41
Местоположение: V nas
Получена благодарност: 1 път
Обратна връзка:

Преработка на Spec Bots v1

Мнение от Season12 » 19 Фев 2019, 13:30

Извинявайте и аз използвам същия плъгин но проблема е че админите могат да кикват ботовете някаква идея ?

Аватар
NaTo
Извън линия
Потребител
Потребител
Мнения: 69
Регистриран на: 02 Юли 2017, 15:19
Местоположение: Burgas
Се отблагодари: 4 пъти
Получена благодарност: 1 път
Обратна връзка:

Преработка на Spec Bots v1

Мнение от NaTo » 19 Фев 2019, 13:36

Season12 написа: 19 Фев 2019, 13:30 Извинявайте и аз използвам същия плъгин но проблема е че админите могат да кикват ботовете някаква идея ?
Добави им на ботовете права без да пишеш парола и няма да могат да ги кикват админите

"nick" "" "a" "e"
Последно промяна от NaTo на 19 Фев 2019, 13:43, променено общо 1 път.

Аватар
Season12
Извън линия
Потребител
Потребител
Мнения: 129
Регистриран на: 10 Фев 2019, 19:41
Местоположение: V nas
Получена благодарност: 1 път
Обратна връзка:

Преработка на Spec Bots v1

Мнение от Season12 » 19 Фев 2019, 13:40

Ок благодаря!

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Преработка на Spec Bots v1

Мнение от OciXCrom » 19 Фев 2019, 20:14

NaTo написа: 19 Фев 2019, 13:36
Season12 написа: 19 Фев 2019, 13:30 Извинявайте и аз използвам същия плъгин но проблема е че админите могат да кикват ботовете някаква идея ?
Добави им на ботовете права без да пишеш парола и няма да могат да ги кикват админите

"nick" "" "a" "e"
По-скоро да ги зададе според SteamID като ползва id-то "BOT".

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 12 госта