public static void SendMessage(MartialClient c, InPacket p) { if (c.getAccount().activeCharacter == null) { Logger.LogCheat(Logger.HackTypes.NullActive, c, "Attempted to hook SendMessage handling while not being ingame."); c.Close(); return; } Character chr = c.getAccount().activeCharacter; int messageType = p.ReadInt(); // identifier of message type maybe? string receiver = p.ReadString(20); // receiver name MiscFunctions.obscureString(receiver); if (!MySQLTool.NameTaken(receiver)) { return; } int messageLength = p.ReadInt(); // message length string message = p.ReadString(messageLength); MiscFunctions.obscureString(message); OutPacket op = new OutPacket(20); op.WriteInt(20); op.WriteShort(4); op.WriteShort(0x53); op.WriteInt(718349825); op.WriteInt(chr.getuID()); op.WriteInt(-1089732352); c.WriteRawPacket(op.ToArray()); }
public static ImageModel selectImgById(long id) { string sql = "SELECT * FROM images WHERE kid=" + id; DataSet ds = MySQLTool.getDataSet(sql); return(toImage(ds.Tables[0].Rows[0])); }
public static List <ImageModel> selectImgList(DefaultConfig config) { string sql = "SELECT * FROM images WHERE 1=1"; if (!(config.author == null || config.author.Length == 0)) { sql += string.Format(" and author LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.author); } for (int i = 0; i < config.tags.Count; i++) { if (i == 0) { sql += string.Format(" and tags LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.tags[0]); } else { sql += string.Format(" or tags LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.tags[i]); } } if (config.fileSize != 0) { sql += " and file_size <=" + config.fileSize; } if (config.eTime != 0) { sql += " and images.created_at >=" + config.eTime; } sql += " and width >= " + config.w_min + " and width <= " + config.w_max + " and height>= " + config.h_min + " and height <=" + config.h_max; switch (config.order) { case 3: sql += " ORDER BY created_at"; break; case 2: sql += " ORDER BY height"; break; case 1: sql += " ORDER BY width"; break; case 0: sql += " ORDER BY score"; break; default: sql += " ORDER BY created_at"; break; } switch (config.sort) { case 1: sql += " DESC"; break; default: sql += " ASC"; break; } sql += string.Format(" limit {0}", config.limit); DataSet ds = MySQLTool.getDataSet(sql); List <ImageModel> list = new List <ImageModel>(); foreach (DataRow row in ds.Tables[0].Rows) { list.Add(toImage(row)); } return(list); }
public static int updateFavor(string uname, string kid) { string sql = string.Format("insert into favor(uid,kid,status) values((select uid from user where username='******'),'{1}','{2}') ON DUPLICATE KEY UPDATE status=-status;select status from favor where uid=(select uid from user where username='******') and kid={1}", uname, kid, 1); DataSet ds = MySQLTool.getDataSet(sql); int status = (int)ds.Tables[0].Rows[0][0]; return(status); }
public static int selectImgListCount(DefaultConfig config) { string sql = selectImgListSql(config, -1, -1, config.username); sql = "select count(*) as count from (" + sql + ") as newTable"; DataSet ds = MySQLTool.getDataSet(sql); return(Convert.ToInt32(ds.Tables[0].Rows[0]["count"].ToString())); }
public void Delete(byte slot) { this.account.characters.Remove(slot); MySQLTool.Delete("chars", "charID", this.cID); MySQLTool.Delete("chars_eq", "charID", this.cID); MySQLTool.Delete("chars_inv", "charID", this.cID); MySQLTool.Delete("chars_cargo", "charID", this.cID); MySQLTool.Delete("chars_skill", "charID", this.cID); MySQLTool.Delete("chars_sbar", "charID", this.cID); }
public static List <ImageModel> selectImgList(DefaultConfig config, int index, int num, string username) { string sql = selectImgListSql(config, index, num, username); DataSet ds = MySQLTool.getDataSet(sql); List <ImageModel> list = new List <ImageModel>(); foreach (DataRow row in ds.Tables[0].Rows) { list.Add(toImageWithLikes(row)); } return(list); }
public static bool login(string username, string passwd) { string sql = string.Format("update user set fingerprint =1 where username='******' and passwd= '{1}'", username, passwd); int num = MySQLTool.runSql(sql); DataSet ds = DBhelper.getDS(sql); if (ds.Tables[0].Rows.Count > 0) { return(true); } return(false); }
public static bool reg(UserModel user) { string sql = string.Format("insert into user (username,passwd) values ('{0}','{1}')", user.Username, user.Passwd); try { int num = MySQLTool.runSql(sql); return(true); }catch (Exception e) { return(false); } }
public static bool login(string username, string passwd) { string sql = string.Format("update user set fingerprint =- fingerprint where username='******' and passwd= '{1}'", username, passwd); int num = MySQLTool.runSql(sql); if (num > 0) { return(true); } else { return(false); } }
public static List <ImageModel> random(DefaultConfig config) { string sql = "SELECT* FROM `images` WHERE id >= (SELECT floor(RAND() * (SELECT MAX(id) FROM `images`))) and created_at>=" + config.eTime; if (!(config.author == null || config.author.Length == 0)) { sql += string.Format(" and author LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.author); } if (!(config.tags.Count == 0)) { if (config.tags[0] != null) { sql += string.Format(" and tags LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.tags[0]); } config.tags.Remove(config.tags[0]); foreach (string tag in config.tags) { sql += string.Format(" or tags LIKE CONCAT(CONCAT('%', '{0}'),'%')", tag); } } if (config.username != "") { sql += string.Format(" and kid in(select kid from favor where uid =(select uid from user where username ='******')) ", config.username); } if (config.fileSize != 0) { sql += string.Format(" and file_size <={0} ", config.fileSize); } sql += string.Format(" and width >= {0} and width <= {1} and height>= {2} and height <={3} order BY id LIMIT {4};", config.w_min, config.w_max, config.h_min, config.h_max, config.limit); DataSet ds = MySQLTool.getDataSet(sql); List <ImageModel> list = new List <ImageModel>(); if (ds == null) { ImageModel image = new ImageModel(); image.Kid = "244060"; list.Add(image); } else { foreach (DataRow row in ds.Tables[0].Rows) { list.Add(toImage(row)); } } return(list); }
public static bool usernameExist(UserModel user) { string sql = string.Format("select * from user where username ={0}", user.Username); int num = MySQLTool.runSql(sql); if (num > 0) { return(true); } else { return(false); } }
public void LoadCharacters() { using (var con = new MySqlConnection(MasterServer.Instance.SqlConnection.mConnectionString)) using (var cmd = con.CreateCommand()) { con.Open(); cmd.CommandText = "SELECT * FROM chars WHERE ownerID = " + aID + " LIMIT 5"; using (var reader = cmd.ExecuteReader()) { List <int> ids = new List <int>(); for (int i = 0; i < 5; i++) { if (!reader.Read()) { break; } ids.Add(reader.GetInt32(0)); } foreach (int id in ids) { Character chr = new Character(); chr.setcID(id); if (chr.Load(this) == 0) { Logger.WriteLog(Logger.LogTypes.Error, "Could not load character with ID {0}.", chr.getuID()); continue; } chr.setAccount(this); MySQLTool.loadEq(chr); MySQLTool.loadInv(chr); MySQLTool.loadCargo(chr); MySQLTool.loadSkills(chr); MySQLTool.loadSkillBar(chr); MySQLTool.loadCommunities(chr); CharacterFunctions.calculateCharacterStatistics(chr); this.appendToCharacters(chr); } } } }
public bool Create() { StringBuilder sb = new StringBuilder(); sb.Append("(charName, charClass, face, Inte, Agi, Vit, Str, Dex, statPointz, ownerID) "); sb.Append("VALUES ("); sb.Append("'" + this.name + "',"); sb.Append(this.cClass + ","); sb.Append(this.face + ","); sb.Append(this.inte + ","); sb.Append(this.agi + ","); sb.Append(this.vit + ","); sb.Append(this.str + ","); sb.Append(this.dex + ","); sb.Append(this.statPoints + ","); sb.Append(this.account.aID); sb.Append(")"); int charID = MySQLTool.Create("chars", sb); this.cID = charID; sb.Clear(); sb.Append("(charID) VALUES (" + charID + ")"); MySQLTool.Create("chars_eq", sb); sb.Clear(); sb.Append("(charID) VALUES (" + charID + ")"); MySQLTool.Create("chars_inv", sb); sb.Clear(); sb.Append("(charID) VALUES (" + charID + ")"); MySQLTool.Create("chars_sbar", sb); sb.Clear(); sb.Append("(charID) VALUES (" + charID + ")"); MySQLTool.Create("chars_skill", sb); sb.Clear(); sb.Append("(charID) VALUES (" + charID + ")"); MySQLTool.Create("chars_com", sb); return(true); }
public void Save() { StringBuilder sb = new StringBuilder(); sb.Append(" charName = '" + name + "'"); sb.Append(", charClass = " + cClass); sb.Append(", removeState = " + deleteState); sb.Append(", invPages = " + invPages); sb.Append(", face = " + face); sb.Append(", effect = " + effect); sb.Append(", faction = " + faction); sb.Append(", level = " + level); sb.Append(", curHP = " + curHP); sb.Append(", curMP = " + curMP); sb.Append(", curSP = " + curSP); sb.Append(", coin = " + coin); sb.Append(", fame = " + fame); sb.Append(", locX = '" + position[0]); sb.Append("', locY = '" + position[1]); sb.Append("', map = " + map); sb.Append(", Inte = " + inte); sb.Append(", Agi = " + agi); sb.Append(", Vit = " + vit); sb.Append(", Str = " + str); sb.Append(", Dex = " + dex); sb.Append(", statPointz = " + statPoints); sb.Append(", skillPointz = " + skillPoints); sb.Append(", karmaMessagingTimes = " + karmaMessagingTimes); sb.Append(", gmShoutMessagingTimes = " + gmShoutMessagingTimes); MySQLTool.Save("chars", sb, "charID", this.cID); MySQLTool.SaveEquipments(this); MySQLTool.SaveInventories(this); //MySQLTool.SaveCargo(this); MySQLTool.SaveSkills(this); MySQLTool.SaveSkillBar(this); MySQLTool.SaveCommunities(this); }
public static int createInventories(Character chr) { Inventory inv = chr.getInventory(); inv.setPages(chr.getInvPages()); List <int> seqhash = new List <int>(); for (int i = 0; i <= 240; i++) { seqhash.Add(-1); } inv.saveInv(); inv.setSeqSaved(seqhash); foreach (int[] entry in NewInventory.Instance.newInventory) { chr.getInventory().addItem(entry[0], (short)entry[1], new Item(entry[2], (short)entry[3], ItemDataCache.Instance.getItemData(entry[2]).getTimeToExpire())); } chr.getInventory().saveInv(); MySQLTool.SaveInventories(chr); return(1); }
public static void CreateNewCharacter(MartialClient c, InPacket p) { if (c.getAccount().activeCharacter != null) { Logger.LogCheat(Logger.HackTypes.CreateCharacter, c, "Attempted to create a character while being ingame."); c.Close(); return; } if (c.getAccount().characters.Count() == 5) { Logger.LogCheat(Logger.HackTypes.CreateCharacter, c, "Attempted to create a character while characters count is 5."); c.Close(); return; } string charName = MiscFunctions.obscureString(p.ReadString(18)); if (charName == null) { c.WriteRawPacket(Constants.createNCharNameTaken); return; } if (charName.Length < 3 || Regex.Replace(charName, "[^A-Za-z0-9]+", "") != charName || MySQLTool.NameTaken(charName)) { c.WriteRawPacket(Constants.createNCharNameTaken); return; } byte face = (byte)p.ReadShort(); if (face < 1 || face > 7) { Logger.LogCheat(Logger.HackTypes.CreateCharacter, c, "Attempted to create a character with face no {0}", face); c.WriteRawPacket(Constants.createNCharNameTaken); return; } short unknownShit = p.ReadShort(); // but let's check it if (unknownShit > 0) { Logger.WriteLog(Logger.LogTypes.Debug, "Create character's shit: {0}", unknownShit); } short unknownShit2 = p.ReadShort(); if (unknownShit2 > 0) { Logger.WriteLog(Logger.LogTypes.Debug, "Create character's shit: {0}", unknownShit2); } byte cClass = (byte)p.ReadShort(); if (cClass < 1 || cClass > 4) { Logger.LogCheat(Logger.HackTypes.CreateCharacter, c, "Attempted to create a character with class no {0}", cClass); c.WriteRawPacket(Constants.createNCharNameTaken); return; } byte[] stats = { (byte)p.ReadShort(), (byte)p.ReadShort(), (byte)p.ReadShort(), (byte)p.ReadShort(), (byte)p.ReadShort() }; byte statPoints = (byte)p.ReadShort(); if (stats[0] + stats[1] + stats[2] + stats[3] + stats[4] + statPoints > 55) { Logger.LogCheat(Logger.HackTypes.CreateCharacter, c, "Attempted to create a character with weird amount of attributes."); c.WriteRawPacket(Constants.createNCharNameTaken); return; } Character newChr = new Character(); newChr.setName(charName); newChr.setFace(face); newChr.setcClass(cClass); newChr.setStr(stats[0]); newChr.setDex(stats[1]); newChr.setVit(stats[2]); newChr.setAgi(stats[3]); newChr.setInt(stats[4]); newChr.setStatPoints(statPoints); newChr.setAccount(c.getAccount()); if (newChr.Create() == true) { CharacterFunctions.createEquipments(newChr); CharacterFunctions.createInventories(newChr); CharacterFunctions.calculateCharacterStatistics(newChr); newChr.setCurHP(newChr.getMaxHP()); newChr.setCurMP(newChr.getMaxMP()); newChr.setCurSP(newChr.getMaxSP()); c.getAccount().appendToCharacters(newChr); c.WriteRawPacket(Constants.createNewCharacter); return; } c.WriteRawPacket(Constants.createNCharNameTaken); return; }
public static int selectImgListCountByUser(DefaultConfig config, string username) { string sql = string.Format("SELECT count(*) as count FROM images WHERE 1=1 and kid in ((select kid from favor where status=1 and uid = (select uid from user where username = '******')))", username); if (!(config.author == null || config.author.Length == 0)) { sql += string.Format(" and author LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.author); } for (int i = 0; i < config.tags.Count; i++) { if (i == 0) { sql += string.Format(" and tags LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.tags[0]); } else { sql += string.Format(" or tags LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.tags[i]); } } if (config.fileSize != 0) { sql += " and file_size <=" + config.fileSize; } if (config.eTime != 0) { sql += " and images.created_at >=" + config.eTime; } if (config.ext != "all") { sql += string.Format(" and file_url like '%{0}'", config.ext); } sql += " and width >= " + config.w_min + " and width <= " + config.w_max + " and height>= " + config.h_min + " and height <=" + config.h_max; if (config.username != "") { sql += string.Format(" and kid in(select kid from favor where uid =(select uid from user where username ='******')) ", config.username); } switch (config.order) { case 3: sql += " ORDER BY created_at"; break; case 2: sql += " ORDER BY height"; break; case 1: sql += " ORDER BY width"; break; case 0: sql += " ORDER BY score"; break; default: sql += " ORDER BY created_at"; break; } switch (config.sort) { case 1: sql += " DESC"; break; default: sql += " ASC"; break; } DataSet ds = MySQLTool.getDataSet(sql); return(Convert.ToInt32(ds.Tables[0].Rows[0]["count"].ToString())); }
public static List <ImageModel> selectImgListByUser(DefaultConfig config, int index, int num, string username) { string sql = "SELECT *,ifnull(ff.status,0) as tstatus FROM images LEFT JOIN (SELECT kid AS fkid, COUNT( * ) AS num FROM favor GROUP BY fkid) AS f ON f.fkid = images.kid "; sql += string.Format("left join(select kid as ffkid, status from favor where uid = (select uid from user where username = '******')) as ff on ff.ffkid = images.kid WHERE 1 = 1 and kid in ((select kid from favor where status=1 and uid = (select uid from user where username = '******')))", username); if (!(config.author == null || config.author.Length == 0)) { sql += string.Format(" and author LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.author); } for (int i = 0; i < config.tags.Count; i++) { if (i == 0) { sql += string.Format(" and tags LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.tags[0]); } else { sql += string.Format(" or tags LIKE CONCAT(CONCAT('%', '{0}'),'%')", config.tags[i]); } } if (config.fileSize != 0) { sql += " and file_size <=" + config.fileSize; } if (config.eTime != 0) { sql += " and images.created_at >=" + config.eTime; } sql += " and width >= " + config.w_min + " and width <= " + config.w_max + " and height>= " + config.h_min + " and height <=" + config.h_max; switch (config.order) { case 3: sql += " ORDER BY created_at"; break; case 2: sql += " ORDER BY height"; break; case 1: sql += " ORDER BY width"; break; case 0: sql += " ORDER BY score"; break; default: sql += " ORDER BY created_at"; break; } switch (config.sort) { case 1: sql += " DESC"; break; default: sql += " ASC"; break; } sql += string.Format(" limit {0},{1}", index, num); DataSet ds = MySQLTool.getDataSet(sql); List <ImageModel> list = new List <ImageModel>(); foreach (DataRow row in ds.Tables[0].Rows) { list.Add(toImageWithLikes(row)); } return(list); }
// Holy Grail ftw public static void useItem(Character chr, Item item, byte usingIndex, InPacket p) { MartialClient c = chr.getAccount().mClient; ItemData itemData = ItemDataCache.Instance.getItemData(item.getItemID()); Boolean shouldDecrease = false; string determined = null; int determiner = 0; if (itemData.getIsStackable()) { shouldDecrease = true; } else { if (itemData.getTimeToExpire() == 0) { shouldDecrease = true; } } // well.. we don't care if it's handled by server.. let's just remove them & f**k haterz! qq if (shouldDecrease) { if (!chr.getInventory().decrementItem(usingIndex)) { Console.WriteLine("something went wrong with decrement.."); return; } } switch (itemData.getCategory()) { case 1001: // healingz { if (itemData.getHealHP() > 0 || itemData.getHealMana() > 0 || itemData.getHealStamina() > 0) { StaticPackets.releaseHealPacket(chr, (int)(chr.getCurHP() + itemData.getHealHP()), (short)(chr.getCurMP() + itemData.getHealMana()), (short)(chr.getCurSP() + itemData.getHealStamina())); } break; } case 1002: // skillz o.o { StaticPackets.sendSystemMessageToClient(chr.getAccount().mClient, 1, "If you'd like to learn any skill, go to skills list and press CTRL+LMB."); break; } case 1003: // teleport { if (chr.getMap() == itemData.getTeleportMap() || chr.getMap() != itemData.getTeleportMap() && itemData.getSpecialEffect() != 0) { CharacterFunctions.setPlayerPosition(chr, itemData.getTeleportX(), itemData.getTeleportY(), (short)itemData.getTeleportMap()); } break; } case 1007: // reset skills { chr.getSkills().resetAll(); chr.getSkillBar().getSkillBar().Clear(); break; } case 1011: // effect potions { chr.setEffect((byte)itemData.getSpecialEffect()); break; } case 1012: // tae potion { break; } case 1013: // faction change { if (chr.getFaction() == 0) { return; } chr.setFaction(chr.getFaction() == 1 ? (byte)2 : (byte)1); break; } case 1015: // chuk amulet { determiner = BitConverter.ToInt32(p.ReadBytes(4), 0); if (determiner == 0) { return; } ItemData determinedItem = ItemDataCache.Instance.getItemData(determiner); if (determinedItem == null || determinedItem.getCategory() != 1003 || (determiner < 212100146 && determiner > 212100164 && determiner != 212100185 && determiner != 212100187)) { Console.WriteLine("I CAN'T TURN 10 INTO 20 CHICKENZ"); return; } CharacterFunctions.setPlayerPosition(chr, determinedItem.getTeleportX(), determinedItem.getTeleportY(), (short)determinedItem.getTeleportMap()); break; } case 1016: // karma amulet { chr.setKarmaMessagingTimes((short)(chr.getKarmaMessagingTimes() + 1)); break; } case 1020: // name changer { p.Skip(4); string charName = MiscFunctions.obscureString(p.ReadString(16)); if (charName.Length < 3 || Regex.Replace(charName, "[^A-Za-z0-9]+", "") != charName || MySQLTool.NameTaken(charName)) { StaticPackets.sendSystemMessageToClient(chr.getAccount().mClient, 1, "Wrong input " + charName + "."); return; } chr.setName(charName); determined = charName; CharacterFunctions.refreshCharacterForTheWorld(chr); break; } case 1021: // face changer { chr.setFace((byte)itemData.getSpecialEffect()); break; } case 1024: { // yy..? break; } case 1031: // red castle { determiner = BitConverter.ToInt32(p.ReadBytes(4), 0); if (determiner == 0) { return; } ItemData determinedItem = ItemDataCache.Instance.getItemData(determiner); if (determinedItem == null || determinedItem.getCategory() != 56 || ((determiner < 273001255 && determiner > 273001257) && determiner != 283000472 && determiner != 283000543 && determiner != 283000575 && determiner != 283000614 && determiner != 283000934 && determiner != 283001078 && determiner != 283001373 && determiner != 283001376)) { Console.WriteLine("I CAN'T TURN 10 INTO 20 CHICKENZ"); return; } CharacterFunctions.setPlayerPosition(chr, determinedItem.getTeleportX(), determinedItem.getTeleportY(), (short)determinedItem.getTeleportMap()); break; } default: { StaticPackets.sendSystemMessageToClient(chr.getAccount().mClient, 1, "Feature not implemented yet"); return; } } OutPacket op = new OutPacket(52); op.WriteInt(52); op.WriteShort(0x04); op.WriteShort(0x05); op.WriteInt(140328705); op.WriteInt(chr.getuID()); op.WriteShort(0x01); op.WriteByte(0x01); op.WriteByte(usingIndex); op.WriteInt(item.getQuantity()); op.WriteInt(793149441); op.WriteInt(/*determiner > 0 ? determiner : 0*/); op.WritePaddedString(determined, 17); op.WriteByte(0x90); op.WriteByte(0xd2); op.WriteByte(0x2a); c.WriteRawPacket(op.ToArray()); OutPacket ops = new OutPacket(40); ops.WriteInt(40); ops.WriteShort(0x05); ops.WriteShort(0x05); ops.WriteInt(779458561); ops.WriteInt(chr.getuID()); ops.WriteInt(item.getItemID()); ops.WritePaddedString(determined, 17); ops.WriteByte(0x9e); ops.WriteByte(0x0f); ops.WriteByte(0xbf); WMap.Instance.getGrid(chr.getMap()).sendTo3x3Area(chr, chr.getArea(), ops.ToArray()); }
public static int createEquipments(Character chr) { switch (chr.getcClass()) { case 1: { chr.getEquipment().getEquipments().Add(0, new Item(210110101)); chr.getEquipment().getEquipments().Add(1, new Item(207114101)); chr.getEquipment().getEquipments().Add(3, new Item(202110103)); chr.getEquipment().getEquipments().Add(4, new Item(203110102)); chr.getEquipment().getEquipments().Add(6, new Item(209114101)); chr.getEquipment().getEquipments().Add(7, new Item(201011002)); chr.getEquipment().getEquipments().Add(9, new Item(208114101)); chr.getEquipment().getEquipments().Add(10, new Item(208114101)); chr.getEquipment().getEquipments().Add(11, new Item(206110102)); break; } case 2: { chr.getEquipment().getEquipments().Add(0, new Item(210220101)); chr.getEquipment().getEquipments().Add(1, new Item(207224101)); chr.getEquipment().getEquipments().Add(3, new Item(202220103)); chr.getEquipment().getEquipments().Add(4, new Item(203220102)); chr.getEquipment().getEquipments().Add(6, new Item(209225101)); chr.getEquipment().getEquipments().Add(7, new Item(201011008)); chr.getEquipment().getEquipments().Add(9, new Item(208224101)); chr.getEquipment().getEquipments().Add(10, new Item(208224101)); chr.getEquipment().getEquipments().Add(11, new Item(206220102)); break; } case 3: { chr.getEquipment().getEquipments().Add(0, new Item(210130101)); chr.getEquipment().getEquipments().Add(1, new Item(207134101)); chr.getEquipment().getEquipments().Add(3, new Item(202130103)); chr.getEquipment().getEquipments().Add(4, new Item(203130102)); chr.getEquipment().getEquipments().Add(6, new Item(209135101)); chr.getEquipment().getEquipments().Add(7, new Item(201011014)); chr.getEquipment().getEquipments().Add(9, new Item(208134101)); chr.getEquipment().getEquipments().Add(10, new Item(208134101)); chr.getEquipment().getEquipments().Add(11, new Item(206130102)); break; } case 4: { chr.getEquipment().getEquipments().Add(0, new Item(210140101)); chr.getEquipment().getEquipments().Add(1, new Item(207144101)); chr.getEquipment().getEquipments().Add(3, new Item(202140103)); chr.getEquipment().getEquipments().Add(4, new Item(203140102)); chr.getEquipment().getEquipments().Add(6, new Item(209140101)); chr.getEquipment().getEquipments().Add(7, new Item(201011020)); chr.getEquipment().getEquipments().Add(9, new Item(208144101)); chr.getEquipment().getEquipments().Add(10, new Item(208144101)); chr.getEquipment().getEquipments().Add(11, new Item(206140102)); break; } } MySQLTool.SaveEquipments(chr); return(1); }