Home Newest Hot Active Unanswered Views Votes Tags Rank
 
bRuc3

[PLUGIN]Ultimate Reset Frags


Descrição
Galera mais um plugin de reset score, porém com muitas opções de acionamento via char e de configurações sem a necessidade de arquivo externo:

Instruções de Uso
Este plugin resetará os frags do player com os seguinte comandos no chat:

.rr, !rr, /rr, @rr
.rs, !rs, /rs, @rs
.frag, !frag, /frag, @frag
.resetfrag, !resetfrag, /resetfrag, @resetfrag
.reset_frag, !reset_frag, /reset_frag, @reset_frag
.resetscore, !resetscore, /resetscore, @resetscore
.reset_score, !reset_score, /reset_score, @reset_score

Instalação:
Coloque o arquivo DXBR_Reset_frags.amxx dentro da pasta /addons/amxmodx/plugins

Configuração:
Este plugin trabalha com várias CVARs onde você pode configurar praticamente tudo no plugin, vamos a elas:
Você deve inseri-las no arquivo /addons/amxmodx/amxx.cfg. Insira somente as que você quer personalizar ou não insira nada para deixar como está.

// ativa e desativa o plugin o = destativa 1=ativa, padrão 1
rf 1

// ativa/destiva a opção de enviar msg automaticas para os players dizendo como resetar os frags de tanto em tanto tempo
// padrao 1
[b]rf_ad 1[/b]

// tempo em segundos que o plugin deve enviar as msg automaticas (somente se rf_ad estiver igual a 1)
// padrao 180 (3 minutos)
rf_adtime 180

// msg automatica que ensina como resetar os frags
// utilize as tags !g !t !n para add cor nas palavras
rf_admsg "Digite !g.rr !nno chat para resetar seus frags."

// ativa/desativa a notificacao para todos qnd um usuario reseta padrao 1 (0 desativa, 1 ativa)
rf_notifyall 1

// msg para notificar a todos dizendo que o fulando resetou os frags, caso rf_notifyall estiver setada como 1
// %s sera substituido com o nome do usuario que resetou os frags
// utilize as tags !g !t !n para add cor nas palavras
rf_msgall "O jogador !t%s !nacabou de zerar frags dele."

//msg que aparece para voce qnd vc reseta seus frags
// utilize as tags !g !t !n para add cor nas palavras
rf_msgself "Seus !tfrags !nforam zerados com sucesso!"


/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <cstrike>
#include <amxmisc>
#include <fun>
#define PLUGIN "DXBR Ultimate Reset Frags"
#define VERSION "0.1"
#define AUTHOR "DXBR bRuc3"
#define PLUGIN_ENABLED 1
#define RF_COMMAND_MAXLENGTH 14
#define RF_TASKID 2023
// tag que sera mostrada nas msgs
new const 
	PLUGIN_TAG[] = "!g[Reset Score]!n",
	
	// msg usadas
	g_MSGS[ 3 ][128] = {
		"Digite !g.rr !nno chat para resetar seus frags.",
		"O jogador !t%s !nacabou de zerar frags dele.",
		"Seus !tfrags !nforam zerados com sucesso!"
	},
	
	// indicadores de comando
	g_command_indicators[ 4 ][] = { "!", ".", "/", "@" },
	
	// comandos sem o indicador
	g_commands[ 7 ][] = {
		"resetfrag",
		"reset_frag",
		"resetscore",
		"reset_score",
		"rr",
		"rs",
		"frag"
	};
	
// CVARs
new 
	g_RFENABLE, 
	g_SHOWADS, 
	g_ADTIME, 
	g_ADMSG, 
	g_NOTIFYALL,
	g_MSGALL,
	g_MSGSELF;
