Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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;
         }
     }
 }
Esempio n. 3
0
        /// <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;
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        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);
        }