Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

ban yapabilirmisiniz

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
crowlinn
Mesajlar: 71
Kayıt: Pzr Eyl 24, 2017 8:20 pm

ban yapabilirmisiniz

Mesaj gönderen crowlinn »

arkadaşlar şu kick yerine 9999999 dakka ban atabilirmi rica etsem

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>


#define PLUGIN "Ban Name"
#define VERSION "1.0"
#define AUTHOR "i dont know who"

#define FILE "names_banned.ini"

new Array:a_ban_names,
	array_size,
	look_file,
	g_cfg[64];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);

	register_concmd("amx_ban_name", "fnBanName", ADMIN_BAN, "<#userid, AuthID or nick>");
	register_concmd("amx_addnick", "fnBanName", ADMIN_BAN, "<nick>");

	set_task(1.5, "load_names");
}

public load_names() {
	get_configsdir(g_cfg, charsmax(g_cfg));
	formatex(g_cfg, charsmax(g_cfg), "%s/%s", g_cfg, FILE);

	if(a_ban_names) ArrayDestroy(a_ban_names);
	a_ban_names = ArrayCreate(48, 16);

	new File = fopen(g_cfg, "rt");

	if(File) {
		new Name[48];
		while(!feof(File)) {
			fgets(File, Name, charsmax(Name));

			trim(Name);

			if(!Name[0])
				continue;

			ArrayPushString(a_ban_names, Name);
		}

		array_size = ArraySize(a_ban_names);

		fclose(File);
		look_file = 1;
	}
	else {
		look_file = 2;
		log_amx("Brak '%s' na serwerze", g_cfg);
	}
}

public fnBanName(id, level, cid) {
	if(!cmd_access(id, level, cid, 2) || look_file == 0)
		return PLUGIN_HANDLED;

	new param[48], target;
	read_argv(0, param, charsmax(param));
	new bool:isBan = equali(param, "amx_ban_name") ? true : false;
	read_argv(1, param, charsmax(param));
	if(isBan) {
		target = cmd_target(id, param);
		if(!target)
			return PLUGIN_HANDLED;

		get_user_name(target, param, charsmax(param));
	}
	if(checkName(param)) {
		console_print(id, "Juz zbanowany");
		return PLUGIN_HANDLED;
	}
	write_file(g_cfg, param);
	console_print(id, "Zbanowano!");

	ArrayPushString(a_ban_names, param);
	array_size = ArraySize(a_ban_names);

	if(isBan)
		server_cmd("amx_kick #%d ^"Banned in Name!^"", get_user_userid(target));

	return PLUGIN_HANDLED;
}

bool:checkName(name[]) {
	new szName[48], bool:check, i;

	for(i=0; i<array_size; i++) {
		ArrayGetString(a_ban_names, i, szName, charsmax(szName));

		if(equali(name, szName)) {
			check = true;

			break;
		}
	}

	return check;
}

public client_putinserver(id) {
	if(is_user_bot(id))
		return PLUGIN_CONTINUE;

	if(array_size) {
		new name[48];
		get_user_name(id, name, charsmax(name));
		if(checkName(name))
			server_cmd("amx_kick #%d ^"Banned in Name!^"", get_user_userid(id));
	}
	else if(look_file != 2)
		set_task(2.0, "client_putinserver", id);

	return PLUGIN_CONTINUE;
}

public client_infochanged(id) {
	if(is_user_bot(id))
		return PLUGIN_CONTINUE;

	new newName[48], oldName[48];
	get_user_info(id, "name", newName, charsmax(newName));
	get_user_name(id, oldName, charsmax(oldName));

	if(!equali(newName, oldName) && checkName(newName))
		server_cmd("amx_kick #%d ^"Banned in Name!^"", get_user_userid(id));

	return PLUGIN_CONTINUE;
}

Link:
Linklerini gizle
Linki Kopyala