public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            eBageType bagType = (eBageType)packet.ReadByte();
            int place = packet.ReadInt();
            int count = packet.ReadInt();
            client.Player.BeginChanges();
            PlayerInventory bag = client.Player.GetInventory(bagType);
            if (bag != null && bag.GetItemAt(place) != null)
            {
                ItemTemplateInfo item = bag.GetItemAt(place).Template;
                int price = count * item.ReclaimValue;
                if (item.ReclaimType == 2)
                {
                    client.Player.AddGiftToken(price);
                    //client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemReclaimHandler.Success1", price));
                }
                if (item.ReclaimType == 1)
                {
                    client.Player.AddGold(price);
                    //client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemReclaimHandler.Success2", price));
                }
                bag.RemoveItemAt(place);

            }
            else
            {
                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ItemReclaimHandler.NoSuccess"));
                return 1;
            }

            client.Player.CommitChanges();
            //LogMgr.LogMoneyAdd(LogMoneyType.Shop, LogMoneyType.Shop_Continue, client.Player.PlayerCharacter.ID, 25, client.Player.PlayerCharacter.Money, 25, 0, 0, 0, "牌子编号",));
            //client.Player.SaveIntoDatabase();//保存到数据库
            return 0;
        }
示例#2
0
        public bool HandleCommand(TankGameLogicProcessor process, GamePlayer player, GSPacketIn packet)
        {
            //if (player.CurrentGame.Data.CurrentIndex == player || player.CurrentGame.Data.Players[player].State == TankGameState.FRIST || player.CurrentGame.Data.Players[player].State == TankGameState.DEAD)
            if (player.CurrentGame.Data.CurrentIndex == player || player.CurrentGame.Data.Players[player].State == TankGameState.DEAD)
            {
                player.CurrentGame.ReturnPacket(player, packet);
                player.CurrentGame.Data.Players[player].SetXY(packet.ReadInt(), packet.ReadInt());
                //player.CurrentGame.Data.Players[player].StartMoving();

                //GameServer.log.Error(string.Format("StopMoving {0} {1}",player.CurrentGame.Data.Players[player].X,player.CurrentGame.Data.Players[player].Y));
                
                //由于同步问题,暂时去掉
                //if (player.CurrentGame != null)
                //    player.CurrentGame.Data.Players[player].StartMoving();
               
                // GameServer.log.Error(string.Format("StopMoving {0} {1}", player.CurrentGame.Data.Players[player].X, player.CurrentGame.Data.Players[player].Y));
                return true;
            }
            else
            {
                //if (player.CurrentGame.Data.CurrentFire != null)
                //{
                    //int x = packet.ReadInt();
                    //player.CurrentGame.Data.Players[player].PosY = packet.ReadInt();
                //}
                //return true;
            }
            return false;
        }
示例#3
0
        public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
        {
            if (game.GameState != eGameState.Playing || player.GetSealState())
                return;

            int type = packet.ReadByte();
            int place = packet.ReadInt();
            int templateID = packet.ReadInt();

            ItemTemplateInfo template = ItemMgr.FindItemTemplate(templateID);
            if (player.CanUseItem(template))
            {
                //if (player.CurrentBall.ID == 3 && template.TemplateID == 10003)
                //    return;

                //if (player.PlayerDetail.UsePropItem(game, type, place, templateID, player.IsLiving))
                //{
                //    if (player.UseItem(template) == false)
                //    {
                //        BaseGame.log.Error("Using prop error");
                //    }
                //}
                if (player.PlayerDetail.UsePropItem(game, type, place, templateID, player.IsLiving))
                {
                    if (player.UseItem(template) == false)
                    {
                        BaseGame.log.Error("Using prop error");
                    }
                }
                else
                {
                    player.UseItem(template);
                }
            }
        }
示例#4
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            int gold = 0;
            int money = 0;
            int offer = 0;
            int gifttoken = 0;
            int type = 1;
            List<int> needitemsinfo = new List<int>();

            int index = packet.ReadInt();
            int GoodsID = packet.ReadInt();

            ItemInfo item = client.Player.FightBag.GetItemAt(index);

            if (item != null)
            {
                client.Player.FightBag.RemoveItem(item);

                ShopItemInfo shopitem = Bussiness.Managers.ShopMgr.GetShopItemInfoById(GoodsID);                              //获取商品信息
              
                needitemsinfo = ItemInfo.SetItemType(shopitem, type, ref gold, ref money, ref offer, ref gifttoken);          //商品的购买条件

                client.Player.AddGold(gold);
            }
            return 0;
        }
示例#5
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {

           
            //TODO: 储存物品
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 1;

            int bagType = packet.ReadByte();
            int bagPlace = packet.ReadInt();
            int storePlace = packet.ReadInt();

            if (bagType == 0 && bagPlace < 31)
                return 1;

            ConsortiaInfo info = ConsortiaMgr.FindConsortiaInfo(client.Player.PlayerCharacter.ConsortiaID);
            if (info != null)
            {
                PlayerInventory storeBag = client.Player.StoreBag;
                PlayerInventory toBag = client.Player.GetInventory((eBageType)bagType);
               // client.Player.StoreBag.MoveToStore(storeBag, storePlace, bagPlace, toBag, info.StoreLevel * 10);
            }

            return 0;
        }
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     int hallType=packet.ReadInt();
     int updateType=packet.ReadInt();
     int page=packet.ReadInt();
     if(page<0)page=0;
     page++;
     BaseRoom[] list = RoomMgr.Rooms;
     List<BaseRoom> tempList = new List<BaseRoom>();
     //int maxRoomInList = 7;
     var count = 0;
     for (int i = 0; i < list.Length; i++)
     {
         if (!list[i].IsEmpty )
         {
                 // if(!list[i].IsPlaying&&cou) countPr
             count++;
             if (count < page * numberRoomInPage&&count>(page-1)*numberRoomInPage)
                 tempList.Add(list[i]);
             else if(count > page * numberRoomInPage) {
                 break;
             }
             //m_player.Out.SendUpdateRoomList(list[i]);
         }
     }
     if(tempList.Count>0)  client.Out.SendUpdateRoomList(tempList);
     return 0;
 }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;
            //Type 1表示商城,2表示铁匠铺

            bool result = false;
            string msg = "ConsortiaEquipControlHandler.Fail";
            ConsortiaEquipControlInfo info = new ConsortiaEquipControlInfo();
            info.ConsortiaID = client.Player.PlayerCharacter.ConsortiaID;
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                for (int i = 0; i < 5; i++)
                {

                    info.Riches = packet.ReadInt();
                    info.Type = 1;
                    info.Level = i + 1;

                    db.AddAndUpdateConsortiaEuqipControl(info, client.Player.PlayerCharacter.ID, ref msg);
                }
                info.Riches = packet.ReadInt();
                info.Type = 2;
                info.Level = 0;
                db.AddAndUpdateConsortiaEuqipControl(info, client.Player.PlayerCharacter.ID, ref msg);
                msg = "ConsortiaEquipControlHandler.Success";
                result = true;
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     if (client.Player.CurrentRoom != null && client.Player == client.Player.CurrentRoom.Host && !client.Player.CurrentRoom.IsPlaying)
     {
         //string name = packet.ReadString();
         //string pwd = packet.ReadString();
        
         int mapId = packet.ReadInt();
         if (mapId == 10000) return 0;
         byte rT = packet.ReadByte();
         eRoomType roomType;
         if (rT == 10) roomType = eRoomType.Exploration;
         else 
          roomType = (eRoomType)rT;
         byte timeType = packet.ReadByte();
         byte hardLevel = packet.ReadByte();
         int levelLimits = packet.ReadInt();
         //eRoomType roomType = (eRoomType)packet.ReadByte();
         //eTeamType teamType = (eTeamType)packet.ReadByte();
        
         RoomMgr.UpdateRoomGameType(client.Player.CurrentRoom, packet, roomType, timeType, (eHardLevel)hardLevel, levelLimits, mapId);
         //RoomMgr.StartGame(client.Player.CurrentRoom);
     }
     return 0;
 }
 public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
 {
     if (player.IsLiving == false)
     {
         player.TargetPoint.X = packet.ReadInt();
         player.TargetPoint.Y = packet.ReadInt();
     }
 }
