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
Modyfikacja

Przerobka - kick - bandam +

Modyfikacja

  • Zamknięty Temat jest zamknięty
Brak odpowiedzi do tego tematu

#1 gameman

    Profesjonalista

  • Zbanowany

Reputacja: 6
Nowy

  • Postów:177
  • Lokalizacja:Warszawa
Offline

Napisano 17.12.2010 18:07

Proszę przerobić ten plugin tak by banowal a nie kickowal graczy ktorzy maja w nicku ip serwera np. 102.102.102.104:23211

#include <amxmodx>
#include <amxmisc>
#include <regex>

// Preprocessor macros (Config)
#define KICK_NICK_REASON 	"Spam in nick!"
#define KICK_MSG_REASON 	"Spam message!"

public plugin_init()
{
	register_plugin("Anti-Spam Lite", "1.0.4", "NullWarez")
}

// Check the nick when connecting
public client_connect(id)
{
	if(is_user_admin(id))
		return PLUGIN_CONTINUE

	new g_name[32]
	get_user_name(id, g_name,31)

	if(is_invalid(g_name))
	{
		server_cmd("kick #%d Zmien Nazwe!", get_user_userid(id))
		return PLUGIN_CONTINUE
	}
	set_task(20.0, "showWarning", id)
	return PLUGIN_CONTINUE
}

// Checks the message for spam
bool:is_invalid(const text[])
{
	new error[50], num
	new Regex:regex = regex_match (text, "[a-z0-9-]{3,}\.[a-z]{1,2}(\S)", num, error, 49, "i")
	if(regex >= REGEX_OK)
	{
		regex_free(regex)
		return true
	}

	regex = regex_match(text, "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}", num, error, 49)
	if(regex >= REGEX_OK)
    {
		regex_free(regex)
		return true
	}

	return false
}

// Called when set name
public client_infochanged(id)
{
	if(is_user_admin(id))
		return PLUGIN_CONTINUE

	if(!is_user_alive(id)) // loop fix
		return PLUGIN_CONTINUE

	new g_name[32]
	get_user_name(id, g_name,31)

	if(is_invalid(g_name))
	{
		server_cmd("kick #%d Zmien Nazwe!", get_user_userid(id))
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}

Dodano 12 grudzień 2010 - 11:56:
Odswiezam

Dodano 12 grudzień 2010 - 12:05:
Zapomnialem mam tutaj plugin ten sam i ma banowac ale tego nie robi :P

#include <amxmodx>
#include <amxmisc>
#include <regex>

// Preprocessor macros (Config)
#define BAN_TIME 			200
#define BAN_NICK_REASON 	"Spam in nick!"
#define BAN_MSG_REASON 		"Spam message!"
#define IN_GAME_WARNING_MSG	"Warning! Do not advertise sites or other servers"

public plugin_init()
{
	register_plugin("Anti-Spam Lite", "1.0.4", "NullWarez")
	register_clcmd("say","check_player_msg")
	register_clcmd("say_team","check_player_msg")
}

// Check the nick when connecting
public client_connect(id)
{
	if(is_user_admin(id))
		return PLUGIN_CONTINUE

	new g_name[32]
	get_user_name(id, g_name,31)

	if(is_invalid(g_name))
	{
		server_cmd("amx_ban BAN_TIME #%d BAN_NICK_REASON", get_user_userid(id))
		return PLUGIN_CONTINUE
	}
	set_task(20.0, "showWarning", id)
	return PLUGIN_CONTINUE
}

// Checks the message for spam
bool:is_invalid(const text[])
{
	new error[50], num
	new Regex:regex = regex_match (text, "[a-z0-9-]{3,}\.[a-z]{1,2}(\S)", num, error, 49, "i")
	if(regex >= REGEX_OK)
	{
		regex_free(regex)
		return true
	}

	regex = regex_match(text, "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}", num, error, 49)
	if(regex >= REGEX_OK)
    {
		regex_free(regex)
		return true
	}

	return false
}

// Displays a warning ban for spam
public showWarning(id)
{
	if(is_user_connected(id))
		client_print(id, print_chat, "IN_GAME_WARNING_MSG")
}

// Check say or say_team message
public check_player_msg(id)
{
	if(is_user_admin(id))
		return PLUGIN_CONTINUE

	new text[128]
	read_args(text,127)
	if(is_invalid(text))
	{
		server_cmd("amx_ban BAN_TIME #%d BAN_MSG_REASON", get_user_userid(id))
		return PLUGIN_HANDLED
    }
	return PLUGIN_CONTINUE
}

// Called when set name
public client_infochanged(id)
{
	if(is_user_admin(id))
		return PLUGIN_CONTINUE

	if(!is_user_alive(id)) // loop fix
		return PLUGIN_CONTINUE

	new g_name[32]
	get_user_name(id, g_name,31)

	if(is_invalid(g_name))
	{
		server_cmd("amx_ban BAN_TIME #%d BAN_NICK_REASON", get_user_userid(id))
		return PLUGIN_CONTINUE
	}
	return PLUGIN_CONTINUE
}


A i przy kickowaniu jest pewien blad bo jak chce sie polaczyc z serverem to jest ok i kicka, ale jak w czasie gry zmienie nazwe to juz nie kickuje a najlepiej byloby ze jak ktos podczas gry zmieni nazwe na ip jakiegos serwa to zeby banowalo i jak wbija z nazwa ip serwa jakiegos to tez zeby banowalo :P

Dodano 12 grudzień 2010 - 15:59:
Odswiezam.

Dodano 13 grudzień 2010 - 14:48:
odswiezam 2x

Dodano 14 grudzień 2010 - 15:31:
Odswiezam 3x proszę o pomoc!

Dodano 16 grudzień 2010 - 14:44:
Odswiezam ponownie pomoze ktos?

Dodano 17 grudzień 2010 - 18:07:
odswiezam

Użytkownik gameman edytował ten post 12.12.2010 11:56






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

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

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