←  Problemy z pluginami

AMXX.pl: Support AMX Mod X i SourceMod

»

dontsayips - nie banuje tylko kickuje

Zablokowany

  • +
  • -
marcin15gn - zdjęcie marcin15gn 25.08.2010

Witam!

Posiadam plugin donsayips tyle że zamiast banować na ip kickuje.

Czy mógłbym prosić o poprawienie tego pluginu?
#define PLUGINNAME	"Don't say IPs"
#define VERSION		"0.1"
#define AUTHOR		":>"

#include <amxmodx>
#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 REASON				"IP advertising"
#define CVAR_BANMINUTES		"ip_banminutes"
#define CVAR_BANVIOLATORS	"ip_banviolators"

// Globals below
new Regex:g_result
new g_returnvalue
new g_error[64]
new g_allArgs[1024]
// Globals above

public plugin_modules() {
	require_module("regex")
}

public hook_say(id, level, cid) {
	read_args(g_allArgs, 1023)
	g_result = regex_match(g_allArgs, PATTERN, g_returnvalue, g_error, 63)
	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 (get_cvar_num(CVAR_BANVIOLATORS)) {
				new userid = get_user_userid(id)
				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")
	
				new authid[32]
				get_user_authid(id, authid, 31)
	
				new name[32]
				get_user_name(id, name, 31)
				log_amx("%s (%s), %s %s because of advertising an IP address. This was written: ^"%s^"", name, authid, banned, temp, g_allArgs)
	
				server_cmd("kick #%d ^"%s (%s %s)^";wait;amx_ban ^"%d^" ^"%s^";wait;writeid", userid, REASON, banned, temp, minutes, authid)				
			}
			else {
				client_cmd(id, "say ^"Kocham ten serwer!^"")
			}
			regex_free(g_result)
			return PLUGIN_HANDLED // block msg
		}
	}
	
	return PLUGIN_CONTINUE
}



public plugin_init() {
	register_plugin(PLUGINNAME, VERSION, AUTHOR)
	
	register_clcmd("say", "hook_say")
	register_cvar(CVAR_BANVIOLATORS, "0")
	register_cvar(CVAR_BANMINUTES, "30")
	
	register_dictionary("admincmd.txt")
}

Dodam, że używam minibans
Użytkownik marcin15gn edytował ten post 25.08.2010 17:12
Odpowiedz

  • +
  • -
V3ko - zdjęcie V3ko 25.08.2010

To sie w cvarach ustawia ;) Masz cvary od tego
ip_banviolators 0 // 1 - banowanie, 0 - sama podmiana tekstu
ip_banminutes 10 // czas BAN'a w minutach, 0 = perm.
zamien na
ip_banviolators 1 // 1 - banowanie, 0 - sama podmiana tekstu
ip_banminutes 0 // czas BAN'a w minutach, 0 = perm.
Odpowiedz

  • +
  • -
marcin15gn - zdjęcie marcin15gn 26.08.2010

Mam zmienione. Gdybym nie zmienił to plugin by tylko tekst podmieniał a nie kickował. Po kicku jest komunikat "Zostałeś zbanowany na 300 minut" ale od razu można wbić ponownie.
Odpowiedz

  • +
  • -
V3ko - zdjęcie V3ko 26.08.2010

Wynika z tego ,ze masz zle zainstalowanego MiniBans ;) . Najlepiej wywal go i wgraj Advanced Bans - jest darmowy ,lub AMXbans 5.1 / 5.1b / 5.0 - baza MYSQL pod AMXBANS'a kosztuje do 3,66 za miesiac www.NiceShoot.pl na tym Ci na pewno pojdzie ;).
Odpowiedz

  • +
  • -
marcin15gn - zdjęcie marcin15gn 26.08.2010

Tyle, że z minibans nie mam najmniejszych problemów więc nie planuje zmieniać. Inne pluginy np. admin screen banują i działają ok. Tylko ten kickuje a nie banuje.

Amxbans na razi nie planuje robić.
Odpowiedz
Zablokowany