amx_gag poti vorbi dp ce dai gag[Rezolvat]

Discutii legate de instalarea, configurarea si modificarea unui server de Counter-Strike.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
AHE
Membru, skill +2
Membru, skill +2
Posts: 622
Joined: 01 Oct 2012, 11:20
Detinator Steam: Da
Location: Zimnicea ;x
Has thanked: 66 times
Been thanked: 3 times

18 Nov 2013, 14:52

Deci am un plugin pentru gag, dau cuiva gag pentru 2-3 minute si tot poate sa vorbeasca :| Va rog ma ajutati?

Uitati .sma poate modificati ceva sa mearga:
.sma | Afiseaza codul
#include <amxmodx>
#include <amxmisc>

#define ACCESS 			ADMIN_KICK
#define WORDS			64
#define SWEAR_GAGMINUTES	3
#define SHOW

new const tag[] = "[Gag]";
new const g_FileName[] = "gag_words.ini";

new 
bool:g_Gaged[ 33 ], g_GagTime[ 33 ],
bool:g_SwearGag[ 33 ], bool:g_CmdGag[ 33 ],
bool:g_NameChanged[33];

new g_reason[ 32 ], g_admin[ 32 ], g_name[ 33 ][ 32 ];

new g_WordsFile[ 128 ];
new g_Words[ WORDS ][ 32 ], g_Count, g_Len;

new point, g_msgsaytext;
new toggle_tag

public plugin_init() 
{
	register_plugin("Advance Gag", "2.1", "anakin_cstrike/ update -B1ng0-")
	
	register_concmd( "amx_gag", "gag_cmd", ACCESS,"- <nume> <minute> <motiv> - Da gag jucatorului" );
	register_concmd( "amx_ungag", "ungag_cmd", ACCESS, "- <nume> - Scoate gagul" );
	register_clcmd( "say", "check" );
	register_clcmd( "say_team", "check" );
	
	toggle_tag = register_cvar( "gag_tag", "0" );
	point = get_cvar_pointer( "amx_show_activity" );
	g_msgsaytext = get_user_msgid( "SayText" );
	
}

public plugin_cfg()
{
	static dir[ 64 ];
	get_localinfo( "amxx_configsdir", dir, 63 );
	formatex( g_WordsFile , 127 , "%s/%s" , dir, g_FileName );
	
	if( !file_exists( g_WordsFile ) )
		write_file( g_WordsFile, "[Gag Words]", -1 );
		
	new Len;
	
	while( g_Count < WORDS && read_file( g_WordsFile, g_Count ,g_Words[ g_Count ][ 1 ], 30, Len ) )
	{
		g_Words[ g_Count ][ 0 ] = Len;
		g_Count++;
	}
}

public gag_cmd( id, level, cid )
{
	if( !cmd_access( id, level, cid, 4 ) )
		return PLUGIN_HANDLED;  	
		
	new arg[ 32 ], arg2[ 6 ], reason[ 32 ];
	new name[ 32 ], namet[ 32 ];
	new minutes;
	
  	read_argv(1, arg, 31)

  	new player = cmd_target(id, arg, 9)

  	if (!player) 
      	return PLUGIN_HANDLED
	
	read_argv( 1, arg, sizeof arg - 1 );
	read_argv( 2, arg2, sizeof arg2 - 1 );
	read_argv( 3, reason, sizeof reason - 1 );
		
	get_user_name( id, name, 31 );
	
	copy( g_admin, 31, name );
	copy( g_reason, 31, reason );
	remove_quotes( reason );
	
	minutes = str_to_num( arg2 );
	
	new target = cmd_target( id, arg, 10 );
	if( !target)
		return PLUGIN_HANDLED;
	
	if( g_Gaged[ target ] )
	{
		console_print( id, "Jucatorul are deja gag!" );
		return PLUGIN_HANDLED;
	}
	
	get_user_name( target, namet, 31 );
	copy( g_name[ target ], 31, namet );
	
	g_CmdGag[ target ] = true;
	g_Gaged[target] = true;
	g_GagTime[ target ] = minutes;
	
	print( 0, "^x04[BsK.Ro] %s:^x01 Gag jucatorul^x03 %s^x01 pentru^x03 [%d]^x01 minut(e). Motiv:^x03 %s",get_pcvar_num( point ) == 2 ? name : "", namet, minutes, reason );
	
	if( get_pcvar_num( toggle_tag ) == 1 )
	{
		new Buffer[ 64 ];
		formatex( Buffer, sizeof Buffer - 1, "%s %s", tag, namet );
		
		g_NameChanged[ target ] = true;
		client_cmd( target, "name ^"%s^"",Buffer );
	}
	
	set_task( 60.0, "count", target + 123, _, _, "b" );
	
	return PLUGIN_HANDLED;
}

