public void ReqFBFight(MsgPack pack) { ReqFBFight data = (ReqFBFight)pack.msg; SCPacketBase msg = new RspFBFight(); PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session); int power = cfgSvc.GetMapCfg(data.Fbid).power; if (pd.Fuben < data.Fbid) { msg.error = (int)ErrorCode.ClientDataError; } else if (pd.Power < power) { msg.error = (int)ErrorCode.LackPower; } else { pd.Power -= power; if (cacheSvc.UpdatePlayerData(pd.Id, pd)) { RspFBFight rspFBFight = new RspFBFight { Fbid = data.Fbid, Power = pd.Power }; msg = rspFBFight; } else { msg.error = (int)ErrorCode.UpdateDBError; } } pack.session.SendMsg(msg); }
public void ReqFBFight(MsgPack pack) { ReqFBFight data = pack.msg.reqFBFight; GameMsg msg = new GameMsg() { cmd = (int)CMD.RspFBFight, }; MapCfg mcfg = cfgRvc.GetMapCfgData(data.id); PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session); if (pd.fuben < data.id) { //玩家记录副本ID少于客户端发过来的副本ID //客户端数据异常 msg.err = (int)ErrorCode.ClientDataError; } else if (pd.power < mcfg.power) { //体力不足 msg.err = (int)ErrorCode.LackPower; } else { //扣除体力 pd.power -= mcfg.power; if (!cacheSvc.UpdataPlayerData(pd.id, pd)) { //数据库写入失败 msg.err = (int)ErrorCode.UpdateDBError; } else { TaskSys.Instance.CalcTaskPrgs(pd, 2); msg.rspFBFight = new RspFBFight() { id = data.id, power = pd.power }; } } pack.session.SendMsg(msg); }
public void ReqFBFight(MsgPack pack) { ReqFBFight data = pack.msg.reqFBFight; GameMsg msg = new GameMsg { cmd = (int)CMD.RspFBFight }; PlayerData playerData = cacheSvc.GetPlayerDataBySession(pack.session); int power = cfgSvc.GetMapCfg(data.fbId).power; // 判断发过来的副本id是否合法 if (data.fbId > playerData.fuben) { msg.err = (int)ErrorCode.ClientDataError; } else if (playerData.power < power) { msg.err = (int)ErrorCode.LackPower; } else { playerData.power -= power; if (cacheSvc.UpdatePlayerData(playerData.id, playerData) == false) { msg.err = (int)ErrorCode.UpdateDBError; } else { RspFBFight rspFBFight = new RspFBFight { fbId = data.fbId, power = playerData.power }; msg.rspFBFight = rspFBFight; } } pack.session.SendMsg(msg); }
public void ReqFBFight(PackMsg pack) { ReqFBFight data = pack.msg.reqFBFight; ServerSession session = pack.session; GameMsg msg = new GameMsg { cmd = (int)CMD.RspFBFight, }; PlayerData playerData = cacheSvc.GetPlayerDataCache(session); MapCfg mapCfg = cfgSvc.GetMapCfg(data.fbid); if (playerData.fuben < data.fbid) { msg.err = (int)ErrorCode.ClientDataError; } else if (playerData.stamina < mapCfg.costStamina) { msg.err = (int)ErrorCode.LackStamia; } else { playerData.stamina -= mapCfg.costStamina; if (!cacheSvc.UpdatePlayerData(playerData.id, playerData)) { msg.err = (int)ErrorCode.UpdateDBError; } else { RspFBFight rspFBFight = new RspFBFight { fbid = data.fbid, stamina = playerData.stamina, }; msg.rspFBFight = rspFBFight; } } session.SendMsg(msg); }
public void ReqFBFight(MsgPack pack) { ReqFBFight data = pack.Msg.reqFBFight; GameMsg msg = new GameMsg() { cmd = (int)CMD.RspFBFight }; PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.Session); int power = cfgSvc.GetMapCfg(data.fbid).power; if (pd.fuben < data.fbid) { msg.err = (int)ErrorCode.ClientDataError; } else if (pd.power < power) { msg.err = (int)ErrorCode.LackPower; } else { pd.power -= power; if (cacheSvc.UpdatePlayerData(pd.id, pd)) { RspFBFight rspFbFight = new RspFBFight() { fbid = data.fbid, power = pd.power }; msg.rspFBFight = rspFbFight; } else { msg.err = (int)ErrorCode.UpdateDBError; } } pack.Session.SendMsg(msg); }
public void ReqFBFight(MsgPack pack) { ReqFBFight data = pack.msg.reqFBFight; GameMsg msg = new GameMsg { cmd = (int)CMD.RspFBFight, }; PlayerData pd = CacheSvc.Instance.GetPlayerDataBySession(pack.session); MapCfg mapcfg = CfgSvc.Instance.GetMapCfg(data.fbid); if (data.fbid > pd.mission) { msg.err = (int)ErrorCode.ClientDataError; } else if (pd.power < mapcfg.power) { msg.err = (int)ErrorCode.LackPower; } else { pd.power -= mapcfg.power; if (!CacheSvc.Instance.UpdatePlayerData(pd.id, pd, pack.session)) { msg.err = (int)ErrorCode.UpdateDBError; } else { RspFBFight rspFBFight = new RspFBFight { fbid = data.fbid, power = pd.power, }; msg.rspFBFight = rspFBFight; } } pack.session.SendMsg(msg); }