示例#10
0
 public void HandleConsortiaAlly(GSPacketIn pkg)
 {
     BaseGame game = GameMgr.FindGame(pkg.ClientID);
     if (game != null)
     {
         game.ConsortiaAlly = pkg.ReadInt();
         game.RichesRate = pkg.ReadInt();
     }
 }
示例#11
0
        public void HandleGameRoomCreate(GSPacketIn pkg)
        {
            int roomId = pkg.ReadInt();
            int gameType = pkg.ReadInt();
            int count = pkg.ReadInt();

            IGamePlayer[] players = new IGamePlayer[count];
            for (int i = 0; i < count; i++)
            {
                PlayerInfo info = new PlayerInfo();
                info.ID = pkg.ReadInt();
                info.Attack = pkg.ReadInt();
                info.Defence = pkg.ReadInt();
                info.Agility = pkg.ReadInt();
                info.Luck = pkg.ReadInt();

                double baseAttack = pkg.ReadDouble();
                double baseDefence = pkg.ReadDouble();
                double baseAgility = pkg.ReadDouble();
                double baseBlood = pkg.ReadDouble();
                int templateId = pkg.ReadInt();

                ItemTemplateInfo itemTemplate = ItemMgr.FindItemTemplate(templateId);
                ItemInfo item = new ItemInfo(itemTemplate);

                players[i] = new ProxyPlayer(info, item, baseAttack, baseDefence, baseAgility, baseBlood);
            }

            ProxyRoomMgr.CreateRoom(players, roomId, this);
        }
示例#12
0
 public bool HandleCommand(TankHotSpringLogicProcessor process, GamePlayer player, GSPacketIn packet)
 {
     if (player.CurrentHotSpringRoom != null)
     {
         int num = packet.ReadInt();
         if (ItemMgr.FindItemTemplate(packet.ReadInt()) != null)
         {
         }
     }
     return false;
 }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            bool result = packet.ReadBoolean();
            int UserID = packet.ReadInt();
            int AnswerId = packet.ReadInt();   //答复对话框ID
            //先判断自已有没有结婚
            if (result && client.Player.PlayerCharacter.IsMarried)
            {
                client.Player.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("MarryApplyReplyHandler.Msg2"));                
            }

            using (PlayerBussiness db = new PlayerBussiness())
            {
                PlayerInfo tempSpouse = db.GetUserSingleByUserID(UserID);
                //发送好人卡
                if (!result)
                {
                    SendGoodManCard(tempSpouse.NickName, tempSpouse.ID, client.Player.PlayerCharacter.NickName, client.Player.PlayerCharacter.ID, db);
                    GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(tempSpouse.ID);                    
                }

                //判断对方有没有结婚                
                if (tempSpouse == null || tempSpouse.Sex == client.Player.PlayerCharacter.Sex)
                {
                    return 1;
                }
                if (tempSpouse.IsMarried)
                {
                    client.Player.Out.SendMessage(eMessageType.ChatNormal, LanguageMgr.GetTranslation("MarryApplyReplyHandler.Msg3"));
                }

                MarryApplyInfo info = new MarryApplyInfo();
                info.UserID = UserID;
                info.ApplyUserID = client.Player.PlayerCharacter.ID;
                info.ApplyUserName = client.Player.PlayerCharacter.NickName;
                info.ApplyType = 2;
                info.LoveProclamation = "";
                info.ApplyResult = result;
                int id = 0;
                if (db.SavePlayerMarryNotice(info, AnswerId, ref id))
                {
                    if (result)
                    {                        
                        client.Player.Out.SendMarryApplyReply(client.Player, tempSpouse.ID, tempSpouse.NickName, result, false, id);
                        client.Player.LoadMarryProp();
                        SendSYSMessages(client.Player, tempSpouse);
                    }
                    GameServer.Instance.LoginServer.SendUpdatePlayerMarriedStates(tempSpouse.ID);
                    return 0;
                }
            }
            return 1;
        }
示例#14
0
 public bool HandleCommand(TankMarryLogicProcessor process, GamePlayer player, GSPacketIn packet)
 {
     if (player.CurrentMarryRoom != null && player.CurrentMarryRoom.RoomState == eRoomState.FREE)
     {
         player.X = packet.ReadInt();
         player.Y = packet.ReadInt();
         //0 player.CurrentMarryRoom.ReturnPacket(player, packet);
         player.CurrentMarryRoom.ReturnPacketForScene(player, packet);
         return true;
     }
     return false;
 }
示例#15
0
        public bool HandleCommand(TankMarryLogicProcessor process, GamePlayer player, GSPacketIn packet)
        {
            if(player.CurrentMarryRoom != null)
            {
                player.X = packet.ReadInt();
                player.Y = packet.ReadInt();

                return true;
            }

            return false;
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int dutyID = packet.ReadInt();
            int updateType = packet.ReadByte();
            //int level = packet.ReadInt();
            bool result = false;
            string msg = "ConsortiaDutyUpdateHandler.Failed";

            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                ConsortiaDutyInfo info = new ConsortiaDutyInfo();
                info.ConsortiaID = client.Player.PlayerCharacter.ConsortiaID;
                info.DutyID = dutyID;
                info.IsExist = true;
                info.DutyName = "";
                switch (updateType)
                {
                    case 1:
                        return 1;
                    case 2:
                        info.DutyName = packet.ReadString();
                        if (string.IsNullOrEmpty(info.DutyName) || System.Text.Encoding.Default.GetByteCount(info.DutyName) > 10)
                        {
                            client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("ConsortiaDutyUpdateHandler.Long"));
                            return 1;
                        }
                        info.Right = packet.ReadInt();
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                }

                if (db.UpdateConsortiaDuty(info, client.Player.PlayerCharacter.ID, updateType, ref msg))
                {
                    dutyID = info.DutyID;
                    msg = "ConsortiaDutyUpdateHandler.Success";
                    result = true;
                    GameServer.Instance.LoginServer.SendConsortiaDuty(info, updateType, client.Player.PlayerCharacter.ConsortiaID);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteInt(dutyID);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
示例#17
0
 public bool HandleCommand(TankHotSpringLogicProcessor process, GamePlayer player, GSPacketIn packet)
 {
     if ((player.CurrentHotSpringRoom != null) && (player.CurrentHotSpringRoom.RoomState == eRoomState.FREE))
     {
         string str = packet.ReadString();
         int num = packet.ReadInt();
         player.X = packet.ReadInt();
         player.Y = packet.ReadInt();
         player.CurrentHotSpringRoom.ReturnPacketForScene(player, packet);
         return true;
     }
     return false;
 }
示例#18
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {

            int Type = packet.ReadInt();
            if (Type == 2)
            {
                int ItemID = packet.ReadInt();

                using (PlayerBussiness db = new PlayerBussiness())
                {
                    ItemInfo Item = db.GetUserItemSingle(ItemID);
                    if (Item != null)
                    {
                        GSPacketIn pkg = new GSPacketIn((byte)ePackageType.LINKREQUEST_GOODS, client.Player.PlayerCharacter.ID);
                        pkg.WriteInt(Item.TemplateID);
                        pkg.WriteInt(Item.ItemID);

                        pkg.WriteInt(Item.StrengthenLevel);

                        pkg.WriteInt(Item.AttackCompose);

                        pkg.WriteInt(Item.AgilityCompose);

                        pkg.WriteInt(Item.LuckCompose);

                        pkg.WriteInt(Item.DefendCompose);
                        pkg.WriteInt(Item.ValidDate);
                        pkg.WriteBoolean(Item.IsBinds);
                        pkg.WriteBoolean(Item.IsJudge);
                        pkg.WriteBoolean(Item.IsUsed);
                        if (Item.IsUsed)
                        {
                            pkg.WriteString(Item.BeginDate.ToString());
                        }
                        pkg.WriteInt(Item.Hole1);
                        pkg.WriteInt(Item.Hole2);
                        pkg.WriteInt(Item.Hole3);
                        pkg.WriteInt(Item.Hole4);
                        pkg.WriteInt(Item.Hole5);
                        pkg.WriteInt(Item.Hole6);

                        pkg.WriteString(Item.Template.Hole);

                        client.Out.SendTCP(pkg);
                    }
                    return 1;
                }

            }
            return 0;
        }
示例#19
0
        public bool HandleCommand(TankGameLogicProcessor process, GamePlayer player, GSPacketIn packet)
        {
            byte type = packet.ReadByte();
            int x = packet.ReadInt();
            int y = packet.ReadInt();
            player.CurrentGame.Data.Players[player].SetXY(packet.ReadInt(), packet.ReadInt());

            if (player.CurrentGame.Data.CurrentIndex == player || player.CurrentGame.Data.Players[player].State == TankGameState.DEAD)
            {
                player.CurrentGame.ReturnPacket(player, packet);
                return true;
            }
            return false;
        }
示例#20
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            string msg;
            int count = packet.ReadInt();
            for (int i = 0; i < count; i++)
            {
                int id = packet.ReadInt();
                QuestInfo info=Bussiness.Managers.QuestMgr.GetSingleQuest(id);
                client.Player.QuestInventory.AddQuest(info,  out msg);

            }

            return 0;
        }
示例#21
0
 public bool HandleCommand(TankHotSpringLogicProcessor process, GamePlayer player, GSPacketIn packet)
 {
     if (player.CurrentHotSpringRoom != null && player.CurrentHotSpringRoom.RoomState == eRoomState.FREE)
     {
         var moveString = packet.ReadString();
         var playerId = packet.ReadInt();
         player.X = packet.ReadInt();
         player.Y = packet.ReadInt();
         //0 player.CurrentHotSpringRoom.ReturnPacket(player, packet);
         player.CurrentHotSpringRoom.ReturnPacketForScene(player, packet);
         return true;
     }
     return false;
 }
示例#22
0
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            int user_id = packet.ReadInt();
            //PlayerInfo info = client.Player.PlayerCharacter;

            return 0;
        }
示例#23
0
 public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
 {
     if(game is PVEGame)
     {
         PVEGame pve = game as PVEGame;
         int tryAgain = packet.ReadInt();
         bool isHost = packet.ReadBoolean();
         if (isHost == true)
         {
             if (tryAgain == 1)
             {
                 if (player.PlayerDetail.RemoveMoney(100) > 0)
                 {
                     //退回关卡结算
                     pve.WantTryAgain = 1;
                     game.SendToAll(packet);
                     player.PlayerDetail.LogAddMoney(AddMoneyType.Game, AddMoneyType.Game_TryAgain, player.PlayerDetail.PlayerCharacter.ID, 100, player.PlayerDetail.PlayerCharacter.Money);
                 }
                 else
                 {
                     player.PlayerDetail.SendInsufficientMoney((int)eBattleRemoveMoneyType.TryAgain);
                 }
             }
             else
             {
                 //退回房间
                 pve.WantTryAgain = 0;
                 game.SendToAll(packet);
             }
             pve.CheckState(0);
         }
     }
 }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = packet.ReadInt();
            bool result = false;
            string msg = "ConsortiaApplyLoginPassHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                int consortiaRepute = 0;
                ConsortiaUserInfo info = new ConsortiaUserInfo();
                if (db.PassConsortiaApplyUsers(id, client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.NickName, client.Player.PlayerCharacter.ConsortiaID, ref msg, info, ref consortiaRepute))
                {
                    msg = "ConsortiaApplyLoginPassHandler.Success";
                    result = true;
                    if (info.UserID != 0)
                    {
                        info.ConsortiaID = client.Player.PlayerCharacter.ConsortiaID;
                        info.ConsortiaName = client.Player.PlayerCharacter.ConsortiaName;
                        GameServer.Instance.LoginServer.SendConsortiaUserPass(client.Player.PlayerCharacter.ID, client.Player.PlayerCharacter.NickName, info, false, consortiaRepute, info.LoginName, client.Player.PlayerCharacter.FightPower);
                    }
                }
            }

            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            int activeID = packet.ReadInt();
            string awardID = packet.ReadString();
            string msg = "ActivePullDownHandler.Fail";
            using (ActiveBussiness db = new ActiveBussiness())
            {
                int result = db.PullDown(activeID, awardID, client.Player.PlayerCharacter.ID,ref msg);
                if (result == 0)
                {
                    client.Out.SendMailResponse(client.Player.PlayerCharacter.ID,eMailRespose.Receiver);
                }
                if (msg != "ActiveBussiness.Msg0")
                {
                    client.Out.SendMessage(eMessageType.ERROR, LanguageMgr.GetTranslation(msg));
                }
                else
                {
                    client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation(msg));

                }
            }

            return 0;
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = packet.ReadInt();
            bool result = false;
            string nickName = "";
            string msg = id == client.Player.PlayerCharacter.ID ? "ConsortiaUserDeleteHandler.ExitFailed" : "ConsortiaUserDeleteHandler.KickFailed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                if (db.DeleteConsortiaUser(client.Player.PlayerCharacter.ID, id, client.Player.PlayerCharacter.ConsortiaID, ref msg, ref nickName))
                {
                    msg = id == client.Player.PlayerCharacter.ID ? "ConsortiaUserDeleteHandler.ExitSuccess" : "ConsortiaUserDeleteHandler.KickSuccess";
                    int consortiaID = client.Player.PlayerCharacter.ConsortiaID;
                    if (id == client.Player.PlayerCharacter.ID)
                    {
                        client.Player.ClearConsortia();
                        client.Out.SendMailResponse(client.Player.PlayerCharacter.ID, eMailRespose.Receiver);
                    }

                   // client.Player.StoreBag.SendStoreToMail();
                    GameServer.Instance.LoginServer.SendConsortiaUserDelete(id, consortiaID, id != client.Player.PlayerCharacter.ID, nickName,client.Player.PlayerCharacter.NickName);
                    result = true;
                }
            }

            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
示例#27
0
 //0友好,1黑名单
 public int HandlePacket(GameClient client, GSPacketIn packet)
 {
     var pet_cmd = packet.ReadByte();
     switch (pet_cmd)
     {
         case (byte)Game.Logic.eTankCmdType.UPDATE_PET:
             HandleUPDATE_PET(client, packet.ReadInt());
             break;
         case (byte)Game.Logic.eTankCmdType.ADD_PET://ADD_PET
             break;
         case (byte)Game.Logic.eTankCmdType.MOVE_PETBAG://MOVE_PETBAG
             break;
         case (byte)Game.Logic.eTankCmdType.FEED_PET://FEED_PET
             break;
         case (byte)Game.Logic.eTankCmdType.REFRESH_PET://REFRESH_PET
             client.Out.SendRefreshPet();
             break;
         case (byte)Game.Logic.eTankCmdType.ADOPT_PET://ADOPT_PET
             break;
         case (byte)Game.Logic.eTankCmdType.EQUIP_PET_SKILL://EQUIP_PET_SKILL
             break;
         case (byte)Game.Logic.eTankCmdType.RELEASE_PET://RELEASE_PET
             break;
         case (byte)Game.Logic.eTankCmdType.RENAME_PET://RENAME_PET
             break;
         case (byte)Game.Logic.eTankCmdType.PAY_SKILL://PAY_SKILL
             break;
         case (byte)Game.Logic.eTankCmdType.FIGHT_PET://FIGHT_PET
             break;
     }
     return 0;
 }
示例#28
0
        public void HandleCommand(BaseGame game, Player player, GSPacketIn packet)
        {
            if (player.IsAttacking)
            {
                int x = packet.ReadInt();
                int y = packet.ReadInt();

                //检查开炮点的距离有效性
                if (player.CheckShootPoint(x, y) == false)
                    return;

                int force = packet.ReadInt();
                int angle = packet.ReadInt();
                player.Shoot(x, y, force, angle);
            }
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            if (client.Player.PlayerCharacter.ConsortiaID == 0)
                return 0;

            int id = packet.ReadInt();
            bool upGrade = packet.ReadBoolean();
            bool result = false;
            string msg = "ConsortiaUserGradeUpdateHandler.Failed";
            using (ConsortiaBussiness db = new ConsortiaBussiness())
            {
                string tempUserName = "";
                ConsortiaDutyInfo info = new ConsortiaDutyInfo();
                if (db.UpdateConsortiaUserGrade(id, client.Player.PlayerCharacter.ConsortiaID, client.Player.PlayerCharacter.ID, upGrade, ref msg, ref info, ref tempUserName))
                {
                    msg = "ConsortiaUserGradeUpdateHandler.Success";
                    result = true;
                    GameServer.Instance.LoginServer.SendConsortiaDuty(info, upGrade ? 6 : 7, client.Player.PlayerCharacter.ConsortiaID,id, tempUserName,client.Player.PlayerCharacter.ID,client.Player.PlayerCharacter.NickName);
                }
            }
            packet.WriteBoolean(result);
            packet.WriteString(LanguageMgr.GetTranslation(msg));
            client.Out.SendTCP(packet);

            return 0;
        }
        public int HandlePacket(GameClient client, GSPacketIn packet)
        {
            GSPacketIn pkg = packet.Clone();
            //pkg.ClearContext();
            if (client.Player.PlayerCharacter.HasBagPassword && client.Player.PlayerCharacter.IsLocked)
            {

                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("Bag.Locked"));

                return 0;
            }
            int id = packet.ReadInt();
            int senderID;
            using (PlayerBussiness db = new PlayerBussiness())
            {
                if (db.DeleteMail(client.Player.PlayerCharacter.ID, id, out senderID))
                {
                    client.Out.SendMailResponse(senderID,eMailRespose.Receiver);
                    pkg.WriteBoolean(true);
                }
                else
                {
                    pkg.WriteBoolean(false);
                }
            }

            client.Out.SendTCP(pkg);

            return 0;
        }
示例#31
0
        public int HandlePacket(GameClient client, Game.Base.Packets.GSPacketIn packet)
        {
            int type_award = packet.ReadInt();

            //1:isDailyGotten
            //2:isShowEgg
            //3:Vip
            if (type_award == 3)
            {
                //client.Player.PlayerCharacter.CanTakeVipReward = false;
                client.Player.PlayerCharacter.LastVIPPackTime = DateTime.Now;
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    db.UpdateLastVIPPackTime(client.Player.PlayerCharacter);
                }
            }
            if (type_award == 2)
            {
            }
            if (Managers.AwardMgr.AddDailyAward(client.Player) == true && type_award == 1)
            {
                using (PlayerBussiness db = new PlayerBussiness())
                {
                    if (db.UpdatePlayerLastAward(client.Player.PlayerCharacter.ID))
                    {
                        client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("GameUserDailyAward.Success"));
                    }
                    else
                    {
                        client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("GameUserDailyAward.Fail"));
                    }
                }
            }
            else
            {
                client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("GameUserDailyAward.Fail1"));
            }
            return(2);
        }
示例#32
0
        public int HandlePacket(GameClient client, Game.Base.Packets.GSPacketIn packet)
        {
            int type_award = packet.ReadInt();

            return(0);
        }