public int DeductOffer(GamePlayer lose) { if (_gameState == eGameState.PLAY && _data.Players[lose].State != TankGameState.DEAD) { //扣除的经验值公式:经验扣除值=12*玩家当前等级 int GP = LevelMgr.GetGP(Player.PlayerCharacter.Grade); lose.SetGP(-LevelMgr.ReduceGP(lose.PlayerCharacter.Grade, lose.PlayerCharacter.GP)); if (_roomType == eRoomType.PAIRUP) { int offer = _gameClass == eGameClass.CONSORTIA ? 15 : 5; if (lose.PlayerCharacter.Offer < offer) { _data.Players[lose].Offer = -lose.PlayerCharacter.Offer; } else { _data.Players[lose].Offer = -offer; } return(offer); } } return(-1); }
public int HandlePacket(GameClient client, GSPacketIn packet) { //bool result = false; if (string.IsNullOrEmpty(client.Player.PlayerCharacter.CheckCode)) { return(1); } //int check = packet.ReadInt(); string check = packet.ReadString(); if (client.Player.PlayerCharacter.CheckCode.ToLower() == check.ToLower()) { client.Player.PlayerCharacter.CheckCount = 0; //int rewardItemID = GameServer.Instance.Configuration.CheckRewardItem; //ItemTemplateInfo rewardItem = ItemMgr.GetSingleGoods(rewardItemID); //ItemInfo item = ItemInfo.CreateFromTemplate(rewardItem, 1, (int)Game.Server.Statics.ItemAddType.CheckCode); //if (item != null) //{ // item.IsBinds = true; // if (client.Player.AddItem(item, Game.Server.Statics.ItemAddType.CheckCode) != -1) // { // client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("CheckCodeHandler.Msg1", item.Template.Name)); // } // else // { // client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("CheckCodeHandler.Msg2")); // } //} int GP = LevelMgr.GetGP(client.Player.PlayerCharacter.Grade); client.Player.AddGP(LevelMgr.IncreaseGP(client.Player.PlayerCharacter.Grade, client.Player.PlayerCharacter.GP)); client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("CheckCodeHandler.Msg1", client.Player.PlayerCharacter.Grade * 12)); //result = true; packet.ClearContext(); packet.WriteByte(1); packet.WriteBoolean(false); client.Out.SendTCP(packet); } // else if (client.Player.PlayerCharacter.CheckError < 1 && client.Player.PlayerCharacter.CheckCount < 20000) else if (client.Player.PlayerCharacter.CheckError < 9) { client.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("CheckCodeHandler.Msg3")); client.Player.PlayerCharacter.CheckError++; client.Out.SendCheckCode(); } else { client.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("CheckCodeHandler.Msg3")); client.Disconnect(); } return(0); }
public override int HandlePacket(GamePlayer player, GSPacketIn packet) { int result; if (string.IsNullOrEmpty(player.PlayerCharacter.CheckCode)) { result = 1; } else { string check = packet.ReadString(); if (player.PlayerCharacter.CheckCode.ToLower() == check.ToLower()) { int GP = LevelMgr.GetGP(player.PlayerCharacter.Grade); if (player.PlayerCharacter.ChatCount != 5) { player.AddGP(LevelMgr.IncreaseGP(player.PlayerCharacter.Grade, player.PlayerCharacter.GP)); player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("CheckCodeHandler.Msg1", new object[] { player.PlayerCharacter.Grade * 12 })); } player.PlayerCharacter.CheckCount = 0; player.PlayerCharacter.ChatCount = 0; packet.ClearContext(); packet.WriteByte(1); packet.WriteBoolean(false); player.Out.SendTCP(packet); } else { if (player.PlayerCharacter.CheckError < 9) { player.Out.SendMessage(eMessageType.ChatERROR, LanguageMgr.GetTranslation("CheckCodeHandler.Msg3", new object[0])); player.PlayerCharacter.CheckError++; player.Out.SendCheckCode(); } else { player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("CheckCodeHandler.Msg3", new object[0])); player.Disconnect(); } } result = 0; } return(result); }