Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Nowy plugin od ScreenShotów - działanie


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 White

    Wszechpomocny

  • Użytkownik

Reputacja: 472
Wszechobecny

  • Postów:384
  • GG:
  • Steam:steam
  • Lokalizacja:Kielce
Offline

Napisano 20.03.2013 18:46

Posiadam taki plugin od robienia ss:
#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.
  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 20.03.2013 18:59

Odpowiem na ostatni punkt ponieważ na inne mi się nie chce ;)

Z mojego doświadczenie przy pisaniu takich rzeczy wynika że przy odpowiednim nakładzie pracy pluginy antyss da się ominąć opierają się one głównie na "zlagowaniu" gracza zalania go różnorakimi informacjami tak aby kod cheatu nie został wykonany lub nie zdążył się wykonać , metoda z góry skazana na porażkę

btw. ciekawy kod
client_cmd(param,"kill;wait;jointeam 6");

  • +
  • -
  • 1

#3 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 21.03.2013 00:50

I bardzo dobry kod :) Powoduje wyrzucenie paki przed banem, gdyż czasem ona może sobie "zniknąć" :)
  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych