#include <amxmodx> #include <amxmisc> #include <fun> #define PLUGIN "Zaawansowane SS" #define VERSION "1.0" #define AUTHOR "Gall Anonim" new gmsgFade, sv, length new id_admin[32], server[32], ban_reason[128]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) sv = register_cvar("amx_ss_server","www.amxx.pl") register_cvar("ss_reason", "Wstaw SSy na www.amxx.pl"); get_cvar_string("ss_reason", ban_reason, 127); register_concmd("amx_ss", "ScreenShot", ADMIN_KICK, "<player> <id-ul tau>") gmsgFade = get_user_msgid("ScreenFade") } new name_player[32],param,pozes,poze public ScreenShot(id, level, cid) { if (!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED get_pcvar_string(sv,server,50); new arg[32], ip_player[32] read_argv(1, arg, 31) new player = cmd_target(id, arg, 4) if (!player) return PLUGIN_HANDLED length = strlen(arg) + 1 get_user_name(player, name_player, 31); get_user_ip(player, ip_player, 31, 1); read_args(id_admin, 31) if (id_admin[0] == '"' && id_admin[length] == '"') { id_admin[0] = ' ' id_admin[length] = ' ' length += 2 } remove_quotes(id_admin[length]) chat_color(id, "!tNick: !g^"%s^" !n- Ip: !g%s", name_player,ip_player); chat_color(id, "!tNick: !g^"%s^" !n- Ip: !g%s", name_player,ip_player); chat_color(id, "!tNick: !g^"%s^" !n- Ip: !g%s", name_player,ip_player); chat_color(id, "!tNick: !g^"%s^" !n- Ip: !g%s", name_player,ip_player); pozes=5 poze=1 chat_color(id, "!g^"%s^" !nMusisz dac 5 zdjec, 1 musi byc zielone!", name_player); new hostname[64], name_admin[32], timer[32]; get_cvar_string("hostname",hostname,63); get_user_name(id, name_admin, 31); get_time("%m/%d/%Y - %H:%M:%S", timer,31); client_print(player, print_center, "Fotka Nr %d [ %s ]", poze+1, server); chat_color(player, "!n----------------------[!g%s!n]----------------------", server); chat_color(player, "!t[SS] !nAdmin: !g^"%s^" !nwykonal 5 zdjec !", name_admin); chat_color(player, "!t[SS] !nNick: !g^"%s^" !n- Ip: !g^%s", name_player, ip_player); chat_color(player, "!t[SS] !nData i godzina: !g%s !n- Serwer: !g^"%s^"", timer, hostname); chat_color(player, "!n----------------------[!g%s!n]----------------------", server); set_user_health(player, 100) client_cmd(player,"snapshot"); set_task(0.5,"hp",player) poze++ param=player new array[2]; array[0] = id; array[1] = player; set_task(1.0,"GreenShot",3322,_,_,"b"); set_task (7.0, "victimBan", 0, array, 2); return PLUGIN_HANDLED } public GreenShot(id, level, cid) { if(poze < pozes) { if(poze==3) { message_begin(MSG_ONE, gmsgFade, {0,0,0},param) write_short(14<<7) write_short(58<<6) write_short(1<<0) write_byte(5) write_byte(255) write_byte(0) write_byte(255) message_end() } new hostname[64], name_player[32], ip_player[32], timer[32]; new frags = get_user_frags (param) new deaths = get_user_deaths (param) get_cvar_string("hostname",hostname,63); get_user_name(param,name_player,31); get_user_ip(param, ip_player, 31, 1); get_time("%m/%d/%Y - %H:%M:%S", timer,31); client_print(param, print_center, "Fotka Nr %d [ %s ]", poze+1, server); chat_color(param, "!n----------------------[!g%s!n]----------------------", server); chat_color(param, "!t[SS] !nFragi: !g%d !nZgony: !g%d",frags, deaths); chat_color(param, "!t[SS] !nNick: !g^"%s^" !n- Ip: !g%s", name_player, ip_player); chat_color(param, "!t[SS] !nData i godzina: !g%s !n- Server: !g^"%s^"", timer, hostname); chat_color(param, "!n----------------------[!g%s!n]----------------------", server); set_user_health(param, 100) client_cmd(param,"snapshot"); set_task(0.5,"hp2",param) poze++ } else { client_cmd(param,"snapshot"); client_cmd(param,"kill;wait;jointeam 6"); get_user_name(param, name_player, 31); chat_color(0,"!t[SS] !nFotka zrobiona graczowi !g^"%s^" !", name_player); new i; for(i = 1; i < 6; i++) { chat_color(param, "!t[%s] !g%s !nwejdz na forum : !gwww.amxx.pl !naby dac zdjecia !", server, name_player, id_admin[length]); } remove_task(3322); } return PLUGIN_HANDLED; } public hp(player) set_user_health(player, 199); public hp2(param) set_user_health(param, 199); stock chat_color(const id, const input[], any:...) { new count = 1, players[32] static msg[320] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!n", "^1") replace_all(msg, 190, "!t", "^3") replace_all(msg, 190, "!t2", "^0") 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() } } } } public victimBan ( array[ 2 ] ) { new victimId = get_user_userid ( array[ 1 ] ); client_cmd ( array[ 0 ], "amx_ban %i #%i ^"%s^"", 0, victimId, ban_reason); }
Plugin miał za zadanie wykrywać AntySS, ale chyba nie działa zbyt dobrze. Stąd moje pytania.
1. Czy plugin zawsze będzie robił 5 ss ?
2. Czy na każdym ss będzie napis "Fotka nr ..." ?
3. Czy ping będzie miał wpływ na ilość ss ?
4. Czy zawsze będzie 1 ss zielony ?
5. Czy ten plugin ma rację bytu ?
Dodam, że to nie ja jestem autorem tego pluginu. Znalazłem go na jakiejś zagranicznej stronie i spolszczyłem oraz został dodany ban po zrobieniu ss. Ogólnie chciałem stworzyć coś co będzie wykrywało AntySS. Plugin był testowany na jednym cheacie z antyss. Rezultatem było pominięcie pierwszego ss oraz tylko 4 ss zamiast 5.