Редактиране на Happy Hour for Free VIP.

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 461
Регистриран: 17 мар 2018, 15:34
Се отблагодари: 133 пъти
Получена благодарност: 16 пъти

Редактиране на Happy Hour for Free VIP.

Мнение от iv69 » 22 май 2019, 14:15

JackEyedJones написа:
22 май 2019, 14:08

Код: Избери всички

#include < amxmodx >
#include < amxmisc > 
#include < engine >
#include < hamsandwich >

#define VIP_FLAG ADMIN_LEVEL_G

#define DEFAULT_FLAG ADMIN_USER

#define HUD_POSITION_X		-1.0
#define HUD_POSITION_Y		0.0

#define HUD_COLOR_RED		0
#define HUD_COLOR_GREEN		200
#define HUD_COLOR_BLUE		0

new g_iCvars[ 3 ];

new bool:g_bFreeVipTime;

public plugin_init( )
{
	register_plugin( "Free VIP", "1.0", "DoNii" );

	register_event( "HLTV", "OnNewRound", "a", "1=0", "2=0" );

	RegisterHam( Ham_Spawn, "player", "fw_HamSpawnPost", 1 );
	
	g_iCvars[ 0 ] = register_cvar( "free_vip_on", "1" );
	g_iCvars[ 1 ] = register_cvar( "free_vip_start_time", "10" );
	g_iCvars[ 2 ] = register_cvar( "free_vip_end_time", "23" );
	
	set_task(1.0, "show_hud", _, .flags = "b");
}

public plugin_natives( )
{
	register_library( "free_vip" );
	register_native( "is_free_vip_time", "native_is_free_vip_time", 0 );
}

public client_PostThink( id )
{
	if(!is_user_alive(id) || is_user_bot(id))
		return;
	
	set_user_flags( id, g_bFreeVipTime ? VIP_FLAG : DEFAULT_FLAG );
}

public OnNewRound( )
{
	if( ! get_pcvar_num( g_iCvars[ 0 ] ) )
		return PLUGIN_CONTINUE;

	new g_iCondition = IsVipHour( get_pcvar_num( g_iCvars[ 1 ] ), get_pcvar_num( g_iCvars[ 2 ] ) );

	g_bFreeVipTime = g_iCondition ? true : false;
	
	new szPlayers[ 32 ], iNum, iTempID;
	get_players( szPlayers, iNum );
		
	for( new i; i < iNum; i++ )
	{
		iTempID = szPlayers[ i ];
			
		if(!is_user_bot( iTempID ))
			set_user_flags( iTempID, g_bFreeVipTime ? VIP_FLAG : DEFAULT_FLAG);
	}
	
	return PLUGIN_CONTINUE;
}

public show_hud()
{
	if(!g_bFreeVipTime)
		return;
	
	set_hudmessage(HUD_COLOR_RED, HUD_COLOR_GREEN, HUD_COLOR_BLUE, HUD_POSITION_X, HUD_POSITION_Y, 0, 6.0, 1.1);
	show_hudmessage(0, "Happy Hour > Free VIP Start: %dh^n\Happy Hour > Free VIP End: %dh", get_pcvar_num(g_iCvars[ 1 ]), get_pcvar_num(g_iCvars[ 2 ]));
}

public fw_HamSpawnPost( id )
{
	if(!is_user_alive(id) || is_user_bot(id))
		return;
	
	set_user_flags( id, g_bFreeVipTime ? VIP_FLAG : DEFAULT_FLAG);
}

public native_is_free_vip_time( iPlugin, iParams )
{
	return bool:g_bFreeVipTime;
}

bool:IsVipHour( iStart, iEnd )
{
	new iHour; time( iHour );
	return bool:( iStart < iEnd ? ( iStart <= iHour < iEnd ) : ( iStart <= iHour || iHour < iEnd ) )
}
Да, сега игнорира ботовете, но одеве бях настроил да имат играчите ВИП-а до 13.00 а флага си остана и след този час? направо ще откача, вече не знам този плъгин явно е пълна боза. Последната редакция съм я настроил с време до 14 и ще пиша изключва ли времето.

Потребителски аватар

JackEyedJones
Потребител
Потребител
Мнения: 241
Регистриран: 10 сеп 2018, 17:26
Местоположение: Plovdiv, Bulgaria, Europe, Entire World
Се отблагодари: 4 пъти
Получена благодарност: 39 пъти
Години: 26
Контакти:

Редактиране на Happy Hour for Free VIP.

Мнение от JackEyedJones » 22 май 2019, 14:17

Направил съм промени по цварите, обърнах часовете просто.
Старому беше 23 до 10 сутринта, сега са 10 до 23 вечерта.

Потребителски аватар

Автор на темата
iv69
Потребител
Потребител
Мнения: 461
Регистриран: 17 мар 2018, 15:34
Се отблагодари: 133 пъти
Получена благодарност: 16 пъти

Редактиране на Happy Hour for Free VIP.

Мнение от iv69 » 22 май 2019, 16:11

JackEyedJones написа:
22 май 2019, 14:17
Направил съм промени по цварите, обърнах часовете просто.
Старому беше 23 до 10 сутринта, сега са 10 до 23 вечерта.
Да, тествано и плъгина сега работи и не дава никакви проблеми !
Мога да допълня само на ония които биха го ползвали да се съобразят с това, че старта и края на "HH-time" -се влияе от края или началото на самата карта, но това мисля, че не е проблем. И още: ако иска някой да си променя часовете: да не пипа кода, а да си добави трите цвара в amxx.cfg, например ето така:

free_vip_on "1"
free_vip_start_time "1"
free_vip_end_time "10"

Благодаря. :lock: :lock:

Заключена

Върни се в “Заявки за плъгини”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 3 госта