public PostMessage ( Server.Mobile from, |
||
from | Server.Mobile | |
thread | ||
subject | string | |
lines | string | |
Résultat | void |
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); }
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 ); }