Преработка на "Remove POD when players X" ...

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Преработка на "Remove POD when players X" ...

Мнение от iv69 » 09 Окт 2018, 13:12

Здравейте,

Ще ви бъда благодарен , ако някой преработи посочения по-долу плъгин, който сам по себе си прави "нещата" правилно, но новото да е това , че освен да активира командата pb removebots при достигане на определен брой играчи(+ботове) в сървъра,както е сега, да прави още едно: при "спадане" на броя на играчите до определен брой да връща първоначалния брой ботове в сървъра - pb add е командата която добавя ботовете(при мене ако е важно ми добавя 5пъти тази команда в конзолата - тоест 5 бота). Тоест , ако при 15 играча сега маха ботовете, при 5 - да ги добавя пак. Плъгина е за DеаthMatch сървър.
Благодаря предварително и се надявам , че не съм обяснил прекалено сложно, онова което желая.

Ето кода:

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

#include <amxmodx>
#include <engine>

#define PLUGIN    "Remove POD when players X"
#define VERSION   "1.0"
#define AUTHOR    "hackera457 @ AMXX-bg.info"

#define REQUIRED_PLAYERS   25

new const g_szEntityName[] = "check_maxplayers"

new g_iEnt

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	g_iEnt = create_entity("info_target")
	entity_set_string(g_iEnt, EV_SZ_classname,g_szEntityName)
	entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	register_think(g_szEntityName,"CheckPlayerEntity")
}	

public CheckPlayerEntity(iEnt)
{	
	
	if(iEnt == g_iEnt)
	{
		static iPlayers[32], iNum
		get_players(iPlayers,iNum)
		
		if(iNum >= REQUIRED_PLAYERS)
			server_cmd("pb removebots")
			
		entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	}
}
Преработения плъгин спокойно може да бъде "преименуван" примерно на "botmanager" :)

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Преработка на "Remove POD when players X" ...

Мнение от JustInCase » 09 Окт 2018, 14:58

pb add колко бота добавя 1 ли ? Колко искаш да бъдат добавени ако е така ? Да пълни целия сървър ?


Направих една версия на плъгина.

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

#include <amxmodx>
#include <engine>

#define PLUGIN    "Remove POD when players X"
#define VERSION   "1.0"
#define AUTHOR    "hackera457 @ AMXX-bg.info"

#define REQUIRED_MAX_PLAYERS   15    //-- При колко играчи да маха ботовете
#define REQUIRED_MIN_PLAYERS   5   //-- При колко играчи да добавя ботове

#define ADD_BOTS_NUM 10  //-- Колко бота да добавя

new const g_szEntityName[] = "check_maxplayers"

new g_iEnt

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	g_iEnt = create_entity("info_target")
	entity_set_string(g_iEnt, EV_SZ_classname,g_szEntityName)
	entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	register_think(g_szEntityName,"CheckPlayerEntity")
}	

public CheckPlayerEntity(iEnt)
{	
	
	if(iEnt == g_iEnt)
	{
		static iPlayers[32], iNum
		get_players(iPlayers,iNum)
		
		if(iNum >= REQUIRED_MAX_PLAYERS)
			server_cmd("pb removebots")
		else if(iNum <= REQUIRED_MIN_PLAYERS)
			for(new i = 0; i <= ADD_BOTS_NUM; i++)
				server_cmd("pb add")
			
		entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	}
}
От тук си променяш настройките и компилираш.

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

#define REQUIRED_MAX_PLAYERS   15    //-- При колко играчи да маха ботовете
#define REQUIRED_MIN_PLAYERS   5   //-- При колко играчи да добавя ботове

#define ADD_BOTS_NUM 10  //-- Колко бота да добавя
iv69 написа: 09 Окт 2018, 13:12 Преработения плъгин спокойно може да бъде "преименуван" примерно на "botmanager" :)
Не съм автор, не мога.
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Преработка на "Remove POD when players X" ...

Мнение от iv69 » 09 Окт 2018, 19:58

супер много благодаря JustInCase AMXX , ще пробвам и ще кажа как е ...

