Cerere plugin GAG - functional

Aici se vor face cererile de pluginuri AMXX sau AdminMod!
Post Reply
FuzZy
Nou Venit
Nou Venit
Posts: 1
Joined: Wed Mar 09, 2011 2:26 pm
Detinator Steam: Nu

Cerere plugin GAG - functional

Post by FuzZy »

Am nevoie de un plugin pentru GAG , dar sa fie functional , ceva gen advanced_gag sa aiba si gag_words.ini . Am pus pluginul pe server, dau gag la cineva ii arata ca primeste gag , si timpul tot dar tot poate vorbi ; cand scrie ii zice ca are gag dar tot se vede ce scrie . Multumesc
Mihaita
Fost administrator
Fost administrator
Posts: 120
Joined: Thu Dec 24, 2009 7:07 pm
Detinator Steam: Da
Cunostinte CS: Bune
Reputatie: Fost administrator
Fost detinator: zm.dark-arena.ro, jb.dark-arena.ro
Location: Tot acolo stau

Re: Cerere plugin GAG - functional

Post by Mihaita »

Salut,
#include <amxmodx> #include <amxmisc> #define PLUGIN "Advanced Gag" #define VERSION "2.1" #define AUTHOR "anakin_cstrike" #define ACCESS ADMIN_KICK #define WORDS 64 #define SWEAR_GAGMINUTES 2 #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, toggle_admins; public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR ); register_dictionary( "advanced_gag.txt" ); register_concmd( "amx_gag", "gag_cmd", ACCESS,"- <target> <minutes> <reason>" ); register_concmd( "amx_ungag", "ungag_cmd", ACCESS, "- <target>" ); register_clcmd( "say", "check" ); register_clcmd( "say_team", "check" ); toggle_tag = register_cvar( "gag_tag", "1" ); toggle_admins = register_cvar( "gag_admins", "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, 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, "%L",id, "GAG_ALLREDYGAGED" ); 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; #if defined SHOW print( 0, "%L", LANG_PLAYER, "GAG_ADMINGAGEDPLAYER",get_pcvar_num( point ) == 2 ? name : "", namet, minutes, reason ); #endif print( target, "%L", target ,"GAG_ADMINHASGAGEDYOU", get_pcvar_num( point ) == 2 ? name : "", 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, "%L", id, "GAG_PLAYERNOTGAGED", 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 ); #if defined SHOW print( 0, "%L", LANG_PLAYER, "GAG_ADMINUNGAGEDPLAYER",get_pcvar_num( point ) == 2 ? name : "", namet ); #endif print( target, "%L", target ,"GAG_ADMINHASUNGAGEDYOU", get_pcvar_num( point ) == 2 ? name : "", reason[ 0 ] ? reason : "-" ); 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, "%L", index, "GAG_AUTOUNGAGED" ); g_Gaged[ index ] = false; if( g_NameChanged[ index ] ) client_cmd( index, "name ^"%s^"", g_name[ index ] ); return 0; } return 1; } public check( id ) { if( ( get_user_flags( id ) & ACCESS ) && get_pcvar_num( toggle_admins ) == 0 ) return PLUGIN_CONTINUE; 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,"%L", id, "GAG_CANTSPEAK_ADMINCMD" ,g_admin, g_GagTime[ id ], g_GagTime[ id ] == 1 ? "" : "s" ); print( id,"%L", id, "GAG_WORDREASON", g_reason ); return PLUGIN_HANDLED; } else if( g_SwearGag[ id ] ) { print( id, "%L", id, "GAG_CANTSPEAK_SWEAR", 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, "%L", id, "GAG_GAGFORSWEAR" ); set_task( 60.0, "count",id+123,_,_,"b"); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; } 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(); } } } Uite si cuvinte pentru gag_words.ini .r o .c o m .net .n e t .n.et .ne.t .n.e.t .r o .ro .r.o .com .co.m .c.om .c.o.m .c o m .de .be .us .org .o.rg .or.g .o.r.g .o r g .biz .eu .ru .gameszone .gamezone .games-zone .game-zone .podzone .noua .powerzone .power-zone .pgl-zone .pglx .equilibrum .phpbb .forumz .milenium .cstrike .c-strike .strikees .strike .e-strike .cs-utilz .cs-util .mapping .mapper .fpsbanana .cszone .cs-zone .csszone .csgzone .elitegames .fdns .zapto .godgame .arenacs .uv .be .pgl .p g l .warsN .warsn .extreme .extream .cs-extream .xtreme .e-xtreme .e-addons .e-gaming .e-games .egames .xtream .extreame .cstools .hl-strike .hlstrike .link .links .cand .godszone .godzone .cszone .hotzone .hell-zone .hellzone .pgl-zone .pglzone .extreamcs .awpzone .awp-Zone .cs-16 .voodoo .powerzone .power-zone .samara .cs16 .smellmysocks .hellgamers .hell-gamers .hell-game .hell-games .hellgame .hellgames .gotpower .got-power .modernCS .netzoneCS .extreamcs.ro .extreamcs.com .gaming .games .computergames .csgzone .cs-zone .gotdns .idle .cx .ath conect connect c.o.n.e.c.t c o n e c t c.o.n.n.e.c.t c o n n e c t www. www w w w http:// :27015 :27014 :28017 :30300 :29015 :29016 :29017 :29018 :25015 :25016 :27005 :27010 :27016 :27018 :27017 :28015 :28016 :27018 :27019 :27020 :27005 :28018 :35015 :26015 :26017 :26016 :35016 :37015 :36016 :39017 :24015 :23015 :38015 :38016 :38017 **** ***** fmm mm **** ***** ***** bagamiasi lake ratat slbz sloboz p.u.l.a p.ula p-ula pl s.ugi sugi muie mui3 mu!e mu!3 m.uie m.ata m-ata m a t a m u i e f m m f.mm f-mm m.m m m .extremecs extremecs zp.extremecs.ro zm.extremecs.ro 89. .44 246. 89.44.246. extream .extream CS ZP ZM DR HNS HS WAR3 WAR3FT PUB CS. ZP. ZM. DR. HNS. HS. WAR3. WAR3FT. PUB. Cvar:
gag_tag 1/0

1 - numele se va schimba
0 - numele nu se va schimba

(default 1)
gag_admins 1/0

1 - adminul nu poate scrie
0 - adminul poate scrie

(default 0)

Comenzi administrative:
amx_gag <jucator> <timp> <motiv> -- da gag unui jucator
amx_ungag <jucator> <motiv> -- scoate gag unui jucator (motivul nu este obligatoriu)
Post Reply