public ungag_cmd( id,level, cid )
{
	if( !cmd_access( id, level, cid, 2 ) )
		return PLUGIN_HANDLED;
		
	new arg[ 32 ], reason[ 32 ], name[ 32 ];
	read_argv( 1, arg, sizeof arg - 1 );
	read_argv( 2, reason, sizeof reason - 1 );
	get_user_name( id, name, sizeof name - 1 );
	remove_quotes( reason );
	
	new target = cmd_target( id, arg, 11 );
	if( !target )
		return PLUGIN_HANDLED;
	new namet[ 32 ];
	get_user_name( target, namet, sizeof namet - 1 );
	
	if( !g_Gaged[ target ] )
	{
		console_print( id, "Jucatorul %s nu are gag.", namet );
		return PLUGIN_HANDLED;
	}
	
	g_Gaged[ target ] = false;
	g_SwearGag[ target ] = false;
	
	if( g_NameChanged[ target ] )
		client_cmd( target, "name ^"%s^"", g_name[ target ] );
		
	g_NameChanged[ target ] = false;
	
	remove_task( target + 123 );
	
	print( 0, "^x04[BsK.Ro] %s:^x01 UnGag jucatorul^x03 %s",get_pcvar_num( point ) == 2 ? name : "", namet );
	
	return PLUGIN_HANDLED;
}
	
public count( task )
{
	new index = task - 123;
	if( !is_user_connected( index ) )
		return 0;
		
	g_GagTime[index] -= 1;
	
	if( g_GagTime[ index ] <= 0 )
	{
		remove_task( index + 123 );
		
		print( index, "Ai primit UnGag cu succes!" );
		g_Gaged[ index ] = false;
	
		if( g_NameChanged[ index ] )
			client_cmd( index, "name ^"%s^"", g_name[ index ] );
		
		return 0;
	}
	
	return 1;
}

public check( id )
{
	new said[ 192 ];
	read_args( said, sizeof said - 1 );
	
	if( !strlen( said ) )
		return PLUGIN_CONTINUE;
		
	if( g_Gaged[ id ] )
	{
		if( g_CmdGag[ id ] )
		{
			print( id,"Ai primit gag de la: %s. Au mai ramas %d minut(e)" ,g_admin, g_GagTime[ id ], g_GagTime[ id ] == 1 ? "" : "s" );
			print( id,"Motivul Gagului: %s", g_reason );
			
			return PLUGIN_HANDLED;
		
		} else if( g_SwearGag[ id ] ) {
          		print( id, "Ai gag pentru limbaj vulgar sau reclama.")
			print( id, "Au mai ramas %d minut(e)",  g_GagTime[ id ], g_GagTime[ id ] == 1 ? "" : "s" );
			return PLUGIN_HANDLED;
		}
	} else {
		
		new bool:g_Sweared, i, pos;
		
		for( i = 0; i < g_Count; ++i )
		{
			if( ( pos = containi( said, g_Words[ i ][ 1 ] ) ) != -1 )
			{
				g_Len = g_Words[ i ][ 0 ];
				
				while( g_Len-- )
					said[ pos++ ] = '*';
					
				g_Sweared = true;
				continue;
			}
		}
		
		if( g_Sweared )
		{
			new cmd[ 32 ], name[ 32 ];
			
			get_user_name( id, name, sizeof name - 1 );
			read_argv( 0, cmd, sizeof cmd - 1 );
			copy( g_name[ id ], 31, name );
			
			engclient_cmd( id, cmd, said );
			g_Gaged[ id ] = true;
			g_CmdGag[ id ] = false;
			
			if( get_pcvar_num( toggle_tag ) == 1 )
			{
				new Buffer[ 64 ];
				formatex( Buffer, sizeof Buffer - 1, "%s %s", tag, name );
		
				g_NameChanged[ id ] = true;
				client_cmd( id, "name ^"%s^"", Buffer) ;
			}
			
			g_SwearGag[ id ] = true;
			g_GagTime[ id ] = SWEAR_GAGMINUTES;
			
			print( id, "Ai gag pentru limbaj vulgar sau reclama." );
		
			set_task( 60.0, "count",id+123,_,_,"b");
			
			return PLUGIN_HANDLED;
		}
	}
	
	return PLUGIN_CONTINUE;
}

