The basic idea behind the command is that any player can use /ownerreport or /oreport to report anything they think is unfair or should not have happened. The server owner can check the txt file that is created when he gets back from somewhere. He can then see what importnant things have happened.
- Code: Select all
using System;
using System.IO;
namespace MCDzienny
{
public class CmdOwnerreport : Command
{
public override string name { get { return "ownerreport"; } }
public override string shortcut { get { return "oreport"; } }
public override string type { get { return "other"; } }
public override bool museumUsable { get { return false; } }
public override LevelPermission defaultRank { get { return LevelPermission.Banned; } }
private string filePath;
public override void Init()
{
this.filePath = Directory.GetCurrentDirectory() + @"\oreport.txt";
check();
}
void check()
{
if (File.Exists(filePath)) return;
else using (File.Create(filePath)) { }
}
void log(string s)
{
check();
string readed = "Nothing Yet";
using (StreamReader read = new StreamReader(filePath))
{
readed = read.ReadToEnd();
}
using (StreamWriter write = new StreamWriter(filePath))
{
write.Write(readed + System.Environment.NewLine + s);
}
}
public override void Use(Player p, string message)
{
string[] words = message.Trim().Split(' ');
if (words.Length < 2)
{
p.SendMessage("Missing Arguments!");
Help(p);
return;
}
string problem = message.Replace(words[0] + " ", "");
string who = "Console";
if (p != null) who = p.PublicName;
string toLog = DateTime.Now.ToString() + "| Reported by: " + who + " | Solved: " + words[0] + " | Problem: " + problem;
log(toLog);
Player.SendMessage(p, "Reported succesfully!");
}
public override void Help(Player p)
{
Player.SendMessage(p, "/ownerreport <solved = yes | no> <problem> - reports a problem to the owner");
Player.SendMessage(p, "The problem may also be a conflict, a staff member misbehaving,");
Player.SendMessage(p, "Or a someone being disrespectfull, or any other rule thats being broken");
}
}
}
Enjoy!