Exemplo n.º 1
0
        public static void BBRequestHeader(Mobile from, BaseBulletinBoard board, PacketReader pvSrc)
        {
            BulletinMessage msg = World.FindItem(pvSrc.ReadInt32()) as BulletinMessage;

            if (msg == null || !board.MessageOK(msg))
            {
                return;
            }

            from.Send(new BBMessageHeader(board, msg));
        }
Exemplo n.º 2
0
        public static void BBPostMessage(Mobile from, BaseBulletinBoard board, PacketReader pvSrc)
        {
            BulletinMessage thread = World.FindItem(pvSrc.ReadInt32()) as BulletinMessage;

            if (thread != null && !board.MessageOK(thread))
            {
                thread = null;
            }

            int breakout = 0;

            while (thread != null && thread.Thread != null && breakout++ < 10)
            {
                thread = thread.Thread;
            }

            DateTime lastPostTime = board.GetLastPostTime(from, (thread == null));

            if (lastPostTime + (thread == null ? ThreadCreateTime : ThreadReplyTime) > DateTime.Now)
            {
                if (thread == null)
                {
                    from.SendAsciiMessage("You must wait {0} before creating a new thread.", FormatTS(ThreadCreateTime));
                }
                else
                {
                    from.SendAsciiMessage("You must wait {0} before replying to another thread.", FormatTS(ThreadReplyTime));
                }
                return;
            }

            string subject = pvSrc.ReadUTF8StringSafe(pvSrc.ReadByte());

            if (subject.Length == 0)
            {
                return;
            }

            string[] lines = new string[pvSrc.ReadByte()];
            if (lines.Length == 0)
            {
                return;
            }
            for (int i = 0; i < lines.Length; ++i)
            {
                lines[i] = pvSrc.ReadUTF8StringSafe(pvSrc.ReadByte());
            }

            board.PostMessage(from, thread, subject, lines);
        }
Exemplo n.º 3
0
        public static void BBRemoveMessage(Mobile from, BaseBulletinBoard board, PacketReader pvSrc)
        {
            BulletinMessage msg = World.FindItem(pvSrc.ReadInt32()) as BulletinMessage;

            if (msg == null || !board.MessageOK(msg))
            {
                return;
            }

            if (from.AccessLevel < AccessLevel.GameMaster && msg.Poster != from)
            {
                return;
            }

            msg.Delete();
        }
Exemplo n.º 4
0
        public static void BBPostMessage( Mobile from, BaseBulletinBoard board, PacketReader pvSrc )
        {
            BulletinMessage thread = World.FindItem( pvSrc.ReadInt32() ) as BulletinMessage;

            if ( thread != null && !board.MessageOK( thread ) )
                thread = null;

            int breakout = 0;

            while ( thread != null && thread.Thread != null && breakout++ < 10 )
                thread = thread.Thread;

            DateTime lastPostTime = board.GetLastPostTime( from, ( thread == null ) );
            if ( lastPostTime+(thread == null ? ThreadCreateTime : ThreadReplyTime) > DateTime.Now )
            {
                if ( thread == null )
                    from.SendAsciiMessage( "You must wait {0} before creating a new thread.", FormatTS( ThreadCreateTime ) );
                else
                    from.SendAsciiMessage( "You must wait {0} before replying to another thread.", FormatTS( ThreadReplyTime ) );
                return;
            }

            string subject = pvSrc.ReadUTF8StringSafe( pvSrc.ReadByte() );
            if ( subject.Length == 0 )
                return;

            string[] lines = new string[pvSrc.ReadByte()];
            if ( lines.Length == 0 )
                return;
            for ( int i = 0; i < lines.Length; ++i )
                lines[i] = pvSrc.ReadUTF8StringSafe( pvSrc.ReadByte() );

            board.PostMessage( from, thread, subject, lines );
        }
Exemplo n.º 5
0
        public static void BBRequestHeader( Mobile from, BaseBulletinBoard board, PacketReader pvSrc )
        {
            BulletinMessage msg = World.FindItem( pvSrc.ReadInt32() ) as BulletinMessage;

            if ( msg == null || !board.MessageOK( msg ) )
                return;

            from.Send( new BBMessageHeader( board, msg ) );
        }
Exemplo n.º 6
0
        public static void BBRemoveMessage( Mobile from, BaseBulletinBoard board, PacketReader pvSrc )
        {
            BulletinMessage msg = World.FindItem( pvSrc.ReadInt32() ) as BulletinMessage;

            if ( msg == null || !board.MessageOK( msg ) )
                return;

            if ( from.AccessLevel < AccessLevel.GameMaster && msg.Poster != from )
                return;

            msg.Delete();
        }