public static PCSlayerInfo GetPCSlayerInfo(string pcname) { PCSlayerInfo result = new PCSlayerInfo(); //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.STR = datareader.GetUInt16((int)TSlayer.STR); result.DEX = datareader.GetUInt16((int)TSlayer.DEX); result.INT = 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); // shape //result.Shape = datareader.GetUInt32((int)TSlayer.Shape); result.HairStyle = (HairStyle)Enum.Parse(typeof(HairStyle), datareader.GetString((int)TSlayer.HairStyle)); result.Helmet = datareader.GetByte((int)TSlayer.Helmet); result.Jacket = datareader.GetByte((int)TSlayer.Jacket); result.Pants = datareader.GetByte((int)TSlayer.Pants); result.Weapon = datareader.GetByte((int)TSlayer.Weapon); result.Shield = datareader.GetByte((int)TSlayer.Shield); // colors result.ColorHair = datareader.GetUInt16((int)TSlayer.HairColor); result.ColorSkin = datareader.GetUInt16((int)TSlayer.SkinColor); result.ColorHelmet = datareader.GetUInt16((int)TSlayer.HelmetColor); result.ColorJacket = datareader.GetUInt16((int)TSlayer.JacketColor); result.ColorPants = datareader.GetUInt16((int)TSlayer.PantsColor); result.ColorWeapon = datareader.GetUInt16((int)TSlayer.WeaponColor); result.ColorShield = datareader.GetUInt16((int)TSlayer.ShieldColor); // advancement level result.AdvancementLevel = datareader.GetByte((int)TSlayer.AdvancementLevel); } else { result = null; }; datareader.Close(); //return result return(result); }
public static PCInfo[] GetPCInfoList(string userid) { PCInfo[] result = new PCInfo[3]; // build query string string cmdstr = String.Format(@"SELECT SLOT1, SLOT2, SLOT3 FROM Player WHERE UserID = '{0}'", userid); // execute query MySqlCommand cmd = new MySqlCommand(cmdstr, mysqlconn); MySqlDataReader datareader = cmd.ExecuteReader(); // read data if (datareader.HasRows) { datareader.Read(); string name1 = null; string name2 = null; string name3 = null; if (!datareader.IsDBNull(0)) { name1 = datareader.GetString(0); } if (!datareader.IsDBNull(1)) { name2 = datareader.GetString(1); } if (!datareader.IsDBNull(2)) { name3 = datareader.GetString(2); } datareader.Close(); if (name1 != null) { PCType pctype = GetPCType(name1); if (pctype == PCType.SLAYER) { PCSlayerInfo pc = GetPCSlayerInfo(name1); pc.Slot = Slot.SLOT1; result[0] = pc; } else if (pctype == PCType.VAMPIRE) { PCVampireInfo pc = GetPCVampireInfo(name1); pc.Slot = Slot.SLOT1; result[0] = pc; } else if (pctype == PCType.OUSTER) { PCOusterInfo pc = GetPCOusterInfo(name1); pc.Slot = Slot.SLOT1; result[0] = pc; } } if (name2 != null) { PCType pctype = GetPCType(name2); if (pctype == PCType.SLAYER) { PCSlayerInfo pc = GetPCSlayerInfo(name2); pc.Slot = Slot.SLOT2; result[1] = pc; } else if (pctype == PCType.VAMPIRE) { PCVampireInfo pc = GetPCVampireInfo(name2); pc.Slot = Slot.SLOT2; result[1] = pc; } else if (pctype == PCType.OUSTER) { PCOusterInfo pc = GetPCOusterInfo(name2); pc.Slot = Slot.SLOT2; result[1] = pc; } } if (name3 != null) { PCType pctype = GetPCType(name3); if (pctype == PCType.SLAYER) { PCSlayerInfo pc = GetPCSlayerInfo(name3); pc.Slot = Slot.SLOT3; result[2] = pc; } else if (pctype == PCType.VAMPIRE) { PCVampireInfo pc = GetPCVampireInfo(name3); pc.Slot = Slot.SLOT3; result[2] = pc; } else if (pctype == PCType.OUSTER) { PCOusterInfo pc = GetPCOusterInfo(name3); pc.Slot = Slot.SLOT3; result[2] = pc; } } } // return result return(result); }