Пример #1
0
        public void SendMessage(UInt16 Oid, string NameSender, string Text, SystemData.ChatLogFilters Filter)
        {
            if (Text.IndexOf("<LINK") >= 0 && Text.IndexOf("ITEM:") > 0)
            {
                int       Pos     = Text.IndexOf("ITEM:") + 5;
                int       LastPos = Text.IndexOf(" ", Pos) - 1;
                string    Value   = Text.Substring(Pos, LastPos - Pos);
                uint      ItemId  = uint.Parse(Value);
                Item_Info Info    = WorldMgr.GetItem_Info(ItemId);
                if (Info != null)
                {
                }
            }

            PacketOut Out = new PacketOut((byte)Opcodes.F_CHAT);

            Out.WriteUInt16(Oid);
            Out.WriteByte((byte)Filter);
            Out.Fill(0, 4);
            Out.WritePascalString(NameSender);
            Out.WriteByte(0);
            Out.WritePascalString(Text);
            Out.WriteByte(0);
            SendPacket(Out);
        }
Пример #2
0
        public virtual void Say(string Msg, SystemData.ChatLogFilters Filter)
        {
            foreach (Player Plr in _PlayerRanged.ToArray())
            {
                Plr.SendMessage(this, Msg, Filter);
            }

            if (IsPlayer())
            {
                GetPlayer().SendMessage(this, Msg, Filter);
            }
        }
Пример #3
0
        public virtual void Say(string Msg, SystemData.ChatLogFilters Filter)
        {
            foreach (Player Plr in _PlayerRanged.ToArray())
            {
                if (Plr.Realm == GameData.Realms.REALMS_REALM_ORDER && GetPlayer().Realm == GameData.Realms.REALMS_REALM_ORDER)
                {
                    Plr.SendMessage(this, Msg, Filter);
                }
                else if (Plr.Realm == GameData.Realms.REALMS_REALM_DESTRUCTION && GetPlayer().Realm == GameData.Realms.REALMS_REALM_DESTRUCTION)
                {
                    Plr.SendMessage(this, Msg, Filter);
                }
            }

            GetPlayer().SendMessage(this, Msg, Filter);
        }
Пример #4
0
Файл: Player.cs Проект: uvbs/DoR
        public void SendMessage(UInt16 Oid, string NameSender, string Text, SystemData.ChatLogFilters Filter)
        {
            PacketOut Out = new PacketOut((byte)Opcodes.F_CHAT);

            Out.WriteUInt16(Oid);
            Out.WriteByte((byte)Filter);
            Out.Fill(0, 4);
            Out.WritePascalString(NameSender);
            Out.WriteUInt16((ushort)(Text.Length + 1));
            Out.WriteStringBytes(Text);
            Out.WriteByte(0);

            int a = Text.IndexOf("<LINK");
            int b = Text.IndexOf("ITEM:");

            if (a >= 0 && b > 0)
            {
                Out.WriteByte(1);
                long p = Out.Position;
                Out.WriteByte(0);

                int Count = 0;
                while (a >= 0 && b >= 0)
                {
                    int       Pos     = b + 5;
                    int       LastPos = Text.IndexOf(" ", Pos) - 1;
                    string    Value   = Text.Substring(Pos, LastPos - Pos);
                    uint      ItemId  = uint.Parse(Value);
                    Item_Info Info    = WorldMgr.GetItem_Info(ItemId);
                    if (Info != null)
                    {
                        ++Count;
                        Out.WriteByte(3);
                        Item.BuildItem(ref Out, null, Info, 0, 1);
                    }

                    a = Text.IndexOf("<LINK", Pos);
                    b = Text.IndexOf("ITEM:", Pos);
                }

                Out.Position = p;
                Out.WriteByte((byte)Count);
                Out.Position = Out.Length;
            }

            SendPacket(Out);
        }
Пример #5
0
        public virtual void Say(string Msg, SystemData.ChatLogFilters Filter)
        {
            if (Msg == null || Msg.Length == 0)
            {
                return;
            }

            foreach (Player Plr in _PlayerRanged.ToArray())
            {
                if (Plr.GmLevel != 0 || GetPlayer().GmLevel != 0 || Program.Config.ChatBetweenRealms || Plr.Realm == GetPlayer().Realm)
                {
                    Plr.SendMessage(this, Msg, Filter);
                }
            }

            if (IsPlayer())
            {
                GetPlayer().SendMessage(this, Msg, Filter);
            }
        }
Пример #6
0
 public void SendMessage(Object Sender, string Text, SystemData.ChatLogFilters Filter)
 {
     SendMessage(Sender != null ? Sender.Oid : (UInt16)0, Sender != null ? Sender.Name : "", Text, Filter);
 }