public plugin_init() 
{
	register_plugin( PLUGIN, VERSION, AUTHOR );
	
	// cvar para podermos ver quais servers estao usando o plugin no game tracker
	new ver[ 64 ];
	format( ver, charsmax( ver ), "%s v%s", PLUGIN, VERSION );
	register_cvar( "rf_version", ver, FCVAR_SERVER );
	
	g_RFENABLE	= register_cvar( "rf", "1" );
	// cvar que indica se de tempos em tempos sera mostrada uma msg de como resetar os frags
	g_SHOWADS	= register_cvar( "rf_ad", "1" );
	
	// cvar que indica se de tempos em tempos sera mostrada uma msg de como resetar os frags
	g_ADTIME	= register_cvar( "rf_adtime", "180" );
	
	// cvar que contem msg que informa como resetar o frag
	g_ADMSG		= register_cvar( "rf_admsg", g_MSGS[ 0 ] );
	
	// cvar que indica se eh para mostrar para todos no server que usuario zerou os frags.
	g_NOTIFYALL	= register_cvar( "rf_notifyall", "1" );
	
	// msg para mostrar a todos que o jogodor XXXX resetou seus frags
	g_MSGALL	= register_cvar( "rf_msgall", g_MSGS[ 1 ] );
	
	// msg que sera exibida para que resetar os frags
	g_MSGSELF	= register_cvar( "rf_msgself", g_MSGS[ 2 ] );
	
	// pegamos um gancho no chat
	register_clcmd( "say", "say_reset_frags" );
	register_clcmd( "say_team", "say_reset_frags" );
}
public say_reset_frags( id )
{	
	// Se o plugin nao esta setado para estar ativado nao faca nada
	if( get_pcvar_num( g_RFENABLE ) != 1 ) 
		return PLUGIN_CONTINUE
	
	// contera a msg que usuario digitou no chat
	static chat_string[ RF_COMMAND_MAXLENGTH ];
	
	// associamos o texto do chat a var criada
	read_args( chat_string, charsmax( chat_string ) );
	
	// sanitiza a string vinda do chat
	remove_quotes( chat_string );
	
	// remove os espacos em branco do inicio e do dim da string
	trim( chat_string );
	
	// joga tudo para minusculo
	strtolower( chat_string );
	
	// se possui um dos prefixos e ainda possui um dos comanndos 
	if( is_indicator( chat_string[ 0 ] ) && is_command( chat_string[ 1 ] ))
	{
		main_controller( id );
		return PLUGIN_HANDLED_MAIN
	}
	
	return PLUGIN_CONTINUE
}
public main_controller( id )
{
	// zera os frags do cabra
	reset_frag( id );
	
	// notifica o usuario
	notify_self( id );
	
	// se esta configurado para todos saberem que o cabra resetou os frags entao fala pra geral!
	if( get_pcvar_num( g_NOTIFYALL ) )
		notify_all( id );
}
public reset_frag( id )
{
	// precisa ser seta 2x senao nao funciona
	cs_set_user_deaths( id, 0 );
	set_user_frags( id, 0 );
	
	cs_set_user_deaths( id, 0 );
	set_user_frags( id, 0 );
}
public show_ad( params[], task_id )
{
	// contera a msg de notificacao
	static msg[ 191 ];
	new playerid = params[ 0 ];
	
	// passa a msg de notificacao para a var acima
	get_pcvar_string( g_ADMSG, msg, charsmax( msg ) );
	
	// exibe a msg para o cabra que digitou o comando
	client_print_color( playerid, "%s %s", PLUGIN_TAG, msg );
}
public client_putinserver( id )
{
	if( get_pcvar_num( g_RFENABLE ) && get_pcvar_num( g_SHOWADS ) && !is_user_bot( id ))
	{	
		new Float:ad_time = get_pcvar_float( g_ADTIME ), params[ 1 ];
		
		params[ 0 ] = id;
		
		if( !ad_time ) ad_time = 90.0
		set_task( ad_time, "show_ad", id + RF_TASKID, params, 1, "b");
	}
}
public client_disconnect( id )
{
	remove_task( id + RF_TASKID );
}
/*------- [ Funcoes auxiliares ] ---------------*/
bool:is_indicator( const _char[] )
{
	new total = sizeof( g_command_indicators ), i;
	new bool:check = false;
	
	for( i = 0; i < total; i++ )
	{
		if( _char[ 0 ] == g_command_indicators[ i ][ 0 ] )
		{ 
			check = true;
			break;
		}
	}
	
	return check;
}
bool:is_command( const str[] )
{
	new total = sizeof( g_commands ), i;
	new bool:check = false;
	
	for( i = 0; i < total; i++ )
	{
		if( equali( str, g_commands[ i ] ) )
		{ 
			check = true;
			break;
		}
	}
	
	return check;
}
public notify_self( id_user )
{
	// contera a msg de notificacao
	static msg[ 191 ];
	
	// passa a msg de notificacao para a var acima
	get_pcvar_string( g_MSGSELF, msg, charsmax( msg ) );
	
	// exibe a msg para o cabra que digitou o comando
	client_print_color( id_user, "%s %s", PLUGIN_TAG, msg );
}
public notify_all( id_user )
{
	// contera a msg de notificacao
	static msg[ 191 ], name[ 33 ];
	
	// dados para iterar sobre os jogadores online, excluindo os bots
	new players[ 32 ], playersTotal, i, player;
	
	// obtem os player no server
	get_players( players, playersTotal, "c" );
	
	// passa a msg de notificacao para a var acima
	get_pcvar_string( g_MSGALL, msg, charsmax( msg ) );
	
	// obtem o nome do jagunco que zerou os frags
	get_user_name( id_user, name, charsmax( name ) );
	
	// formata a msg com o nome do cabra que zerou os frags
	format( msg, charsmax( msg ), msg, name );
	
	for( i = 0; i < playersTotal; i++ )
	{
		player = players[ i ];
		
		// se player atual eh o msm cara que digitou nao faca nada
		if( id_user == player ) continue;
		
		// print a msg
		client_print_color( players[ i ], "%s %s", PLUGIN_TAG, msg )
	}
}
stock client_print_color(id, const text[], any:...)
{
	new g_iMsgidSayText;
	
	g_iMsgidSayText = get_user_msgid( "SayText" );
	
	new szMsg[191];
	vformat(szMsg, charsmax(szMsg), text, 3);
	
	replace_all(szMsg, charsmax(szMsg), "!g","^x04");
	replace_all(szMsg, charsmax(szMsg), "!n","^x01");
	replace_all(szMsg, charsmax(szMsg), "!t","^x03");
	
	message_begin( MSG_ONE_UNRELIABLE, g_iMsgidSayText, _, id );
	write_byte( id );
	write_string( szMsg );
	message_end();
}

Google Ads
GuruQA
GuruQA
 
 
bRuc3

[PLUGIN]Chat Privado

Anderson

name_flood.sma - kicka jogadores que mudam de nick rápido

Alves

Quero editar esse plugin Steam Prefix

Anderson

Amx Mod X comandos

Anderson

phpBB SEO - Ultimate SEO URL - phpBB 3.1

Anderson

Remove todos os bans permanentes dos cfg e HLDS - AMXX

thiagomito

Erro no plugin?

Anderson

Reset Score - AMXX

Anderson

amx_pausecfg - AMXX

thiagomito

PLUGIN MUITO BOM PARA PLAYER SEM OBJETIVO!