Добавено преди 2 минути 26 секунди:
iv69 написа: 09 Окт 2018, 15:13 супер много благодаря JustInCase AMXX , ще пробвам и ще кажа как е ...
дори мисля , че си го направил(ако работи) по-оригинален отколкото очаквах ... Идеята за добавяне на възможност да се променят тези стойности е велика !!!

Добавено преди 1 час 22 минути 15 секунди:
не знам, защо но, ... компилирах плъгина и го добавих, пуснах сървъра има в сървъра поне 10+ играчи(и ботовете+) но не киква ботовете... все едно няма плъгин, за кикване на ботове ???
плъгина който тествам изглежда ето така :

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

#include <amxmodx>
#include <engine>

#define PLUGIN    "Remove POD when players X"
#define VERSION   "1.0"
#define AUTHOR    "hackera457 @ AMXX-bg.info"

#define REQUIRED_MAX_PLAYERS   10    //-- При колко играчи да маха ботовете
#define REQUIRED_MIN_PLAYERS   5   //-- При колко играчи да добавя ботове

#define ADD_BOTS_NUM 5  //-- Колко бота да добавя

new const g_szEntityName[] = "check_maxplayers"

new g_iEnt

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	g_iEnt = create_entity("info_target")
	entity_set_string(g_iEnt, EV_SZ_classname,g_szEntityName)
	entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	register_think(g_szEntityName,"CheckPlayerEntity")
}	

public CheckPlayerEntity(iEnt)
{	
	
	if(iEnt == g_iEnt)
	{
		static iPlayers[32], iNum
		get_players(iPlayers,iNum)
		
		if(iNum >= REQUIRED_MAX_PLAYERS)
			server_cmd("pb removebots")
		else if(iNum <= REQUIRED_MIN_PLAYERS)
			for(new i = 0; i <= ADD_BOTS_NUM; i++)
				server_cmd("pb add")
			
		entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	}
}
p.s. да не би да липсва нещо ??? (за жалост излизам малко по-късничко ще дойда да пробвеам ако имате други идеи...благодаря)

Добавено преди 3 часа 21 минути 12 секунди:
Ако е много трудно, може ли пък да се промени така плъгина, че при един и същи брой да действа това - просто ако даден брой на играчите се надвиши - да маха ботове- ако пък играчите станат по-малко от този "брой", пак да се връщат отново(добавят) в сървъра...
На точно такъв принцип е написан примерно този код за 2 бота спектатори:

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

/******************************************/
/** SSH's Botcontroller **/
/** **/
/** Name: plugin_ssh_botcontrol **/
/** Author: SSH ([email protected]) **/
/** Released: 25/03/12 **/
/** Version: 1.0.0 **/
/** **/
/** Starts and stops PODBots manually **/
/******************************************/

/* Changelog
* ---------
* Version 1.0.0
* 
* After ConnorMcLeod creats his No Human No Bots, I reduced
* the botcontroller the console commands
* 
* Version 0.1beta
* 
* First attempt of a podbot controller
*/

#include <amxmodx>
#include <amxmisc> // cmd_access

#define ADMIN_ACCESS ADMIN_CVAR

new const STRING_VERSION[] = "1.0.0";

public plugin_init() {
register_plugin("Manuell Podbot Controller", STRING_VERSION, "SSH");
register_concmd("startbots", "startbots", ADMIN_ACCESS, "Starts the PODBots");
register_concmd("stopbots", "stopbots", ADMIN_ACCESS, "Stops the PODBots");
}

public startbots(id, accessLevel, cmdIndex)
{
if( cmd_access(id, accessLevel, cmdIndex, 0) )
{
server_cmd("pb fillserver")
}
return PLUGIN_HANDLED // return this so you don't have the Unknown command sentence in your console
}

public stopbots(id, accessLevel, cmdIndex)
{
if( cmd_access(id, accessLevel, cmdIndex, 0) )
{
server_cmd("pb removebots")
}
return PLUGIN_HANDLED
}

Аватар
JustInCase
Извън линия
Потребител
Потребител
Мнения: 582
Регистриран на: 14 Окт 2016, 23:31
Се отблагодари: 4 пъти
Получена благодарност: 15 пъти

