using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace BlockTopiaTNT // Obviously change to namespace of your software.
{
public class CmdLeaveMessage : Command
{
public override string name { get { return "leavemessage"; } }
public override string shortcut { get { return "leavemsg"; } }
public override string type { get { return "other"; } }
public override bool museumUsable { get { return true; } }
public override LevelPermission defaultRank { get { return LevelPermission.Builder; } }
public CmdLeaveMessage() { }
public override void Help(Player p)
{
Player.SendMessage(p, "/leavemessage [player] [message] - leave a message that will be displayed to [player] when they next come online.");
}
public override void Use(Player p, string message)
{
if (message == "") { Help(p); return; }
string Theplayer = "";
string Themessage = "";
try { Theplayer = message.Split(' ')[0]; }
catch { }
try { Themessage = message.Substring(message.Split(' ')[0].Length); }
catch { }
if (Themessage.Trim() == "") { Help(p); return; }
if (Themessage.Length > 150) { Player.SendMessage(p, "Sorry, you cannot leave messages longer than 150 characters."); return; }
Player who = Player.Find(Theplayer);
if (who != null) { Player.SendMessage(p, "That player is already online! Just talk to them!"); return; }
if (Player.GetGroup(Theplayer).Permission == LevelPermission.Guest || Player.GetGroup(Theplayer).Permission == LevelPermission.Banned)
{
Player.SendMessage(p, "You can only leave messages to players above the guest rank."); return;
}
if (check(Theplayer.ToLower(), p) == true)
{
Player.SendMessage(p, "You have already left this player a message!"); return;
}
File.AppendAllText("text/leftmessages.txt", Theplayer.ToLower().Trim() + ":" + p.name.ToLower() + ":" + Themessage + Environment.NewLine);
Player.SendMessage(p, "You have succesfully left your message. " + Theplayer.ToLower() + " will receive it when they next log on.");
}
public bool check(string playerName, Player pl)
{
foreach (string line in File.ReadAllLines("text/leftmessages.txt"))
{
if (line != "")
{
if (line.Substring(0, line.IndexOf(":")) == playerName.ToLower())
{
string check = line.Substring(line.IndexOf(":") + 1, (line.Substring(line.IndexOf(":") + 1)).IndexOf(":"));
if (check == pl.name.ToLower()) { return true; }
}
}
}
return false;
}
}
}