public client_disconnect(id) 
{ 
	if(g_Gaged[id]) 
	{
	 new Nick[32],Authid[35],usrip[32]
	 get_user_name(id,Nick,31)
	 get_user_ip(id,usrip,31);
	 get_user_authid(id,Authid,34) 
	 print(0, "^x04[BsK.Ro]^x01 Jucatorul cu gag^x03 %s^x01[IP:^x03 %s^x01] a parasit serverul.",Nick,usrip)		
		
	 g_Gaged[ id ] = false;
    	 g_SwearGag[ id ] = false;	
    	 remove_task( id );
		
	}
}

print( id, const message[ ], { Float, Sql, Result, _ }:... )
{
	new Buffer[ 128 ], Buffer2[ 128 ];
	
	formatex( Buffer2, sizeof Buffer2 - 1, "%s", message );
	vformat( Buffer, sizeof Buffer - 1, Buffer2, 3 );
	
	if( id )
	{
		message_begin( MSG_ONE, g_msgsaytext, _,id );
		write_byte( id );
		write_string( Buffer) ;
		message_end();
	
	} else {
		new players[ 32 ], index, num, i;
		get_players( players, num, "ch" );
		
		for( i = 0; i < num; i++ )
		{
			index = players[ i ];
			if( !is_user_connected( index ) ) continue;
			
			message_begin( MSG_ONE, g_msgsaytext, _, index );
			write_byte( index );
			write_string( Buffer );
			message_end();
		}
	}
}
Click | Afiseaza codul
Schimb Steam pentru Iteme Site pe Metin2 Legacy.
Un click :o3
Contact: [email protected] [Y!M] | mr.yonutz_zm [SKYPE]
User avatar
Gabriel963
Fost moderator
Fost moderator
Posts: 1658
Joined: 03 Feb 2013, 13:03
Detinator Steam: Da
CS Status: Retried
Reputatie: Membru Club eXtreamCS (1 luna)
Fost Moderator
Location: Bucharest, Romania.
Has thanked: 20 times
Been thanked: 85 times

18 Nov 2013, 18:29

Pune-l prin primele in plugins.ini .
Image
User avatar
AHE
Membru, skill +2
Membru, skill +2
Posts: 622
Joined: 01 Oct 2012, 11:20
Detinator Steam: Da
Location: Zimnicea ;x
Has thanked: 66 times
Been thanked: 3 times

18 Nov 2013, 20:28

Ii pus :|
Click | Afiseaza codul
Schimb Steam pentru Iteme Site pe Metin2 Legacy.
Un click :o3
Contact: [email protected] [Y!M] | mr.yonutz_zm [SKYPE]
User avatar
Gabriel963
Fost moderator
Fost moderator
Posts: 1658
Joined: 03 Feb 2013, 13:03
Detinator Steam: Da
CS Status: Retried
Reputatie: Membru Club eXtreamCS (1 luna)
Fost Moderator
Location: Bucharest, Romania.
Has thanked: 20 times
Been thanked: 85 times

19 Nov 2013, 15:34

Pune-l inainte oricarui alt plugin ce are legatura cu chat-ul, imposibil sa nu functioneze.
Image
User avatar
AHE
Membru, skill +2
Membru, skill +2
Posts: 622
Joined: 01 Oct 2012, 11:20
Detinator Steam: Da
Location: Zimnicea ;x
Has thanked: 66 times
Been thanked: 3 times

19 Nov 2013, 15:37

deci sa-l pun primul sau ultimul?
Click | Afiseaza codul
Schimb Steam pentru Iteme Site pe Metin2 Legacy.
Un click :o3
Contact: [email protected] [Y!M] | mr.yonutz_zm [SKYPE]
User avatar
CsN^ ;x
Membru eXtream
Membru eXtream
Posts: 3560
Joined: 02 Apr 2012, 16:58
Detinator Steam: Nu
CS Status: Retras din domeniul Counter-Strike
Reputatie: Fost moderator
Location: Bucuresti
Has thanked: 797 times
Been thanked: 607 times

19 Nov 2013, 15:38

AHE wrote:deci sa-l pun primul sau ultimul?
De jmecher,punel acolo si nu mai pune atatea intrebari,ai cerut ajautor ti se da "punel primu in lista" sau ia altu ala e buguit alu b1ng0 din cate stiu eu.
Addons HNS level,gravity,xp DOWNLOAD ( e țeapă)
https://5filme.com/ - un simplu site de filme pentru timpul liber
User avatar
h4wk
Fost moderator
Fost moderator
Posts: 3806
Joined: 22 Sep 2009, 13:10
Detinator Steam: Da
Reputatie: Fost eXtream Mod
Nume anterior : DaZ , zimpe , Dan eXtream
Location: Iasi
Has thanked: 306 times
Been thanked: 321 times
Contact:

23 Nov 2013, 00:52

Incearca asta :

Ai nevoie de :
  • Un fisier filter.cfg pe care il pui in addons\amxmodx\data
  • Un sunet misc/limbajul.wav pe care il pui in cstrike\sound
  • Descarca : filter.cfg
  • Descarca : misc/limbajul.wav

Code: Select all

#include <amxmodx>
#include <amxmisc> 

#define MAX_WORDS 200 

new g_swearsNames[MAX_WORDS][32] 
new g_swearsNum 

public plugin_init() 
{ 
    register_plugin("Server Filter", "LinkCS", "x") 

    register_clcmd("say","swearcheck") 
    register_clcmd("say_team","swearcheck")

    readList()
}

readList() 
{
        new g_datadir[64], filename[64]

    get_datadir(g_datadir, 63)

    format(filename, 63, "%s/filtru.ini", g_datadir)

    if(!file_exists(filename))
        {
        log_message("[AMXX]Filtru: fisierul %s nu a fost gasit!", filename) 
        return 
    } 

    new iLen 

    while(g_swearsNum < MAX_WORDS && read_file(filename, g_swearsNum, g_swearsNames[g_swearsNum][1], 30, iLen)) 
    { 
            if(g_swearsNames[g_swearsNum][0] == ';') continue
            g_swearsNames[g_swearsNum][0] = iLen 

            ++g_swearsNum 
    }

    log_message("[AMXX]Filtru: %d cuvinte incarcate!", g_swearsNum) 
} 

public swearcheck(id) 
{
    new szSaid[200]
    read_args(szSaid, 199)

    new bool:found = false
    new pos, i = 0

    while(i < g_swearsNum)
    {
            if((pos = containi(szSaid, g_swearsNames[i][1])) != -1)
                {
                       if(is_user_alive(id))
                       {
                   new len = g_swearsNames[i][0]
                   while(len--)
                   szSaid[pos++] = '.'
                   found = true 

                           if(!is_user_admin(id))
                           {
                              client_cmd(id, "spk misc/limbajul.wav")
                           }

                   continue 
                       }
                       else  
                       {
                   new len = g_swearsNames[i][0]
                   while(len--)
                   szSaid[pos++] = '.'
                   found = true

                           if(!is_user_admin(id))
                           {
                              client_cmd(id, "spk misc/limbajul.wav")
                           }

                   continue            
                       }
            }
            ++i
    }

    if(found)
        { 
        new cmd[32]
        read_argv(0,cmd,31)          
        engclient_cmd(id, cmd, szSaid)    
    }

    return PLUGIN_CONTINUE 
} 

Code: Select all

"Daca ai culoare nu inseamna ca esti mai presus ca un utilizator. Culoare e un fel de "rasplata" pentru ca te implici in "ridicarea" acestei comunitati.
Unii nu realizeaza ca daca ai culoare nu inseamna ca esti smecher." -- by Alexey
:troll :troll

Spui ceva,dar faci altceva !
User avatar
AHE
Membru, skill +2
Membru, skill +2
Posts: 622
Joined: 01 Oct 2012, 11:20
Detinator Steam: Da
Location: Zimnicea ;x
Has thanked: 66 times
Been thanked: 3 times

23 Nov 2013, 12:39

REZOLVAT!
Click | Afiseaza codul
Schimb Steam pentru Iteme Site pe Metin2 Legacy.
Un click :o3
Contact: [email protected] [Y!M] | mr.yonutz_zm [SKYPE]
Post Reply

Return to “Probleme la servere dedicate de Counter-Strike”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 28 guests