#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.


Dodatki SourceMod














