GetLastPostTime() public méthode

public GetLastPostTime ( Server.Mobile poster, bool onlyCheckRoot, System.DateTime &lastPostTime ) : bool
poster Server.Mobile
onlyCheckRoot bool
lastPostTime System.DateTime
Résultat bool
Exemple #1
0
        public static void BBPostMessage(Mobile from, BaseBulletinBoard board, PacketReader reader)
        {
            var thread = World.FindItem(reader.ReadUInt32()) as BulletinMessage;

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

            var breakout = 0;

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

            var lastPostTime = DateTime.MinValue;

            if (board.GetLastPostTime(from, thread == null, ref lastPostTime))
            {
                if (!CheckTime(lastPostTime, thread == null ? ThreadCreateTime : ThreadReplyTime))
                {
                    if (thread == null)
                    {
                        from.SendMessage("You must wait {0} before creating a new thread.", FormatTS(ThreadCreateTime));
                    }
                    else
                    {
                        from.SendMessage("You must wait {0} before replying to another thread.", FormatTS(ThreadReplyTime));
                    }

                    return;
                }
            }

            var subject = reader.ReadUTF8StringSafe(reader.ReadByte());

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

            var lines = new string[reader.ReadByte()];

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

            for (var i = 0; i < lines.Length; ++i)
            {
                lines[i] = reader.ReadUTF8StringSafe(reader.ReadByte());
            }

            board.PostMessage(from, thread, subject, lines);
        }
Exemple #2
0
        public static void BBPostMessage(Mobile from, BaseBulletinBoard board, PacketReader pvSrc)
        {
            BulletinMessage thread = World.FindItem(pvSrc.ReadInt32()) as BulletinMessage;

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

            int breakout = 0;

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

            DateTime lastPostTime = DateTime.MinValue;

            if (board.GetLastPostTime(from, (thread == null), ref lastPostTime))
            {
                if (!CheckTime(lastPostTime, (thread == null ? ThreadCreateTime : ThreadReplyTime)) && from.AccessLevel < AccessLevel.GameMaster)
                {
                    if (thread == null)
                    {
                        from.SendMessage("You must wait {0} before creating a new thread.", FormatTS(ThreadCreateTime));
                    }
                    else
                    {
                        from.SendMessage("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);
        }
        public static void BBPostMessage( Mobile from, BaseBulletinBoard board, PacketReader pvSrc )
        {
            BulletinMessage thread = World.FindItem( pvSrc.ReadInt32() ) as BulletinMessage;

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

            int breakout = 0;

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

            DateTime lastPostTime = DateTime.MinValue;

            if ( board.GetLastPostTime( from, ( thread == null ), ref lastPostTime ) )
            {
                if ( !CheckTime( lastPostTime, (thread == null ? ThreadCreateTime : ThreadReplyTime) ) )
                {
                    if ( thread == null )
                        from.SendMessage( "You must wait {0} before creating a new thread.", FormatTS( ThreadCreateTime ) );
                    else
                        from.SendMessage( "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 );
        }