- Code: Select all
//Toptime by _Retaliate_
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace MCDzienny
{
public class CmdToptime : Command
{
public override string name
{
get { return "toptime"; }
}
public override string shortcut
{
get { return "top"; }
}
public override string type
{
get { return "information"; }
}
public override LevelPermission defaultRank
{
get { return LevelPermission.Guest; }
}
public override bool museumUsable
{
get { return true; }
}
public override bool ConsoleAccess
{
get
{
return true;
}
}
public bool fromsub = false;
public override void Use(Player p, string message)
{
if (message.Split(' ').Length > 1)
{
fromsub = true;
H(p);
return;
}
int num2 = 10;
if (message != "")
{
if (IsNumeric(message.Split(' ')[0]) == false)
{
fromsub = true;
H(p);
return;
}
num2 = Convert.ToInt32(message.Split(' ')[0]);
}
using (DataTable dataTable = DBInterface.fillData("SELECT * FROM `Players` ORDER BY totalScore DESC LIMIT 10"))
{
int denim = (dataTable.Rows.Count - num2);
int amount = dataTable.Rows.Count - IIf(denim < 0, 0, denim);
Player.SendMessage(p, "&3Top " + amount.ToString() + " Times:");
for (int i = 1; i <= amount; i++)
{
int num= int.Parse(dataTable.Rows[i - 1]["totalMinutesPlayed"].ToString());
string numstr = (num / 60 > 0 ? string.Format("{0} hours {1} minutes", num / 60, num % 60) : string.Format("{0} minutes", num));
Player.SendMessage(p, string.Format("%3{0}. %b{1} - {2}", i, dataTable.Rows[i - 1]["Name"].ToString(), numstr));
}
}
}
public bool IsNumeric(object obj)
{
double d = 0;
return double.TryParse((string)obj, out d);
}
public T IIf<T>(bool eval, T trueobj, T falseobj) {if(eval) {return trueobj;} else {return falseobj;}}
public void H(Player p)
{
Player.SendMessage(p, "/toptime [num] -- shows the top [num] people with the most hours.");
Player.SendMessage(p, "/toptime -- shows the top 10 people with the most hours.");
Player.SendMessage(p, "&3Created by &0_Retaliate_ &3the Immoral Programmer");
if (fromsub)
{
fromsub = false;
Group grp = Group.findPerm(LevelPermission.Guest);
if (grp != null)
{
Player.SendMessage(p, "Rank needed: " + grp.color + grp.name);
}
else
{
Player.SendMessage(p, "Rank needed: &f0");
}
}
}
public override void Help(Player p)
{
H(p);
}
}
}
enjoy.