private static bool GetWarTimeStringAndBHName(int warDay, int bangHuiID, out string dayTime, out string bangHuiName) { dayTime = GLang.GetLang(43, new object[0]); bangHuiName = GLang.GetLang(568, new object[0]); BangHuiMiniData bhData = Global.GetBangHuiMiniData(bangHuiID, 0); if (null != bhData) { bangHuiName = bhData.BHName; } int day = TimeUtil.NowDateTime().DayOfYear; DateTime dt = TimeUtil.NowDateTime(); int span = warDay - day; if (span >= 0) { dt = dt.AddDays((double)span); } else { int yearNext = dt.Year + 1; dt = DateTime.Parse(string.Format("{0}-01-01", yearNext)).AddDays((double)(warDay - 1)); } if (WangChengManager.WangChengZhanFightingDayTimes != null && WangChengManager.WangChengZhanFightingDayTimes.Length > 0) { string dayTime2 = dt.ToString("yyyy-MM-dd " + string.Format("{0:00}:{1:00}", WangChengManager.WangChengZhanFightingDayTimes[0].FromHour, WangChengManager.WangChengZhanFightingDayTimes[0].FromMinute)); string dayTime3 = string.Format("{0:00}:{1:00}", WangChengManager.WangChengZhanFightingDayTimes[0].EndHour, WangChengManager.WangChengZhanFightingDayTimes[0].EndMinute); dayTime = string.Format(GLang.GetLang(569, new object[0]), dayTime2, dayTime3); } else { dayTime = dt.ToString("yyyy-MM-dd"); } return(true); }
public static void UpdateWangZuBHNameFromDBServer(int bhid) { WangChengManager.WangZuBHid = bhid; if (bhid > 0) { BangHuiMiniData bangHuiMiniData = Global.GetBangHuiMiniData(bhid, 0); if (null != bangHuiMiniData) { WangChengManager.WangZuBHName = bangHuiMiniData.BHName; } } }
/// <summary> /// 程序启动时从DBServer更新王族的ID /// </summary> public static void UpdateWangZuBHNameFromDBServer(int bhid) { //每一次更新,都记录 WangZuBHid = bhid; if (bhid <= 0) { return; //不获取 } BangHuiMiniData bangHuiMiniData = Global.GetBangHuiMiniData(bhid); if (null == bangHuiMiniData) { return; } WangZuBHName = bangHuiMiniData.BHName; }
/// <summary> /// 根据天 和 帮会id 返回字符串 /// </summary> /// <param name="warDay"></param> /// <param name="bangHuiID"></param> /// <param name="dayTime"></param> /// <param name="bangHuiName"></param> /// <returns></returns> private static bool GetWarTimeStringAndBHName(int warDay, int bangHuiID, out String dayTime, out String bangHuiName) { dayTime = Global.GetLang("没有帮派申请"); bangHuiName = Global.GetLang("空缺中"); BangHuiMiniData bhData = Global.GetBangHuiMiniData(bangHuiID); if (null != bhData) { bangHuiName = bhData.BHName;//Global.FormatBangHuiName(bhData.ZoneID, bhData.BHName); } //dayid转换字符串 int day = DateTime.Now.DayOfYear; DateTime dt = DateTime.Now; int span = warDay - day; if (span >= 0) { //未跨年 dt = dt.AddDays(span); } else { //跨年了--->先到下一年 int yearNext = dt.Year + 1; dt = DateTime.Parse(String.Format("{0}-01-01", yearNext)); dt = dt.AddDays(warDay - 1); } if (null != WangChengZhanFightingDayTimes && WangChengZhanFightingDayTimes.Length > 0) { String dayTime1 = dt.ToString("yyyy-MM-dd " + String.Format("{0:00}:{1:00}", WangChengZhanFightingDayTimes[0].FromHour, WangChengZhanFightingDayTimes[0].FromMinute)); //String dayTime2 = dt.ToString("yyyy-MM-dd " + String.Format("{0:00}:{1:00}", WangChengZhanFightingDayTimes[0].EndHour, WangChengZhanFightingDayTimes[0].EndMinute)); String dayTime2 = String.Format("{0:00}:{1:00}", WangChengZhanFightingDayTimes[0].EndHour, WangChengZhanFightingDayTimes[0].EndMinute); dayTime = String.Format(Global.GetLang("{0} 至 {1}"), dayTime1, dayTime2); } else { dayTime = dt.ToString("yyyy-MM-dd"); } return(true); }
/// <summary> /// 举办庆功宴 /// </summary> public QingGongYanResult HoldQingGongYan(GameClient client, int index, int onlyCheck = 0) { // 是不是王城占领者 if (!Global.IsKingCityLeader(client)) { return(QingGongYanResult.NotKing); } QingGongYanInfo InfoData = GetQingGongYanConfig(index); if (null == InfoData) { return(QingGongYanResult.ErrorParam); } /// 此时是否能够开启庆功宴 if (InfoData.IfBanTime(TimeUtil.NowDateTime())) { return(QingGongYanResult.OutTime); } int DBStartDay = GameManager.GameConfigMgr.GetGameConfigItemInt(GameConfigNames.QGYStartDay, 0); int currDay = Global.GetOffsetDay(TimeUtil.NowDateTime()); // 如果今天有庆功宴 并且庆功宴结束时间还没到 提示已经申请 if (DBStartDay == currDay && TimeUtil.NowDateTime() <= DateTime.Parse(InfoData.OverTime)) { return(QingGongYanResult.RepeatHold); } // 计算申请之后,庆功宴的举办时间 int startDay = 0; // 在庆功宴开始时间之前,就在今天开启 if (TimeUtil.NowDateTime() < DateTime.Parse(InfoData.BeginTime)) { startDay = currDay; } // 否则在明天开启 else { startDay = currDay + 1; } // 如果计算出来的举办时间和数据库的举办时间相同,则返回已经申请 if (startDay == DBStartDay) { return(QingGongYanResult.RepeatHold); } // 检查举办所需金币是否足够 if (InfoData.HoldBindJinBi > 0) { if (InfoData.HoldBindJinBi > Global.GetTotalBindTongQianAndTongQianVal(client)) { return(QingGongYanResult.MoneyNotEnough); } } if (onlyCheck > 0) { return(QingGongYanResult.CheckSuccess); } // 扣除举办所需金币 if (InfoData.HoldBindJinBi > 0) { if (!Global.SubBindTongQianAndTongQian(client, InfoData.HoldBindJinBi, "举办庆功宴")) { return(QingGongYanResult.MoneyNotEnough); } } Global.UpdateDBGameConfigg(GameConfigNames.QGYRoleID, client.ClientData.RoleID.ToString()); GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYRoleID, client.ClientData.RoleID.ToString()); BangHuiMiniData bangHuiMiniData = Global.GetBangHuiMiniData(client.ClientData.Faction); if (null != bangHuiMiniData) { Global.UpdateDBGameConfigg(GameConfigNames.QGYGuildName, bangHuiMiniData.BHName); GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYGuildName, bangHuiMiniData.BHName); } else { Global.UpdateDBGameConfigg(GameConfigNames.QGYGuildName, ""); GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYGuildName, ""); } GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYGuildName, client.ClientData.RoleName); Global.UpdateDBGameConfigg(GameConfigNames.QGYStartDay, startDay.ToString()); GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYStartDay, startDay.ToString()); Global.UpdateDBGameConfigg(GameConfigNames.QGYGrade, index.ToString()); GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYGrade, index.ToString()); Global.UpdateDBGameConfigg(GameConfigNames.QGYJoinCount, "0"); GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYJoinCount, "0"); Global.UpdateDBGameConfigg(GameConfigNames.QGYJoinMoney, "0"); GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYJoinMoney, "0"); // 为了合服,要记录举办人花了多少金币 Global.UpdateDBGameConfigg(GameConfigNames.QGYJuBanMoney, InfoData.HoldBindJinBi.ToString()); GameManager.GameConfigMgr.SetGameConfigItem(GameConfigNames.QGYJuBanMoney, InfoData.HoldBindJinBi.ToString()); // log it... GameManager.logDBCmdMgr.AddDBLogInfo(-1, "举办庆功宴", startDay.ToString(), "", client.ClientData.RoleName, "", index, client.ClientData.ZoneID, client.strUserID, -1, client.ServerId); EventLogManager.AddRoleEvent(client, OpTypes.Hold, OpTags.QingGongYan, LogRecordType.OffsetDayId, startDay); return(QingGongYanResult.Success); }
public QingGongYanResult HoldQingGongYan(GameClient client, int index, int onlyCheck = 0) { QingGongYanResult result; if (!Global.IsKingCityLeader(client)) { result = QingGongYanResult.NotKing; } else { QingGongYanInfo InfoData = this.GetQingGongYanConfig(index); if (null == InfoData) { result = QingGongYanResult.ErrorParam; } else if (InfoData.IfBanTime(TimeUtil.NowDateTime())) { result = QingGongYanResult.OutTime; } else { int DBStartDay = GameManager.GameConfigMgr.GetGameConfigItemInt("qinggongyan_startday", 0); int currDay = Global.GetOffsetDay(TimeUtil.NowDateTime()); if (DBStartDay == currDay && TimeUtil.NowDateTime() <= DateTime.Parse(InfoData.OverTime)) { result = QingGongYanResult.RepeatHold; } else { int startDay; if (TimeUtil.NowDateTime() < DateTime.Parse(InfoData.BeginTime)) { startDay = currDay; } else { startDay = currDay + 1; } if (startDay == DBStartDay) { result = QingGongYanResult.RepeatHold; } else { if (InfoData.HoldBindJinBi > 0) { if (InfoData.HoldBindJinBi > Global.GetTotalBindTongQianAndTongQianVal(client)) { return(QingGongYanResult.MoneyNotEnough); } } if (onlyCheck > 0) { result = QingGongYanResult.CheckSuccess; } else { if (InfoData.HoldBindJinBi > 0) { if (!Global.SubBindTongQianAndTongQian(client, InfoData.HoldBindJinBi, "举办庆功宴")) { return(QingGongYanResult.MoneyNotEnough); } } Global.UpdateDBGameConfigg("qinggongyan_roleid", client.ClientData.RoleID.ToString()); GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_roleid", client.ClientData.RoleID.ToString()); BangHuiMiniData bangHuiMiniData = Global.GetBangHuiMiniData(client.ClientData.Faction, 0); if (null != bangHuiMiniData) { Global.UpdateDBGameConfigg("qinggongyan_guildname", bangHuiMiniData.BHName); GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_guildname", bangHuiMiniData.BHName); } else { Global.UpdateDBGameConfigg("qinggongyan_guildname", ""); GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_guildname", ""); } GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_guildname", client.ClientData.RoleName); Global.UpdateDBGameConfigg("qinggongyan_startday", startDay.ToString()); GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_startday", startDay.ToString()); Global.UpdateDBGameConfigg("qinggongyan_grade", index.ToString()); GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_grade", index.ToString()); Global.UpdateDBGameConfigg("qinggongyan_joincount", "0"); GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_joincount", "0"); Global.UpdateDBGameConfigg("qinggongyan_joinmoney", "0"); GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_joinmoney", "0"); Global.UpdateDBGameConfigg("qinggongyan_jubanmoney", InfoData.HoldBindJinBi.ToString()); GameManager.GameConfigMgr.SetGameConfigItem("qinggongyan_jubanmoney", InfoData.HoldBindJinBi.ToString()); GameManager.logDBCmdMgr.AddDBLogInfo(-1, "举办庆功宴", startDay.ToString(), "", client.ClientData.RoleName, "", index, client.ClientData.ZoneID, client.strUserID, -1, client.ServerId, null); EventLogManager.AddRoleEvent(client, OpTypes.Hold, OpTags.QingGongYan, LogRecordType.OffsetDayId, new object[] { startDay }); result = QingGongYanResult.Success; } } } } } return(result); }