ReadByteArray() public method

public ReadByteArray ( int count ) : byte[]
count int
return byte[]
コード例 #1
0
ファイル: Chat.cs プロジェクト: Pascal1000/server1
        private static void OnChatPublic(PacketReader reader_, int Index_)
        {
            ushort msglen = reader_.ReadWord();

            byte[] bmsg = reader_.ReadByteArray(msglen * 2);

            if (Player.Flags[Index_].GM == 1)
            {
                string msg = Encoding.Unicode.GetString(bmsg);
                if (msg.ToCharArray()[0] == '.' && msg.Contains("level"))
                {
                    string[] tmpString = msg.Split(' ');
                    Stats.GetXP(Index_, Convert.ToUInt64(tmpString[1]), Convert.ToUInt64(tmpString[2]));
                }
            }

            PacketWriter writer = new PacketWriter();

            writer.SetOpcode(SERVER_OPCODES.GAME_SERVER_CHAT);
            writer.AppendByte(1);
            writer.AppendDword(Player.General[Index_].UniqueID);
            writer.AppendWord(msglen);
            writer.AppendByteArray(bmsg, bmsg.Length);
            ServerSocket.SendPacketInRange(writer.getWorkspace(), Index_);
        }
コード例 #2
0
ファイル: Chat.cs プロジェクト: Pascal1000/server1
        private static void OnChatWhisper(PacketReader reader_, int Index_)
        {
            ushort charlen = reader_.ReadWord();
            string name    = reader.ReadString(false, charlen);

            if (name.ToCharArray(0, 1)[0] == '[')
            {
                name = name.Substring(3);
            }

            ushort msglen = reader_.ReadWord();

            byte[] bmsg = reader_.ReadByteArray(msglen * 2);


            if (DatabaseCore.Character.GetIndexByName(name) != -1)
            {
                PacketWriter writer = new PacketWriter();
                writer.SetOpcode(SERVER_OPCODES.GAME_SERVER_CHAT);
                writer.AppendByte(2);
                writer.AppendWord((ushort)Player.General[Index_].CharacterName.Length);
                writer.AppendString(false, Player.General[Index_].CharacterName);
                writer.AppendWord((ushort)(msglen / 2));
                writer.AppendByteArray(bmsg, bmsg.Length);
                for (int i = 0; i <= Player.PlayersOnline; i++)
                {
                    if (Player.General[i].CharacterName == name)
                    {
                        ServerSocket.Send(writer.getWorkspace(), i);
                        break;
                    }
                }
            }
        }
コード例 #3
0
ファイル: Chat.cs プロジェクト: Pascal1000/server1
        private static void OnChatNotice(PacketReader reader_)
        {
            ushort msglen = reader_.ReadWord();

            byte[] bmsg = reader_.ReadByteArray(msglen * 2);

            PacketWriter writer = new PacketWriter();

            writer.SetOpcode(SERVER_OPCODES.GAME_SERVER_CHAT);
            writer.AppendByte(7);
            writer.AppendWord(msglen);
            writer.AppendByteArray(bmsg, bmsg.Length);
            ServerSocket.SendToAllIngame(writer.getWorkspace());
        }
コード例 #4
0
ファイル: Chat.cs プロジェクト: CarlosX/DarkEmu
        private static void OnChatNotice(PacketReader reader_)
        {
            ushort msglen = reader_.ReadWord();

            byte[] bmsg = reader_.ReadByteArray(msglen * 2);

            PacketWriter writer = new PacketWriter();
            writer.SetOpcode(SERVER_OPCODES.GAME_SERVER_CHAT);
            writer.AppendByte(7);
            writer.AppendWord(msglen);
            writer.AppendByteArray(bmsg, bmsg.Length);
            ServerSocket.SendToAllIngame(writer.getWorkspace());
        }
コード例 #5
0
ファイル: Chat.cs プロジェクト: CarlosX/DarkEmu
        private static void OnChatWhisper(PacketReader reader_, int Index_)
        {
            ushort charlen = reader_.ReadWord();
            string name = reader.ReadString(false, charlen);

            if (name.ToCharArray(0, 1)[0] == '[')
                name = name.Substring(3);

            ushort msglen = reader_.ReadWord();
            byte[] bmsg = reader_.ReadByteArray(msglen * 2);

            if (DatabaseCore.Character.GetIndexByName(name) != -1)
            {
                PacketWriter writer = new PacketWriter();
                writer.SetOpcode(SERVER_OPCODES.GAME_SERVER_CHAT);
                writer.AppendByte(2);
                writer.AppendWord((ushort)Player.General[Index_].CharacterName.Length);
                writer.AppendString(false, Player.General[Index_].CharacterName);
                writer.AppendWord((ushort)(msglen / 2));
                writer.AppendByteArray(bmsg, bmsg.Length);
                for (int i = 0; i <= Player.PlayersOnline; i++)
                {
                    if (Player.General[i].CharacterName == name)
                    {
                        ServerSocket.Send(writer.getWorkspace(), i);
                        break;
                    }
                }
            }
        }
コード例 #6
0
ファイル: Chat.cs プロジェクト: CarlosX/DarkEmu
        private static void OnChatPublic(PacketReader reader_, int Index_)
        {
            ushort msglen = reader_.ReadWord();
            byte[] bmsg = reader_.ReadByteArray(msglen * 2);

            if (Player.Flags[Index_].GM == 1)
            {
                string msg = Encoding.Unicode.GetString(bmsg);
                if (msg.ToCharArray()[0] == '.' && msg.Contains("level"))
                {
                    string[] tmpString = msg.Split(' ');
                    Stats.GetXP(Index_, Convert.ToUInt64(tmpString[1]), Convert.ToUInt64(tmpString[2]));
                }
            }

            PacketWriter writer = new PacketWriter();
            writer.SetOpcode(SERVER_OPCODES.GAME_SERVER_CHAT);
            writer.AppendByte(1);
            writer.AppendDword(Player.General[Index_].UniqueID);
            writer.AppendWord(msglen);
            writer.AppendByteArray(bmsg, bmsg.Length);
            ServerSocket.SendPacketInRange(writer.getWorkspace(), Index_);
        }