Преработка на "Remove POD when players X" ...

Мнение от JustInCase » 09 Окт 2018, 23:24

Я пробвай така?

Какви грешки дава ?

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

#include <amxmodx>
#include <engine>

#define PLUGIN    "Remove POD when players X"
#define VERSION   "1.0"
#define AUTHOR    "hackera457 @ AMXX-bg.info"

#define REQUIRED_MAX_PLAYERS   15    //-- При колко играчи да маха ботовете
#define REQUIRED_MIN_PLAYERS   5   //-- При колко играчи да добавя ботове

#define ADD_BOTS_NUM 10  //-- Колко бота да добавя

new const g_szEntityName[] = "check_maxplayers"

new g_iEnt

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	g_iEnt = create_entity("info_target")
	entity_set_string(g_iEnt, EV_SZ_classname,g_szEntityName)
	entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	register_think(g_szEntityName,"CheckPlayerEntity")
}	

public CheckPlayerEntity(iEnt)
{	
	
	if(iEnt == g_iEnt)
	{
		static iPlayers[32], iNum
		get_players(iPlayers,iNum)
		
		if(iNum >= REQUIRED_MAX_PLAYERS)
			server_cmd("pb removebots")
		if(iNum <= REQUIRED_MIN_PLAYERS)
			for(new i = 0; i <= ADD_BOTS_NUM; i++)
				server_cmd("pb add")
			
		entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	}
}
MANSION - HNS : 45.144.155.99:27026
ONLINE

Аватар
iv69
Извън линия
Потребител
Потребител
Мнения: 744
Регистриран на: 17 Мар 2018, 15:34
Се отблагодари: 214 пъти
Получена благодарност: 39 пъти

Преработка на "Remove POD when players X" ...

Мнение от iv69 » 10 Окт 2018, 11:10

JustInCase написа: 09 Окт 2018, 23:24 Я пробвай така?

Какви грешки дава ?

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

#include <amxmodx>
#include <engine>

#define PLUGIN    "Remove POD when players X"
#define VERSION   "1.0"
#define AUTHOR    "hackera457 @ AMXX-bg.info"

#define REQUIRED_MAX_PLAYERS   15    //-- При колко играчи да маха ботовете
#define REQUIRED_MIN_PLAYERS   5   //-- При колко играчи да добавя ботове

#define ADD_BOTS_NUM 10  //-- Колко бота да добавя

new const g_szEntityName[] = "check_maxplayers"

new g_iEnt

public plugin_init()
{
	register_plugin(PLUGIN,VERSION,AUTHOR)
	
	g_iEnt = create_entity("info_target")
	entity_set_string(g_iEnt, EV_SZ_classname,g_szEntityName)
	entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	register_think(g_szEntityName,"CheckPlayerEntity")
}	

public CheckPlayerEntity(iEnt)
{	
	
	if(iEnt == g_iEnt)
	{
		static iPlayers[32], iNum
		get_players(iPlayers,iNum)
		
		if(iNum >= REQUIRED_MAX_PLAYERS)
			server_cmd("pb removebots")
		if(iNum <= REQUIRED_MIN_PLAYERS)
			for(new i = 0; i <= ADD_BOTS_NUM; i++)
				server_cmd("pb add")
			
		entity_set_float(g_iEnt, EV_FL_nextthink, get_gametime()+1.0)
	}
}
Не става, така написан в конзолата постоянно ми изписва(и го прави), че вкарва максималния брой ботове, а след като ги създаде - веднага започва да ги трие...и така нон-стоп... вкарва ги, стигне ли да макс- ги маха..., после пак ги вкарва.... Опитах всякакви настройки в podbot.cfg, но не става ! Единствено засега дава някакъв ефект -първия плъгин на хакера457 , обаче при него просто махне ли ботовете които съм посочил , че искам да са в сървъра със достигането на брой играчи в него , тогава пък плъгина маха ботовете за постоянно... Целта бе да не са махнати за постоянно , просто или след смяна на картата -пак да си ги връща ...Или просто при намаляване на играчите в сървъра - пак да ги връща...

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

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

Кой е на линия

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