/// <summary> /// 给奖励 /// </summary> public void GiveAwards(KingOfBattleScene scene) { try { KingOfBattleStatisticalData gameResultData = scene.GameStatisticalData; foreach (var contextData in scene.ClientContextDataDict.Values) { gameResultData.AllRoleCount++; int success; if (contextData.BattleWhichSide == scene.SuccessSide) { success = 1; gameResultData.WinRoleCount++; } else { success = 0; gameResultData.LoseRoleCount++; } GameClient client = GameManager.ClientMgr.FindClient(contextData.RoleId); string awardsInfo = string.Format("{0},{1},{2},{3},{4}", scene.SceneInfo.Id, success, contextData.TotalScore, scene.ScoreData.Score1, scene.ScoreData.Score2); if (client != null) //确认角色仍然在线 { int score = contextData.TotalScore; contextData.TotalScore = 0; if (score >= RuntimeData.KingOfBattleLowestJiFen) { Global.SaveRoleParamsStringToDB(client, RoleParamName.KingOfBattleAwards, awardsInfo, true); } else { Global.SaveRoleParamsStringToDB(client, RoleParamName.KingOfBattleAwards, RuntimeData.RoleParamsAwardsDefaultString, true); } NtfCanGetAward(client, success, score, scene.SceneInfo, scene.ScoreData.Score1, scene.ScoreData.Score2); } else if (contextData.TotalScore >= RuntimeData.KingOfBattleLowestJiFen) { Global.UpdateRoleParamByNameOffline(contextData.RoleId, RoleParamName.KingOfBattleAwards, awardsInfo, contextData.ServerId); } else { Global.UpdateRoleParamByNameOffline(contextData.RoleId, RoleParamName.KingOfBattleAwards, RuntimeData.RoleParamsAwardsDefaultString, contextData.ServerId); } } YongZheZhanChangClient.getInstance().PushGameResultData(gameResultData); } catch (System.Exception ex) { DataHelper.WriteExceptionLogEx(ex, "王者战场系统清场调度异常"); } }
public void WriteRoleInfoDataToDb(object obj) { //写数据库 try { string sql = ""; if (obj is YongZheZhanChangStatisticalData) { YongZheZhanChangStatisticalData data = obj as YongZheZhanChangStatisticalData; sql = string.Format("INSERT INTO t_yongzhezhanchang_fuben_log(gameid,allrolecount,winrolecount,loserolecount,lianshascore,zhongjiescore,caijiscore,bossscore,killscore,gametime) " + "VALUES({0},{1},{2},{3},{4},{5},{6},{7},{8},now())", data.GameId, data.AllRoleCount, data.WinRoleCount, data.LoseRoleCount, data.LianShaScore, data.ZhongJieScore, data.CaiJiScore, data.BossScore, data.KillScore); } else if (obj is KingOfBattleStatisticalData) { KingOfBattleStatisticalData data = obj as KingOfBattleStatisticalData; sql = string.Format("INSERT INTO t_kingofbattle_fuben_log(gameid,allrolecount,winrolecount,loserolecount,lianshascore,zhongjiescore,caijiscore,bossscore,killscore,gametime) " + "VALUES({0},{1},{2},{3},{4},{5},{6},{7},{8},now())", data.GameId, data.AllRoleCount, data.WinRoleCount, data.LoseRoleCount, data.LianShaScore, data.ZhongJieScore, data.CaiJiScore, data.BossScore, data.KillScore); } else if (obj is KuaFuBossStatisticalData) { KuaFuBossStatisticalData data = obj as KuaFuBossStatisticalData; for (int i = 0; i < data.MonsterDieTimeList.Count - 1; i += 2) { //INSERT INTO t_kuafu_boss_log(gameid,monsterid,killtime) VALUES({0},{1},{2}); sql += string.Format("INSERT INTO t_kuafu_boss_log VALUES({0},{1},{2});", data.GameId, data.MonsterDieTimeList[i], data.MonsterDieTimeList[i + 1]); } } else if (obj is GameLogItem) { GameLogItem data = obj as GameLogItem; sql = string.Format("INSERT INTO t_yongzhezhanchang_role_statistics_log(servercount,fubencount,signupcount,entercount,gametime) VALUES({0},{1},{2},{3},now());", data.ServerCount, data.FubenCount, data.SignUpCount, data.EnterCount); } if (!string.IsNullOrEmpty(sql)) { DbHelperMySQL.ExecuteSql(sql); } } catch (System.Exception ex) { LogManager.WriteExceptionUseCache(ex.ToString()); } }