- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <nvault> #define ACCESS ADMIN_SLAY #define WORDS 999 #define SWEAR_GAGMINUTES 3 #define SHOW new const g_FileName[] = "automute-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 new g_vault public plugin_init() { register_plugin("GAG-Manager", "1.0", "ExoTiQ") register_concmd( "amx_gag", "gag_cmd", ACCESS,"- <nume> <minute> <motiv> [Plugin by ExoTiQ]" ); register_concmd( "amx_ungag", "ungag_cmd", ACCESS, "- <nume>" ); register_clcmd( "say", "check" ); register_clcmd( "say_team", "check" ); g_vault = nvault_open("ListaDisconnect"); point = get_cvar_pointer( "amx_show_activity" ); } public plugin_cfg() { static dir[ 999 ]; get_localinfo( "amxx_configsdir", dir, 998 ); 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 client_connect(id) { LoadMutedPlayers(id) } 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 deja are 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; culoare_scris( 0, "!verde[GAG-Manager] !verde%s: !verde!team%s !team a primit gag pentru !verde %d minute. !teamMotiv: !verde%s",get_pcvar_num( point ) == 2 ? name : "", namet, minutes, reason ); 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 ); culoare_scris( 0, "!verde[GAG-Manager] !team%s: !team A scos gag jucatorului !verde!team%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 ); new name[ 32 ] get_user_name( index, name, 31 ); culoare_scris( 0, "!verde[GAG-Manager] !team %s Nu mai are gag!",name ); 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 ] ) { culoare_scris( id,"!team[!verdeGAG-Manager!team] !verde [ !team Ai luat gag de la !verde%s !verde] ", g_admin); culoare_scris( id,"!team[!verdeGAG-Manager!team] !verde [ !team Timp ramas pentru ungag !verde%d minutes !verde] " , g_GagTime[ id ], g_GagTime[ id ] == 1 ? "" : "s" ); culoare_scris( id,"!team[!verdeGAG-Manager!team] !verde [ !team Motiv: !verde%s !verde] ", g_reason ); return PLUGIN_HANDLED; } else if( g_SwearGag[ id ] ) { culoare_scris( id, "!verde[GAG-Manager] !verde [ !team Ai primit interzicere pentru folosirea chatului! (Reclama,Swear) !verde] ") culoare_scris( id,"!verde[GAG-Manager] !verde [ !team Timp ramas pentru ungag !verde%d !verdeminutes !verde] " , 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; g_SwearGag[ id ] = true; g_GagTime[ id ] = SWEAR_GAGMINUTES; culoare_scris( 0,"!team !verde [GAG-Filter] !normal muted !team%s !normal for !verde 3 !normal minutes",name ); 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],userip[32] get_user_name(id,Nick,31) get_user_ip(id,userip,31); get_user_authid(id,Authid,34) culoare_scris(0, "!team[!normalGAG-Manager!team] !normal Jucatorul cu gag !verde%s !team[!normalIP: !verde%s!team] !normalA iesit de pe server.",Nick,userip) SaveMutedPlayers(id); remove_task( id ); g_Gaged[id] = false; } } public SaveMutedPlayers(id) { new name[32], userip[32]; get_user_name(id,name,31); get_user_ip(id,userip,31); new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s[IP: %s]-Muted",name,userip) format(vaultdata,255,"%i#%i#",g_Gaged[id],g_SwearGag[id]) nvault_set(g_vault,vaultkey,vaultdata) return PLUGIN_CONTINUE } public LoadMutedPlayers(id) { new name[32], userip[32]; get_user_name(id,name,31); get_user_ip(id,userip,31); new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s[IP: %s]-Muted",name,userip) format(vaultdata,255,"%i#%i#",g_Gaged[id],g_SwearGag[id]) nvault_get(g_vault,vaultkey,vaultdata,255) replace_all(vaultdata, 255, "#", " ") return PLUGIN_CONTINUE } stock culoare_scris(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!verde", "^4") replace_all(msg, 190, "!normal", "^1") replace_all(msg, 190, "!team", "^3") 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, get_user_msgid("SayText"), _, players) write_byte(players); write_string(msg); message_end(); } } } }
Problema GAG-Manager plugin
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
- Corax
- Membru, skill +1
- Posts: 262
- Joined: 17 Feb 2015, 15:42
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- SteamID: coraxcfg96
- Fond eXtream: 0
- Has thanked: 3 times
- Contact:
Deci am o problema cu acest plugin, deoarece cand ii dau eu sau se da automat gag unui jucator, tot poate sa vorbeasca jucatorul respectiv, indiferent daca are gag primit, va rog sa-mi fixati problema in acest script, daca puteti.
- Nubo
- Fost moderator
- Posts: 2734
- Joined: 11 Jul 2012, 18:45
- Detinator Steam: Da
- CS Status: [əˈnɒn.ɪ.məs]
- Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod - Has thanked: 8 times
- Been thanked: 27 times
L-ai pus primul (dupa protectie) in plugins.ini ?
Cand nu merge acest forum sunt online aici:
- * Skype: nubo_cs
* Y!M ID: nubo_cs
- Corax
- Membru, skill +1
- Posts: 262
- Joined: 17 Feb 2015, 15:42
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- SteamID: coraxcfg96
- Fond eXtream: 0
- Has thanked: 3 times
- Contact:
Nu, nu l-am pus primul, dar dupa care protectie trebuie? :D am ceva cu Protection-Guard.amxx.
Last edited by Corax on 23 Feb 2015, 17:23, edited 1 time in total.
- Nubo
- Fost moderator
- Posts: 2734
- Joined: 11 Jul 2012, 18:45
- Detinator Steam: Da
- CS Status: [əˈnɒn.ɪ.məs]
- Reputatie: Fost scripter eXtreamCS
Fost eXtream Mod - Has thanked: 8 times
- Been thanked: 27 times
In caz ca ai protectie, krond-functions, rom-protect si etc., el (pluginul de protectie) trebuie sa fie primul in lista.
Cand nu merge acest forum sunt online aici:
- * Skype: nubo_cs
* Y!M ID: nubo_cs