Nem, vagy egy olyan plugin ami egyből csinál képet ha bannolsz valakit.
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Ban with Snapshot"
#define VERSION "0.4"
#define AUTHOR "KIL"
static const banurl[] = "http://justserverek.sunwell.hu/ban_list.php (Frissítve minden)"
new gBanData[33][2][32]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("amx_banss", "cmdBanss", ADMIN_BAN, "<name or #userid> <minutes> [reason]")
register_cvar("amx_banurl",banurl)
}
public cmdBanss(id, level, cid) {
if (!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED
new target[32], minutes[8], reason[64]
read_argv(1, target, 31)
read_argv(2, minutes, 7)
read_argv(3, reason, 63)
new player = cmd_target(id, target, 9)
if (!player)
return PLUGIN_HANDLED
copy(gBanData[player][0], 31, minutes)
copy(gBanData[player][1], 31, reason)
new TaskData[4]
TaskData[0] = id
TaskData[1] = player
new hostname[64], tname[32], usrip[32], timer[32], adminname[32], banurl[64];
get_cvar_string("hostname",hostname,63);
get_user_name(player,tname,31);
get_user_ip(player,usrip,31);
get_time("%m/%d/%Y - %H:%M:%S", timer,31);
get_cvar_string("amx_banurl", banurl, 63);
get_user_name(id, adminname, 31);
print_color(player, "!g|Banned|!y Szerver név:!t %s ",hostname)
print_color(player, "!g|Banned|!y Név:!t %s!y IP:!t %s!y Dátum:!t %s",tname,usrip,timer)
print_color(player, "!g|Banned|!y Admin by:!t %s!y | Indok:!t %s!y |!t %s!y percre",adminname,reason,minutes)
print_color(player, "!g|Banned|!y Látogass el ide!t %s!y az unbanért!!",banurl)
console_print(player, "|Banned| Szerver nev: %s",hostname)
console_print(player, "|Banned| Nev: %s IP: %s Datum: %s",tname,usrip,timer)
console_print(player, "|Banned| Admin by: %s | Indok: %s | %s percre",adminname,reason,minutes)
console_print(player, "|Banned| Latogass el ide %s az unbanert!!",banurl)
client_cmd(player,"wait;snapshot;wait;snapshot")
print_color(0, "!gJátékos!t %s!g Bannolva lett, by admin:!t %s!g | Indok:!t %s!g |!t %s!g percre.",tname,adminname,reason,minutes)
log_to_file("BanSS.txt","%s | IP %s | By Admin %s | Indok: %s | %s percre^n",tname,usrip,adminname,reason,minutes)
set_task(0.5, "fnBanUser", 0, TaskData, 2)
return PLUGIN_HANDLED
}
public fnBanUser(Data[]) {
new id = Data[0]
new player = Data[1]
if (!is_user_connected(id))
return PLUGIN_HANDLED
new minutes[32], reason[32]
copy(minutes, 31, gBanData[player][0])
copy(reason, 31, gBanData[player][1])
new authid[32], name2[32], authid2[32], name[32]
new userid2 = get_user_userid(player)
get_user_name(player, name2, 31)
get_user_name(id, name, 31)
new temp[64], banned[16], nNum = str_to_num(minutes)
if (nNum)
format(temp, 63, "Perc", player, "FOR_MIN", minutes)
else
format(temp, 63, "Ĺrök ban", player, "PERM")
format(banned, 15, "Bannolva", player, "BANNED")
get_user_authid(player, authid2, 31)
get_user_authid(id, authid, 31)
new timeS[32]
get_time("%m/%d/%Y - %H:%M:%S", timeS,31)
new address[32]
get_user_ip(player, address, 31, 1)
if (reason[0])
server_cmd("kick #%d ^"%s (%s %s)^";wait;addip ^"%s^" ^"%s^";wait;writeip", userid2, reason, banned, temp, minutes, address)
else
server_cmd("kick #%d ^"%s %s^";wait;addip ^"%s^" ^"%s^";wait;writeip", userid2, banned, temp, minutes, address)
return PLUGIN_HANDLED
}
stock print_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "á", "á")
replace_all(msg, 190, "é", "Ă©")
replace_all(msg, 190, "í", "Ă")
replace_all(msg, 190, "ó", "Ăł")
replace_all(msg, 190, "ö", "ö")
replace_all(msg, 190, "ő", "Ĺ‘")
replace_all(msg, 190, "ú", "Ăş")
replace_all(msg, 190, "ü", "ĂĽ")
replace_all(msg, 190, "ű", "ű")
replace_all(msg, 190, "Á", "Ă")
replace_all(msg, 190, "É", "É")
replace_all(msg, 190, "Í", "ĂŤ")
replace_all(msg, 190, "Ó", "Ă“")
replace_all(msg, 190, "Ö", "Ă–")
replace_all(msg, 190, "Ő", "Ĺ")
replace_all(msg, 190, "Ú", "Ăš")
replace_all(msg, 190, "Ü", "Ăś")
replace_all(msg, 190, "Ű", "Ĺ°")
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()
}
}
}
return PLUGIN_HANDLED
}