Nasul K Posted March 25, 2021 Share Posted March 25, 2021 - Nume plugin:Force Gag - Autor:zorken / jailbreak - Engine ( HLDS / SRCDS ) : hlds - Versiune:1.2 - Informatii: Un gag care este foarte bun, salveaza pe ip gagurile si este anti reclama - Download: #include <amxmodx> #include <amxmisc> #include <nvault> #define ACCESS ADMIN_KICK #define FileLoc "addons/amxmodx/configs/cuvinte.ini" new const tag[] = "!g[!tForce Gag!g]"; new g_Gag[2][33], warn[33] new const g_vault_name[] = "gag" new gvault new g_Cvar[2] new check_file new Array:g_WArray public plugin_precache() { g_WArray = ArrayCreate(32) g_Cvar[0] = register_cvar("forcegag_fast", "1"); g_Cvar[1] = register_cvar("forcegag_checkchat", "1"); if(get_pcvar_num(g_Cvar[0]) > 0) Plugin_Zorken() } public plugin_init() if(get_pcvar_num(g_Cvar[0]) <= 0) Plugin_Zorken() public plugin_end() { nvault_close(gvault) ArrayDestroy(g_WArray) } public gag_cmd(id, level, cid) { if(!cmd_access(id, level, cid, 4)) return PLUGIN_HANDLED; new arg[32], arg2[32], arg3[32], arg4[32], szArg = charsmax(arg); new minutes; new bool:MultiGag = read_argc() == 5 ? true : false read_argv(1, arg, szArg) new target2, target = cmd_target(id, arg, CMDTARGET_OBEY_IMMUNITY|CMDTARGET_NO_BOTS) if (!target) return PLUGIN_HANDLED read_argv(2, arg2, szArg); if(MultiGag == true) { target2 = cmd_target(id, arg2, CMDTARGET_OBEY_IMMUNITY|CMDTARGET_NO_BOTS) if (!target) return PLUGIN_HANDLED if(g_Gag[0][target2]) { console_print(id, "Jucatorul are deja gag!"); return PLUGIN_HANDLED; } read_argv(3, arg3, szArg); minutes = str_to_num(arg3); read_argv(4, arg4, szArg); remove_quotes(arg4); } else { minutes = str_to_num(arg2); read_argv(3, arg4, szArg); remove_quotes(arg4); } if(minutes < 1||minutes > 10) { console_print(id, "Minut minim 1 si maxim 10"); return PLUGIN_HANDLED; } if(g_Gag[0][target]) { console_print(id, "Jucatorul are deja gag!"); return PLUGIN_HANDLED; } new name[32], namet[32], namett[32]; get_user_name(id, name, szArg); get_user_name(target, namet, szArg); if(MultiGag == true) { get_user_name(target2, namett, szArg); g_Gag[0][target2] = 1; g_Gag[1][target2] = minutes; print(0, "%s !g%s!n a dat gag jucatorilor!g %s!n si!g %s!n pentru [!t%d!n] minut%s.", tag, name, namet, namett, minutes, (minutes == 1 ? "" : "e")); } else print(0, "%s !g%s!n a dat gag jucatorului!g %s!n pentru [!t%d!n] minut%s.", tag, name, namet, minutes, (minutes == 1 ? "" : "e")); print(0, "%s !nMotiv: !g%s", tag, arg4); g_Gag[0][target] = 1; g_Gag[1][target] = minutes; 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]; read_argv(1, arg, charsmax(arg)); new target = cmd_target(id, arg, CMDTARGET_OBEY_IMMUNITY|CMDTARGET_NO_BOTS); if(!target) return PLUGIN_HANDLED; new namet[32]; get_user_name(target, namet, charsmax(namet)); if(!g_Gag[0][target]) { console_print(id, "Jucatorul %s nu are gag.", namet); return PLUGIN_HANDLED; } new name[32] get_user_name(id, name, charsmax(name)); g_Gag[0][target] = 0 remove_task(target+123); print(0, "%s !g%s!n a dat ungag jucatorului!g %s",tag, name, namet); log_amx("%s a dat ungag lui %s",name,namet) return PLUGIN_HANDLED; } public count(task) { new index = task - 123; if(!is_user_connected(index)) return 0; g_Gag[1][index] -= 1; if(g_Gag[1][index] <= 0) { remove_task(index+123); if(index != 0) print(index, "%s!n Ai primit UnGag cu succes!",tag); g_Gag[0][index] = 0; return 0; } return 1; } public check(id) { if(g_Gag[0][id]) { print(id,"%s !nTACI MA DISPERATULE!!!!!!!!",tag); print(id,"%s !nAsteapta si tu !g%i !tminut%s !nca nu mori...",tag,g_Gag[1][id],g_Gag[1][id] == 1 ? "" : "e"); if(g_Gag[0][id] == 2) { print(id,"%s !nData viitoare lasa reclama sau limbaju.",tag); } return PLUGIN_HANDLED; } else if(get_pcvar_num(g_Cvar[1]) > 0 && check_file == 1) { new said[192]; read_args(said, charsmax(said)); if(!strlen(said)) return PLUGIN_CONTINUE; trim(said) replace_all(said,191," ","") replace_all(said,191,"[","") replace_all(said,191,"]","") replace_all(said,191,",","") replace_all(said,191,"/","") replace_all(said,191,"\","") replace_all(said,191,";","") replace_all(said,191,":","") replace_all(said,191,"(","") replace_all(said,191,")","") new szTemp[32] for(new i = 0; i < ArraySize(g_WArray); ++i) { ArrayGetString(g_WArray, i, szTemp, 31) if(containi(said, szTemp) != -1) { new strg[50] warn[id] += 1 switch(random_num( 1, 10 )) { case 1: formatex(strg, charsmax(strg), "Ce tare e serverul :x") case 2: formatex(strg, charsmax(strg), "Imi place sv si sunt gay :x") case 3: formatex(strg, charsmax(strg), "Imi place sv, am sa intru mereu") case 4: formatex(strg, charsmax(strg), "Mama tare sv, pacat ca sunt blond") case 5: formatex(strg, charsmax(strg), "Care a indraznit sa-mi deschida cusca?") case 6: formatex(strg, charsmax(strg), "La ce prost sunt am licenta") case 7: formatex(strg, charsmax(strg), "Imi pute puta de la labusca") case 8: formatex(strg, charsmax(strg), "Imi miroase a ****, unde e?") case 9: formatex(strg, charsmax(strg), "Caut gigolo cu **** mare") case 10: formatex(strg, charsmax(strg), "Doamneee, iubesc sv asta") } engclient_cmd(id, "say", strg); if(warn[id] == 3) { g_Gag[0][id] = 2; g_Gag[1][id] = 3; print(id, "%s!n Ai gag pentru limbaj vulgar sau reclama.",tag); new name[33] get_user_name(id,name,charsmax(name)) log_amx("%s a facut reclama/lbj",name) set_task(60.0, "count",id+123,_,_,"b"); warn[id] = 0; } else { print(id, "%s!n Ai primit un craniu pentru limbaj urat.",tag) print(id, "%s!n La 3 crani ai Gag.",tag) } return PLUGIN_HANDLED; } } } return PLUGIN_CONTINUE; } public client_putinserver(id) LoadGag(id) public client_disconnect(id) { SaveGag(id) if(g_Gag[0][id]) { new Nick[32] get_user_name(id,Nick,charsmax(Nick)) if(!(get_user_flags(id) & ADMIN_KICK)) { new usrip[32] get_user_ip(id,usrip,charsmax(usrip)); print(0, "%s !nJucatorul cu gag!g %s!t[IP:!g %s!t] a parasit serverul.",tag,Nick,usrip) } else print(0, "%s !nJucatorul cu gag!g %s!t a parasit serverul.",tag,Nick) g_Gag[0][id] = 0; } } public anunt(id) print(id, "%s !nAi primit 10 minute gag.",tag) LoadGag(id) { new authid[35] get_user_ip(id, authid, charsmax(authid)) new data[16]; if(nvault_get(gvault, authid, data, 15)) { g_Gag[0][id] = str_to_num(data) if(g_Gag[0][id]) { g_Gag[1][id] = 10 set_task(4.0,"anunt",id) set_task(60.0, "count", id + 123, _, _, "b"); } } } SaveGag(id) { new authid[32] get_user_ip(id, authid, charsmax(authid)) new data[16] num_to_str(g_Gag[0][id], data, charsmax(data)) nvault_set(gvault, authid, data) } Plugin_Zorken() { register_plugin("Force Gag", "1.2", "zorken") register_cvar("forcegag_v", "1.2", FCVAR_SERVER|FCVAR_SPONLY); register_concmd("amx_gag", "gag_cmd", ACCESS,"- <nume> <nume/minute> <minute/motiv> <motiv*>"); register_concmd("amx_ungag", "ungag_cmd", ACCESS, "- <nume> - Scoate gagul"); register_clcmd("say", "check"); register_clcmd("say_team", "check"); gvault = nvault_open(g_vault_name); if(file_exists(FileLoc)) { new Line[32],Len for(new i; i < file_size(FileLoc, 1); i++) { read_file(FileLoc, i, Line, charsmax(Line), Len); ArrayPushString(g_WArray, Line) if(check_file == 0) check_file = 1 } } } stock print( const id, const input[ ], any:... ) { new msg[191], players[32], count = 1; vformat(msg,charsmax(msg),input,3); replace_all(msg,charsmax(msg),"!g","^4"); replace_all(msg,charsmax(msg),"!n","^1"); replace_all(msg,charsmax(msg),"!t","^3"); if (id) players[0] = id; else get_players(players,count,"ch"); for (new i=0;i<count;i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("SayText"),_,players[i]); write_byte(players[i]); write_string(msg); message_end(); } } } - Instalare:Compilezi sursa si o bagi in addons/amxmodx/plugins Adaugati in addons/amxmodx/configs/cuvinte.ini si in el bagati cuvintele interzise(pentru versiunea 1.2)!!! Link to comment Share on other sites More sharing options...
Recommended Posts