/Toptime

/Toptime

Postby _Retaliate_ » 24 Oct 2013, 14:47

Idk if someone already made this, but whatever.
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.
Image
_Retaliate_
 
Posts: 68
Joined: 26 Sep 2013, 11:16

Re: /Toptime

Postby ismellike » 24 Oct 2013, 15:32

I made this command some time ago, but I think this one does not compile.

It does not have

Code: Select all
public override Help(Player p)
{
base.Help(p);
}
What a beast...
User avatar
ismellike
Coder
 
Posts: 731
Joined: 31 Oct 2012, 04:04
Location: Kansas

Re: /Toptime

Postby _Retaliate_ » 24 Oct 2013, 19:18

ismellike wrote:I made this command some time ago, but I think this one does not compile.

It does not have

Code: Select all
public override Help(Player p)
{
base.Help(p);
}

Code: Select all
public override void Help(Player p)
{
       H(p);
}

it does, it is just at the very end.
Image
_Retaliate_
 
Posts: 68
Joined: 26 Sep 2013, 11:16

Update

Postby _Retaliate_ » 26 Oct 2013, 09:33

just realized I had an error with the sql query.
Update:
Spoiler:
Image
_Retaliate_
 
Posts: 68
Joined: 26 Sep 2013, 11:16


Return to Custom Commands

Who is online

Users browsing this forum: No registered users and 6 guests

cron