public int HandlePacket(GameClient client, GSPacketIn packet) { int id = packet.ReadInt(); if (client.Player.PlayerCharacter.AnswerSite < id) { List <ItemInfo> infos = null; if (DropInventory.AnswerDrop(id, ref infos) == true) { client.Player.PlayerCharacter.AnswerSite = id; if (infos != null) { int gold = 0; int money = 0; int giftToken = 0; foreach (ItemInfo info in infos) { ItemInfo.FindSpecialItemInfo(info, ref gold, ref money, ref giftToken); if (info != null) { if (info.Template.BagType == eBageType.PropBag) { client.Player.MainBag.AddTemplate(info, info.Count); } } client.Player.AddGold(gold); client.Player.AddMoney(money); client.Player.AddGiftToken(giftToken); LogMgr.LogMoneyAdd(LogMoneyType.Award, LogMoneyType.Award_Answer, client.Player.PlayerCharacter.ID, money, client.Player.PlayerCharacter.Money, gold, 0, 0, "", "", ""); } } } } //GSPacketIn pkg = packet.Clone(); //pkg.ClearContext(); //pkg.WriteByte(0); ////pkg.WriteInt(0); //for (int i = 0; i < 100; i++) //{ // pkg.WriteByte(1); //} //pkg.WriteInt(client.Player.PlayerCharacter.AnswerSite); //client.Player.Out.SendTCP(pkg); return(1); }
public int HandlePacket(GameClient client, GSPacketIn packet) { byte b = packet.ReadByte(); int num = packet.ReadInt(); bool flag = false; if (b == 1) { flag = packet.ReadBoolean(); } if (b == 1) { List <ItemInfo> list = null; if (DropInventory.AnswerDrop(num, ref list)) { int value = 0; int num2 = 0; int num3 = 0; int num4 = 0; foreach (ItemInfo current in list) { ItemInfo.FindSpecialItemInfo(current, ref value, ref num2, ref num3, ref num4); if (current != null && current.Template.BagType == eBageType.PropBag) { client.Player.MainBag.AddTemplate(current, current.Count); } client.Player.AddGold(value); client.Player.AddMoney(num2); client.Player.AddGiftToken(num3); LogMgr.LogMoneyAdd(LogMoneyType.Award, LogMoneyType.Award_Answer, client.Player.PlayerCharacter.ID, num3, client.Player.PlayerCharacter.Money, num2, 0, 0, 0, "", "", ""); } } if (flag) { client.Player.PlayerCharacter.openFunction((Step)num); } } if (b == 2) { client.Player.PlayerCharacter.openFunction((Step)num); } client.Player.UpdateAnswerSite(num); return(1); }
public int HandlePacket(GameClient client, GSPacketIn packet) { byte unknow = packet.ReadByte(); int id = packet.ReadInt(); if (client.Player.PlayerCharacter.AnswerSite < id) { List <ItemInfo> infos = null; client.Player.PlayerCharacter.AnswerSite = id; if (DropInventory.AnswerDrop(id, ref infos)) { int gold = 0; int money = 0; int giftToken = 0; int medal = 0; foreach (ItemInfo info in infos) { ItemInfo.FindSpecialItemInfo(info, ref gold, ref money, ref giftToken, ref medal); //if ((info != null) && (info.Template.BagType == eBageType.PropBag)) //{ client.Player.MainBag.AddTemplate(info, info.Count); //} client.Player.AddGold(gold); client.Player.AddMoney(money); client.Player.AddGiftToken(giftToken); client.Player.AddMedal(medal); LogMgr.LogMoneyAdd(LogMoneyType.Award, LogMoneyType.Award_Answer, client.Player.PlayerCharacter.ID, giftToken, client.Player.PlayerCharacter.Money, money, 0, 0, 0, "", "", ""); } } } GSPacketIn pkg = packet.Clone(); pkg.ClearContext(); pkg.WriteInt(client.Player.PlayerCharacter.AnswerSite); for (int i = 0; i < client.Player.PlayerCharacter.AnswerSite; i++) { pkg.WriteByte(unknow); } client.Player.Out.SendTCP(pkg); return(1); }