/xrules

/xrules

Postby leicestercity » 06 May 2014, 16:35

Ok this pretty much does the same as /rules but i'm basing a punishment system around it and I feel this s the easiest way for me to do it. I'm not sure if this is right for a player to display a file in the server chat when typing /xrules so if someone could look over the command and tell me whats wrong and how to fix it??? Anyways here's the code.


Code: Select all
using System;
using System.IO;
using System.Threading;
     
namespace MCDzienny
{
    public class cmdXrules : Command
    {
        public override string name { get { return "xrules"; } }
        public override string shortcut { get { return "xr"; } }
        public override string type { get { return "other"; } }
        public override bool museumUsable { get { return false; } }
        public override LevelPermission defaultRank { get { return LevelPermission.Banned; } }
        public override void Use(Player p, string message)
        {
             File.Create("/extra/" + "Xrules.txt"));
        }
      {
      if File.Exists("/extra/" + "Xrules.txt");
      Player.SendMessage(File.Send("/extra/" + "Xrules.txt"));
        return;      
      }
        }   
        public override void Help(Player p)
        {
            Player.SendMessage(p, "/xrules - Displays the server rules. ");
        }
    }
}
LEICESTER TILL I DIE
leicestercity
 
Posts: 33
Joined: 08 Mar 2014, 16:36

Re: /xrules

Postby leicestercity » 06 May 2014, 16:50

Sorry i noticed i used an irrelevant bracket so i removed it here's the new code :D

Code: Select all
using System;
using System.IO;
using System.Threading;
     
namespace MCDzienny
{
    public class cmdXrules : Command
    {
        public override string name { get { return "xrules"; } }
        public override string shortcut { get { return "xr"; } }
        public override string type { get { return "other"; } }
        public override bool museumUsable { get { return false; } }
        public override LevelPermission defaultRank { get { return LevelPermission.Banned; } }
        public override void Use(Player p, string message)
        {
             File.Create("/extra/" + "Xrules.txt");
        }
      {
      if File.Exists("/extra/" + "Xrules.txt");
      Player.SendMessage(File.Send("/extra/" + "Xrules.txt"));
        return;      
      }
      {
      
      }
        }   
        public override void Help(Player p)
        {
            Player.SendMessage(p, "/xrules - Displays the server rules. ");
        }
    }
}
LEICESTER TILL I DIE
leicestercity
 
Posts: 33
Joined: 08 Mar 2014, 16:36

Re: /xrules

Postby leicestercity » 07 May 2014, 17:52

I think i have spotted a big mistake on sending the file content. Here it is though.


Code: Select all
using System;
using System.IO;
using System.Threading;
     
namespace MCDzienny
{
    public class cmdXrules : Command
    {
        public override string name { get { return "xrules"; } }
        public override string shortcut { get { return "xr"; } }
        public override string type { get { return "other"; } }
        public override bool museumUsable { get { return false; } }
        public override LevelPermission defaultRank { get { return LevelPermission.Banned; } }
        public override void Use(Player p, string message)
        {
             File.Create("/extra/" + "Xrules.txt");
        }
      {
      if File.Exists("/extra/" + "Xrules.txt");
      Player.SendMessage(p, fileContent);
        return;      
      }
        }   
        public override void Help(Player p)
        {
            Player.SendMessage(p, "/xrules - Displays the server rules. ");
        }
    }
}
LEICESTER TILL I DIE
leicestercity
 
Posts: 33
Joined: 08 Mar 2014, 16:36

Re: /xrules

Postby Leeizazombie » 07 May 2014, 19:50

You've made quite a few mistakes, especially with the brackets. I suggest you look up some basics on coding in C# by reading a book or even YouTube.

Here's your command fixed and improved:
Code: Select all
using System;
using System.IO;
using System.Threading;
     
namespace MCDzienny
{
    public class cmdXrules : Command
    {
        public override string name { get { return "xrules"; } }
        public override string shortcut { get { return "xr"; } }
        public override string type { get { return "other"; } }
        public override bool museumUsable { get { return false; } }
        public override LevelPermission defaultRank { get { return LevelPermission.Banned; } }
        public override void Use(Player p, string message)
        {

            if (File.Exists("/extra/Xrules.txt"))
            {
                string fileContent = File.ReadAllText("/extra/Xrules.txt");
                if (fileContent.Length == 0)
                {
                    Player.SendMessage(p, "The rules have not been entered yet!");
                    return;
                }
                Player.SendMessage(p, fileContent);
                return;
            }
            else
            {
                File.Create("/extra/Xrules.txt");
                Player.SendMessage(p, "The rules have not been entered yet!");
            }
        }
        public override void Help(Player p)
        {
            Player.SendMessage(p, "/xrules - Displays the server rules.");
        }
    }
}


You've never declared the string: "fileContent", you have to say "string fileContent = "something";" or like I did in this case "string fileContent = File.ReadAllText("/extra/Xrules.txt");"

Please note that this will not read line for line and display like that in the server, that would be a bit more complex but I hope I helped you understand your errors with the fix.
Owner of:
LeeIzaZombie Freebuild and Lava Survival V2 (Shut Down and updated)
LeeIzaZombie Survival (Comming back soon)

Contact:
Skype: leeizazombie
IRC: irc.geekshed.net, #leeizazombie, #mcclassichosting
User avatar
Leeizazombie
 
Posts: 536
Joined: 10 Jun 2013, 17:45
Location: Ireland.


Return to Custom Commands

Who is online

Users browsing this forum: No registered users and 2 guests

cron