public cmdPassword(id) {
if(!is_player_admin(id) || g_AdminLogin[id] > Admin_Loggin)
return PLUGIN_HANDLED
new uPassword[33], Name[32], Data[ArrayData], index
read_args(uPassword, charsmax(uPassword))
remove_quotes(uPassword)
trim(uPassword)
get_user_name(id, Name, charsmax(Name))
TrieGetCell(g_TrieAdmins, Name, index)
ArrayGetArray(g_ArrayAdminData, index, Data)
if(Data[Password] == rak_num_password(uPassword)) {
remove_task(id+TASK_KICK)
new CurrentDay[7], iCurrentDay
get_time("%y%m%d", CurrentDay, charsmax(CurrentDay))
iCurrentDay = str_to_num(CurrentDay)
if(iCurrentDay <= Data[Vencimiento]) {
if(Data[Castigado] && iCurrentDay <= Data[FechaCastigado])
g_AdminLogin[id] = Admin_Castigado
else {
g_AdminLogin[id] = AdminNoSteam
set_user_flags(id, read_flags(g_AdminsType[Data[Flags]][FlagsStr]))
func_send_tag(id, g_AdminsType[Data[Flags]][NameStr])
//server_print("Data[Flags] = %d", Data[Flags])
//server_print("FLAGS = %s", g_AdminsType[Data[Flags]][FlagsStr])
}
}
else
g_AdminLogin[id] = Admin_Vencido
set_task(7.0, "send_user_msg", id+TASK_SHOW_MSG)
engclient_cmd(id, "chooseteam")
}
else {
if(++g_BadPassword[id] == MAX_BAD_PASSWORD) {
new Ip[20]
get_user_ip(id, Ip, charsmax(Ip), true)
server_cmd("kick #%d ^"Fuiste baneado por errar %d veces a la password | Time:%d)^";wait;addip ^"%d^" ^"%s^";wait;writeip", get_user_userid(id), MAX_BAD_PASSWORD, BAN_TIME*60, BAN_TIME*60, Ip)
}
send_message_admin_login(id)
}
return PLUGIN_HANDLED
}