Esempio n. 1
0
        public void Connect(CGConnect packet)
        {
            this.UserID = GameServer.AuthPlayers[packet.AuthKey];
            GameServer.AuthPlayers.Remove(packet.AuthKey);
            this.PCName = packet.PCName;

            GConsole.WriteStatus("Received CGConnectPacket: {0}:{1}:{2}", this.UserID, this.PCName, packet.AuthKey);

            PCSlayerInfo2 pc     = DBManager.GetPCSlayerInfo2(packet.PCName);
            GCUpdateInfo  answer = new GCUpdateInfo(pc);

            answer.Write(ref netstream);
        }
Esempio n. 2
0
        public static PCSlayerInfo2 GetPCSlayerInfo2(string pcname)
        {
            PCSlayerInfo2 result = new PCSlayerInfo2();

            //build query string
            string cmdstr = String.Format(@"SELECT * FROM Slayer WHERE Name = '{0}'", pcname);

            //execute query
            MySqlCommand    cmd        = new MySqlCommand(cmdstr, mysqlconn);
            MySqlDataReader datareader = cmd.ExecuteReader();

            //read data
            if (datareader.HasRows)
            {
                datareader.Read();

                // name
                result.Name = datareader.GetString((int)TSlayer.Name);

                // sex
                result.Sex = (Sex)Enum.Parse(typeof(Sex), datareader.GetString((int)TSlayer.Sex));

                // alignment
                result.Alignment = datareader.GetInt32((int)TSlayer.Alignment);

                // str dex & int
                result.STRBasic = datareader.GetUInt16((int)TSlayer.STR);
                result.DEXBasic = datareader.GetUInt16((int)TSlayer.DEX);
                result.INTBasic = datareader.GetUInt16((int)TSlayer.INT);

                // rank
                result.Rank = datareader.GetByte((int)TSlayer.Rank);

                // strexp dexexp & int
                result.STRExp = datareader.GetUInt32((int)TSlayer.STRExp);
                result.INTExp = datareader.GetUInt32((int)TSlayer.INTExp);
                result.DEXExp = datareader.GetUInt32((int)TSlayer.DEXExp);

                // hp maxhp mp & maxmp
                result.HP    = datareader.GetUInt16((int)TSlayer.HP);
                result.MaxHP = datareader.GetUInt16((int)TSlayer.MaxHP);
                result.MP    = datareader.GetUInt16((int)TSlayer.MP);
                result.MaxMP = datareader.GetUInt16((int)TSlayer.MaxMP);

                // fame
                result.Fame = datareader.GetUInt32((int)TSlayer.Fame);

                // domainlevels (6)
                result.DomainLevelBlade   = datareader.GetByte((int)TSlayer.BladeLevel);
                result.DomainLevelSword   = datareader.GetByte((int)TSlayer.SwordLevel);
                result.DomainLevelGun     = datareader.GetByte((int)TSlayer.GunLevel);
                result.DomainLevelHeal    = datareader.GetByte((int)TSlayer.HealLevel);
                result.DomainLevelEnchant = datareader.GetByte((int)TSlayer.EnchantLevel);
                result.DomainLevelEtc     = datareader.GetByte((int)TSlayer.ETCLevel);

                // advancement level
                result.AdvancementLevel = datareader.GetByte((int)TSlayer.AdvancementLevel);
            }
            else
            {
                result = null;
            };

            datareader.Close();

            //return result
            return(result);
        }