Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
89
Scripts/SubSystem/Knives Chat 3.0 Beta 6/General/Message.cs
Normal file
89
Scripts/SubSystem/Knives Chat 3.0 Beta 6/General/Message.cs
Normal file
@@ -0,0 +1,89 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections;
|
||||
using Server;
|
||||
|
||||
namespace Knives.Chat3
|
||||
{
|
||||
public enum MsgType { Normal, Invite, System }
|
||||
|
||||
public class Message
|
||||
{
|
||||
public static bool CanMessage(Mobile from, Mobile to)
|
||||
{
|
||||
if (from.AccessLevel > to.AccessLevel)
|
||||
return true;
|
||||
|
||||
Data df = Data.GetData(from);
|
||||
Data dt = Data.GetData(to);
|
||||
|
||||
if (df.Banned || dt.Banned)
|
||||
return false;
|
||||
if (df.FriendsOnly && !df.Friends.Contains(to))
|
||||
return false;
|
||||
if (dt.FriendsOnly && !dt.Friends.Contains(from))
|
||||
return false;
|
||||
if (df.Ignores.Contains(to))
|
||||
return false;
|
||||
if (dt.Ignores.Contains(from))
|
||||
return false;
|
||||
if (dt.Messages.Count >= Data.MaxMsgs)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private Mobile c_From;
|
||||
private string c_Msg, c_Subject;
|
||||
private MsgType c_Type;
|
||||
private DateTime c_Received;
|
||||
private bool c_Read;
|
||||
|
||||
public Mobile From { get { return c_From; } }
|
||||
public string Msg { get { return c_Msg; } }
|
||||
public string Subject { get { return c_Subject; } }
|
||||
public MsgType Type { get { return c_Type; } }
|
||||
public DateTime Received { get { return c_Received; } }
|
||||
public bool Read { get { return c_Read; } set { c_Read = value; } }
|
||||
|
||||
public Message()
|
||||
{
|
||||
c_Msg = "";
|
||||
c_Subject = "";
|
||||
}
|
||||
|
||||
public Message(Mobile from, string sub, string msg, MsgType type)
|
||||
{
|
||||
c_From = from;
|
||||
c_Msg = msg;
|
||||
c_Subject = sub;
|
||||
c_Type = type;
|
||||
|
||||
c_Received = DateTime.Now;
|
||||
}
|
||||
|
||||
public void Save(GenericWriter writer)
|
||||
{
|
||||
writer.Write(0); // Version
|
||||
|
||||
writer.Write(c_From);
|
||||
writer.Write(c_Msg);
|
||||
writer.Write(c_Subject);
|
||||
writer.Write((int)c_Type);
|
||||
writer.Write(c_Received);
|
||||
writer.Write(c_Read);
|
||||
}
|
||||
|
||||
public void Load(GenericReader reader)
|
||||
{
|
||||
int version = reader.ReadInt();
|
||||
|
||||
c_From = reader.ReadMobile();
|
||||
c_Msg = reader.ReadString();
|
||||
c_Subject = reader.ReadString();
|
||||
c_Type = (MsgType)reader.ReadInt();
|
||||
c_Received = reader.ReadDateTime();
|
||||
c_Read = reader.ReadBool();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user