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
Naprawienie

Dont Say IP(Pomoc w przerobieniu)

Naprawienie

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

#1 Jerem96

    Wszechobecny

  • Zbanowany

Reputacja: 12
Początkujący

  • Postów:414
  • GG:
  • Imię:Jeremiasz
  • Lokalizacja:Tczew
Offline

Napisano 20.10.2012 14:30

Witam.
Prosiłbym o pomoc w przerobieniu o to tego pluginu tak aby nie banował graczy z nickiem uznajmy Mr.Amxx gdyż aktualnie jeżeli wykryje znak w nicku automatyczniego banuję.
#define PLUGINNAME "Don't say IPs by Pavulon"
#define VERSION  "0.2"
#define AUTHOR  "JGHG"
/*
Copyleft 2005
Plugin topic: http://www.amxmodx.org/forums/viewtopic.php?p=90172

Don't say IPs
=============
Messages like "hey join my server 213.34.231.23" are automatically blocked... and another message is printed instead. :-P
Or, you can choose to just ban violators by setting cvar ip_banviolators to 1 and ip_banminutes to how many minutes the violator should be banned. 0 is permanent, 5 is default.
/JGHG

VERSIONS
========
050204 0.1 First version

CREDITS
=======
Requested by lord_inuyasha88.
*/
#include <amxmodx>
#include <fakemeta>
#include <regex>
//#define PATTERN	"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" // \b
//#define PATTERN "([0-9].*[\., ].*[0-9].*[\., ].*[0-9].*[\., ].*[0-9])"
#define PATTERN "([0-9].*[\., ].*[0-9].*[\., ].*[0-9].*[\., ].*[0-9])|(www\.)|(\.pl)|(\.com)|(\.ru)|(\.de)|(\.net)|(\.info)|(\.org)|(\.biz)|(\.nl)|(\.lt)|(\.eu)|(\.name)"
#define REASON "reklama IP"
#define CVAR_BANMINUTES "ip_banminutes"
#define CVAR_BANVIOLATORS "ip_banviolators"
#define CVAR_BANTIMES "ip_bantimes"
#define TEKST "Ale ten serwer jest za***isty!"
// Globals below
new Regex:g_result
new g_returnvalue
new g_error[64]
new times[32]
new g_allArgs[1024]
new banuids[33]
new banname[33][32]
new const g_name[] = "name"
new /* const */ g_name_change[] = "#Cstrike_Name_Change"
new g_msgid_saytext
// Globals above
public plugin_init()
{
register_plugin(PLUGINNAME, VERSION, AUTHOR)

register_clcmd("say", "hook_say")
register_clcmd("say_team", "hook_say")
register_cvar(CVAR_BANVIOLATORS, "1")
register_cvar(CVAR_BANMINUTES, "30")
register_cvar(CVAR_BANTIMES, "3")

register_dictionary("admincmd.txt")

register_forward(FM_ClientUserInfoChanged, "forward_client_userinfochanged")

g_msgid_saytext = get_user_msgid("SayText")
}
public plugin_modules()
{
require_module("regex")
}
public forward_client_userinfochanged(id, buffer)
{
if (!is_user_connected(id))
  return FMRES_IGNORED

static name[32]
engfunc(EngFunc_InfoKeyValue, buffer, g_name, name, sizeof name - 1)

if (get_user_flags(id)&ADMIN_RESERVATION)
  return FMRES_IGNORED

look4(name,id, 2)

return FMRES_SUPERCEDE
}
msg_name_change(id, /* const */ oldname[])
{
client_cmd(id,"name ^"%s^"",TEKST)
message_begin(MSG_BROADCAST, g_msgid_saytext)
write_byte(id)
write_string(g_name_change)
write_string(oldname)
write_string(TEKST)
message_end()
}
public hook_say(id, level, cid)
{
if ( (get_user_flags(id)&ADMIN_RESERVATION) || !id )
  return PLUGIN_CONTINUE

read_args(g_allArgs, 1023)
if (look4(g_allArgs,id, 1)==1)
  return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public look4(g_allArgs[],id, type)
{
g_result = regex_match(g_allArgs, PATTERN, g_returnvalue, g_error, 63, "i")
switch (g_result) {
  case REGEX_MATCH_FAIL: {
   log_amx("REGEX_MATCH_FAIL! %s", g_error)
   return PLUGIN_CONTINUE
  }
  case REGEX_PATTERN_FAIL: {
   log_amx("REGEX_PATTERN_FAIL! %s", g_error)
   return PLUGIN_CONTINUE
  }
  case REGEX_NO_MATCH: {
   return PLUGIN_CONTINUE
  }
  default: {
   if (type==1) times[id]++
  
   new authid[32]
   get_user_authid(id, authid, 31)
  
   new name[32]
   get_user_name(id, name, 31)
  
   if (get_cvar_num(CVAR_BANVIOLATORS)&&times[id]>=get_cvar_num(CVAR_BANTIMES)
   || get_cvar_num(CVAR_BANVIOLATORS)&&type==2) {
	banuids[id] = get_user_userid(id)
	format(banname[id], 31, "%s", g_allArgs)
	new minutesString[10]
	get_cvar_string(CVAR_BANMINUTES, minutesString, 9)
	new temp[64], banned[16], minutes = get_cvar_num(CVAR_BANMINUTES)
  
	if (minutes)
	 format(temp, 63, "%L", id, "FOR_MIN", minutesString)
	else
	 format(temp, 63, "%L", id, "PERM")
  
	format(banned, 15, "%L", id, "BANNED")
	log_amx("%s (%s), %s %s %s. This was written: ^"%s^"", name, authid, banned, temp, REASON, g_allArgs)
	new userid[1]
	userid[0] = id
	set_task(0.1,"cmd_ban",id, userid, 1)
   }
   if (type==1)
   {
	client_print(0, print_chat, "%s: %s", name, TEKST)
	server_cmd("amx_chat %s (%s): ^"%s^"", name, authid, g_allArgs)
	regex_free(g_result)
	return 1 // block msg
   } else
   if (type==2)
   {
	new username[32]
	get_user_name(id, username, 31)
	msg_name_change(id, username)
	server_cmd("amx_chat %s (%s): ^"%s^"", username, authid, name)
  
   }
  }
}
return PLUGIN_CONTINUE
}
public cmd_ban(userid[])
{
new id = userid[0]
new username[32]
get_user_name(id, username, 31)
if (!equal(username, banname[id]))
{
  new minutes = get_cvar_num(CVAR_BANMINUTES)
  server_cmd("amx_ban %d #%d %s", minutes, banuids[id], REASON)
} else
  set_task(1.0,"cmd_ban",id, userid, 1)
}
public client_connect(id)
{
times[id]=0
format(banname[id], 32, "")
}
public client_disconnect(id)
{
times[id]=0
format(banname[id], 32, "")
}

CoD by Jerem
Dołączona grafika

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 20.10.2012 16:39

Automatyczna wiadomość


Ten temat został przeniesiony z forum

AMX Mod XProblemy

do

Scripting AMXXPluginy





Również z jednym lub większą ilością słów kluczowych: Naprawienie

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

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