Mahmoud Posted November 28, 2018 Share Posted November 28, 2018 Nume: amx_gag by adry Versiune: The newest. Descriere detaliata:pic of plugin Link to comment Share on other sites More sharing options...
adry Posted November 28, 2018 Share Posted November 28, 2018 #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", "1" ); 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[ZP] %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[ZP] %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[ZP]^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(); } } } Link to comment Share on other sites More sharing options...
Mahmoud Posted December 5, 2018 Author Share Posted December 5, 2018 plugin not work adry ! Link to comment Share on other sites More sharing options...
AiuRea Posted December 7, 2018 Share Posted December 7, 2018 @Mero^ go to plugins.ini and add amx_gag.amxx first to top and run. Link to comment Share on other sites More sharing options...
Mahmoud Posted May 4, 2019 Author Share Posted May 4, 2019 "lol" You say this plugin is private Quote #include <amxmodx> #include <amxmisc> //#define passwd "/rf" //Bools new bool:g_Gaged[33]; new bool:g_allowed[33]; new g_GagTime[33]; new SayText; //Cvars new cvar_gag_time,cvar_file; //Words file new const g_FileName[] = "gag_words.ini"; new g_Words[64][32], g_Count; public plugin_init() { register_plugin("AMXX GAG BAN", "0.09.1", "Ex3cuTioN"); //Comenzi admin register_concmd("amx_gag", "cmdGag", ADMIN_KICK,"- <target> <minutes>" ); register_concmd("amx_sysgag", "cmdGagSys", ADMIN_MENU,"- <target> <minutes>" ); register_concmd("amx_ungag", "cmdUngag", ADMIN_KICK, "- <target>"); //Comanda de chat register_clcmd("say", "sayHandle"); register_clcmd("say_team", "sayHandle"); //Cvar-uri cvar_gag_time = register_cvar("amx_gag_time", "3"); cvar_file = register_cvar("amx_gag_file", "1"); SayText = get_user_msgid("SayText") } public plugin_cfg() { if(get_pcvar_num(cvar_file)) { static dir[64], g_File[128]; get_localinfo( "amxx_configsdir", dir, 63 ); formatex(g_File, 127 , "%s/%s" , dir, g_FileName); if(!file_exists(g_File)) write_file(g_File, "[lista de cuvinte vulgare]", -1); new Len; while(g_Count < 64 && read_file(g_File, g_Count ,g_Words[g_Count][ 1 ], 30, Len)) { g_Words[g_Count][0] = Len; g_Count++; } } } public client_connect(id) { g_Gaged[id] = false; g_GagTime[id] = 0; g_allowed[id] = false; } public client_disconnect(id) { if(g_Gaged[id]) { client_printcolor(0, "!g[ZP] !yJucatorul cu gag %s s-a deconectat.",get_name(id)) } g_Gaged[id] = false g_GagTime[id] = 0; g_allowed[id] = false; } public sayHandle(id) { new said[192]; new save[192]; read_args(said, 191); read_args(save, 191); #if defined passwd if (contain(said, passwd) != -1 && !g_allowed[id]) { g_allowed[id] = true; client_printcolor(id, "!g[ZP] !yAi primit permisiunea de a folosi chatul") return PLUGIN_HANDLED; } if(!g_allowed[id]) { client_printcolor(id, "!g[ZP] !yScrie/Type !trf !ypentru a putea folosi chatul.") return PLUGIN_HANDLED; } #endif if(!strlen(said)) return PLUGIN_CONTINUE; if(g_Gaged[id]) { client_printcolor(id, "!g[ZP] !yMai ai de asteptat %i minute din gag.", g_GagTime[id]) return PLUGIN_HANDLED; } else if(get_pcvar_num(cvar_file)) { new bool:Injura, i, pos; new g_Len; for(i = 0; i<g_Count; ++i) { if((pos = containi(said, g_Words[1])) != -1) { g_Len = g_Words[0]; while(g_Len--) said[pos++] = '*'; Injura = true; continue; } } if(Injura) { new timp = get_pcvar_num(cvar_gag_time); g_Gaged[id] = true; g_GagTime[id] = timp; client_printcolor(0, "!g[ZP] !yJucatorul %s a primit gag automat datorita limbajului pentru %i minute",get_name(id),timp) client_printcolor(id, "!g[ZP] !yAi primit gag pentru %i minute",timp) client_printcolor(id, "!g[ZP] !yRetry la gag se pedepseste cu ban 120 minute") set_task(60.0, "count", id+123, _, _, "b"); log_to_file("gaglist.txt", "%s : %s",get_name(id),save); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; } public cmdGag(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new arg[32], arg2[6]; read_argv(1, arg, 31); read_argv(2, arg2, 5); new player = cmd_target(id, arg, 8); if(!player) return PLUGIN_HANDLED; if(g_Gaged[player]) { console_print(id,"Jucatorul %s are deja gag.",get_name(player)); return PLUGIN_HANDLED; } if(equal(arg2,"")) g_GagTime[player] = get_pcvar_num(cvar_gag_time); else g_GagTime[player] = str_to_num(arg2); g_Gaged[player] = true; client_printcolor(0, "!g[ZP] !yJucatorul %s a primit gag de la adminul %s pentru %i minute",get_name(player),get_name(id),g_GagTime[player]) client_printcolor(player, "!g[ZP] !yAi primit gag pentru %i minute",g_GagTime[player]) client_printcolor(player, "!g[ZP] !yRetry la gag se pedepseste cu ban 120 minute") set_task(60.0, "count", player+123, _, _, "b"); return PLUGIN_HANDLED; } public cmdGagSys(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new arg[32], arg2[6]; read_argv(1, arg, 31); read_argv(2, arg2, 5); new player = cmd_target(id, arg, 8); if(!player) return PLUGIN_HANDLED; if(g_Gaged[player]) { client_printcolor(0, "!g[ZP] !yJucatorul %s are deja gag",get_name(player)); return PLUGIN_HANDLED; } if(equal(arg2,"")) g_GagTime[player] = get_pcvar_num(cvar_gag_time); else g_GagTime[player] = str_to_num(arg2); g_Gaged[player] = true; client_printcolor(0, "!g[ZP] !yJucatorul %s a primit gag in urma votului jucatorilor pentru %i minute",get_name(player), g_GagTime[player]) client_printcolor(player, "!g[ZP] !yAi primit gag pentru %i minute.",g_GagTime[player]) client_printcolor(player, "!g[ZP] !yRetry la gag se pedepseste cu ban 120 minute") set_task(60.0, "count", player+123, _, _, "b"); return PLUGIN_HANDLED; } public cmdUngag(id,level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new arg[32]; read_argv(1, arg, 31); new player = cmd_target(id, arg, 8); if(!player) return PLUGIN_HANDLED; if(!g_Gaged[player]) { console_print( id, "Jucatorul %s nu are gag.",get_name(player)); return PLUGIN_HANDLED; } g_Gaged[player] = false; remove_task(player + 123); client_printcolor(player, "!g[ZP] !yAi primit ungag") return PLUGIN_HANDLED; } public count(task) { new player = task - 123; if(!is_user_connected(player)) return PLUGIN_HANDLED; g_GagTime[player] -= 1; if(g_GagTime[player] <= 0) { remove_task(player + 123); client_printcolor(player, "!g[ZP] !yAi primit ungag") g_Gaged[player] = false; return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } stock get_name(id) { new name[32]; get_user_name(id,name,31); return name; } stock get_steamid(id) { static steamid[32]; get_user_authid(id,steamid,31); return steamid; } stock get_ip(id) { static ip[32]; get_user_ip(id,ip,31); return ip; } stock client_printcolor(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") // Green Color replace_all(msg, 190, "!y", "^1") // Default Color replace_all(msg, 190, "!t", "^3") // Team Color if (id) players[0] = id; else get_players(players, count, "ch") { for ( new i = 0; i < count; i++ ) { if ( is_user_connected(players) ) { message_begin(MSG_ONE_UNRELIABLE, SayText, _, players) write_byte(players); write_string(msg); message_end(); } } } } Link to comment Share on other sites More sharing options...
Recommended Posts