Exemple #1
0
        public static int GetIdleSlotOfBag(GameClient client)
        {
            int idelPos = -1;
            int result;

            if (null == client.ClientData.PetList)
            {
                result = 0;
            }
            else
            {
                List <int> usedBagIndex = new List <int>();
                for (int i = 0; i < client.ClientData.PetList.Count; i++)
                {
                    if (usedBagIndex.IndexOf(client.ClientData.PetList[i].BagIndex) < 0)
                    {
                        usedBagIndex.Add(client.ClientData.PetList[i].BagIndex);
                    }
                }
                for (int j = 0; j < CallPetManager.GetMaxPetCount(); j++)
                {
                    if (usedBagIndex.IndexOf(j) < 0)
                    {
                        return(j);
                    }
                }
                result = idelPos;
            }
            return(result);
        }
Exemple #2
0
        public static GoodsData AddPetData(GameClient client, int id, int goodsID, int forgeLevel, int quality, int goodsNum, int binding, int site, string jewelList, int idelBagIndex, string endTime, int addPropIndex, int bornIndex, int lucky, int strong, int ExcellenceProperty, int nAppendPropLev, int nEquipChangeLife)
        {
            GoodsData gd = new GoodsData
            {
                Id                    = id,
                GoodsID               = goodsID,
                Using                 = 0,
                Forge_level           = forgeLevel,
                Starttime             = "1900-01-01 12:00:00",
                Endtime               = endTime,
                Site                  = site,
                Quality               = quality,
                Props                 = "",
                GCount                = goodsNum,
                Binding               = binding,
                Jewellist             = jewelList,
                BagIndex              = idelBagIndex,
                AddPropIndex          = addPropIndex,
                BornIndex             = bornIndex,
                Lucky                 = lucky,
                Strong                = strong,
                ExcellenceInfo        = ExcellenceProperty,
                AppendPropLev         = nAppendPropLev,
                ChangeLifeLevForEquip = nEquipChangeLife
            };

            CallPetManager.AddPetData(client, gd);
            return(gd);
        }
Exemple #3
0
        public static TCPProcessCmdResults ProcessResetPetBagCMD(TCPManager tcpMgr, TMSKSocket socket, TCPClientPool tcpClientPool, TCPOutPacketPool pool, int nID, byte[] data, int count, out TCPOutPacket tcpOutPacket)
        {
            tcpOutPacket = null;
            string cmdData = null;

            try
            {
                cmdData = new UTF8Encoding().GetString(data, 0, count);
            }
            catch (Exception)
            {
                LogManager.WriteLog(LogTypes.Error, string.Format("解析指令字符串错误, CMD={0}, Client={1}", (TCPGameServerCmds)nID, Global.GetSocketRemoteEndPoint(socket, false)), null, true);
                return(TCPProcessCmdResults.RESULT_FAILED);
            }
            try
            {
                string[] fields = cmdData.Split(new char[]
                {
                    ':'
                });
                if (fields.Length != 1)
                {
                    LogManager.WriteLog(LogTypes.Error, string.Format("指令参数个数错误, CMD={0}, Client={1}, Recv={2}", (TCPGameServerCmds)nID, Global.GetSocketRemoteEndPoint(socket, false), fields.Length), null, true);
                    return(TCPProcessCmdResults.RESULT_FAILED);
                }
                int        roleID = Convert.ToInt32(fields[0]);
                GameClient client = GameManager.ClientMgr.FindClient(socket);
                if (KuaFuManager.getInstance().ClientCmdCheckFaild(nID, client, ref roleID))
                {
                    LogManager.WriteLog(LogTypes.Error, string.Format("根据RoleID定位GameClient对象失败, CMD={0}, Client={1}, RoleID={2}", (TCPGameServerCmds)nID, Global.GetSocketRemoteEndPoint(socket, false), roleID), null, true);
                    return(TCPProcessCmdResults.RESULT_FAILED);
                }
                CallPetManager.ResetPetBagAllGoods(client);
                return(TCPProcessCmdResults.RESULT_OK);
            }
            catch (Exception ex)
            {
                DataHelper.WriteFormatExceptionLog(ex, "ProcessResetPetBagCMD", false, false);
            }
            return(TCPProcessCmdResults.RESULT_FAILED);
        }
Exemple #4
0
        public static void ReloadAllXmlFile()
        {
            WorldLevelManager.getInstance().InitConfig();
            WorldLevelManager.getInstance().ResetWorldLevel();
            ReloadXmlManager.ReloadXmlFile_config_platconfig();
            ReloadXmlManager.ReloadXmlFile_config_gifts_activities();
            ReloadXmlManager.ReloadXmlFile_config_gifts_biggift();
            ReloadXmlManager.ReloadXmlFile_config_gifts_loginnumgift();
            ReloadXmlManager.ReloadXmlFile_config_gifts_huodongloginnumgift();
            ReloadXmlManager.ReloadXmlFile_config_gifts_newrolegift();
            ReloadXmlManager.ReloadXmlFile_config_combat_effectiveness_gift();
            ReloadXmlManager.ReloadXmlFile_config_gifts_uplevelgift();
            ReloadXmlManager.ReloadXmlFile_config_gifts_onlietimegift();
            ReloadXmlManager.ReloadXmlFile_config_mall();
            ReloadXmlManager.ReloadXmlFile_config_monstergoodslist();
            ReloadXmlManager.ReloadXmlFile_config_broadcastinfos();
            ReloadXmlManager.ReloadXmlFile_config_specialtimes();
            ReloadXmlManager.ReloadXmlFile_config_battle();
            ReloadXmlManager.ReloadXmlFile_config_ArenaBattle();
            ReloadXmlManager.ReloadXmlFile_config_popupwin();
            ReloadXmlManager.ReloadXmlFile_config_npcscripts();
            ReloadXmlManager.ReloadXmlFile_config_systemoperations();
            ReloadXmlManager.ReloadXmlFile_config_systemparams();
            ReloadXmlManager.ReloadXmlFile_config_goodsmergeitems();
            ReloadXmlManager.ReloadXmlFile_config_qizhengegoods();
            ReloadXmlManager.ReloadXmlFile_config_npcsalelist();
            ReloadXmlManager.ReloadXmlFile_config_goods();
            ReloadXmlManager.ReloadXmlFile_config_goodspack();
            ReloadXmlManager.ReloadXmlFile_config_systemtasks();
            ReloadXmlManager.ReloadXmlFile_config_equipupgrade();
            ReloadXmlManager.ReloadXmlFile_config_dig();
            ReloadXmlManager.ReloadXmlFile_config_battleexp();
            ReloadXmlManager.ReloadXmlFile_config_bangzhanawards();
            ReloadXmlManager.ReloadXmlFile_config_rebirth();
            ReloadXmlManager.ReloadXmlFile_config_Award();
            ReloadXmlManager.ReloadXmlFile_config_EquipBorn();
            ReloadXmlManager.ReloadXmlFile_config_BornName();
            ReloadXmlManager.ReloadXmlFile_config_gifts_FanLi();
            ReloadXmlManager.ReloadXmlFile_config_gifts_ChongZhiSong();
            ReloadXmlManager.ReloadXmlFile_config_gifts_ChongZhiKing();
            ReloadXmlManager.ReloadXmlFile_config_gifts_LevelKing();
            ReloadXmlManager.ReloadXmlFile_config_gifts_EquipKing();
            ReloadXmlManager.ReloadXmlFile_config_gifts_HorseKing();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JingMaiKing();
            ReloadXmlManager.ReloadXmlFile_config_gifts_VipDailyAwards();
            ReloadXmlManager.ReloadXmlFile_config_ActivityTip();
            ReloadXmlManager.ReloadXmlFile_config_LuckyAward();
            ReloadXmlManager.ReloadXmlFile_config_Lucky();
            ReloadXmlManager.ReloadXmlFile_config_ChengJiu();
            ReloadXmlManager.ReloadXmlFile_config_ChengJiuBuff();
            ReloadXmlManager.ReloadXmlFile_config_JingMai();
            ReloadXmlManager.ReloadXmlFile_config_WuXue();
            ReloadXmlManager.ReloadXmlFile_config_ZuanHuang();
            ReloadXmlManager.ReloadXmlFile_config_Vip();
            ReloadXmlManager.ReloadXmlFile_config_QiangGou();
            ReloadXmlManager.ReloadXmlFile_config_HeFuQiangGou();
            ReloadXmlManager.ReloadXmlFile_config_JieRiQiangGou();
            ReloadXmlManager.ReloadXmlFile_config_SystemOpen();
            ReloadXmlManager.ReloadXmlFile_config_DailyActive();
            ReloadXmlManager.ReloadXmlFile_config_DailyActiveAward();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiType();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiLiBao();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiDengLu();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiVip();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiChongZhiSong();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiLeiJi();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiBaoXiang();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiXiaoFeiKing();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiChongZhiKing();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiTotalConsume();
            ReloadXmlManager.ReloadXmlFile_config_gifts_JieRiMultAward();
            ReloadXmlManager.ReloadXmlFile_config_bossAI();
            ReloadXmlManager.ReloadXmlFile_config_TuoZhan();
            ReloadXmlManager.ReloadXmlFile_config_MoJingAndQiFu();
            ReloadXmlManager.ReloadXmlFile_config_TotalLoginDataInfo();
            GameManager.SystemMagicsMgr.ReloadLoadFromXMlFile();
            GameManager.SystemMagicQuickMgr.LoadMagicItemsDict(GameManager.SystemMagicsMgr);
            HuodongCachingMgr.ResetXinXiaoFeiKingActivity();
            HuodongCachingMgr.ResetHeFuActivityConfig();
            HuodongCachingMgr.ResetHeFuLoginActivity();
            HuodongCachingMgr.ResetHeFuTotalLoginActivity();
            HuodongCachingMgr.ResetHeFuRechargeActivity();
            HuodongCachingMgr.ResetHeFuPKKingActivity();
            HuodongCachingMgr.ResetHeFuAwardTimeActivity();
            HuodongCachingMgr.ResetHeFuLuoLanActivity();
            HuodongCachingMgr.ResetThemeActivityConfig();
            HuodongCachingMgr.ResetThemeDaLiBaoActivity();
            HuodongCachingMgr.ResetThemeDuiHuanActivity();
            HuodongCachingMgr.ResetThemeZhiGouActivity();
            HuodongCachingMgr.ResetJieriActivityConfig();
            HuodongCachingMgr.ResetJieriDaLiBaoActivity();
            HuodongCachingMgr.ResetJieRiDengLuActivity();
            HuodongCachingMgr.ResetJieriCZSongActivity();
            HuodongCachingMgr.ResetJieRiLeiJiCZActivity();
            HuodongCachingMgr.ResetJieRiTotalConsumeActivity();
            HuodongCachingMgr.ResetJieRiMultAwardActivity();
            HuodongCachingMgr.ResetJieRiZiKaLiaBaoActivity();
            HuodongCachingMgr.ResetJieRiXiaoFeiKingActivity();
            HuodongCachingMgr.ResetJieRiCZKingActivity();
            HuodongCachingMgr.ResetJieriGiveActivity();
            HuodongCachingMgr.ResetJieRiGiveKingActivity();
            HuodongCachingMgr.ResetJieriRecvKingActivity();
            HuodongCachingMgr.ResetJieRiFanLiAwardActivity();
            HuodongCachingMgr.ResetJieriLianXuChargeActivity();
            HuodongCachingMgr.ResetJieriRecvActivity();
            HuodongCachingMgr.ResetJieriPlatChargeKingActivity();
            HuodongCachingMgr.ResetFirstChongZhiGift();
            HuodongCachingMgr.ResetDanBiChongZhiActivity();
            HuodongCachingMgr.ResetTotalChargeActivity();
            HuodongCachingMgr.ResetTotalConsumeActivity();
            HuodongCachingMgr.ResetSeriesLoginItem();
            HuodongCachingMgr.ResetEveryDayOnLineAwardItem();
            HuodongCachingMgr.ResetJieriIPointsExchangeActivity();
            HuodongCachingMgr.ResetJieriFuLiActivity();
            HuodongCachingMgr.ResetJieriVIPYouHuiAct();
            HuodongCachingMgr.ResetJieRiMeiRiLeiJiActivity();
            HuodongCachingMgr.ResetJieriPCKingActivityEveryDay();
            OlympicsManager.getInstance().InitOlympics();
            UserReturnManager.getInstance().initConfigInfo();
            HuodongCachingMgr.ResetSpecPriorityActivity();
            HuodongCachingMgr.ResetXinFanLiActivity();
            HuodongCachingMgr.ResetWeedEndInputActivity();
            HuodongCachingMgr.ResetSpecialActivity();
            HuodongCachingMgr.ResetJieRiCZQGActivity();
            HuodongCachingMgr.ResetOneDollarBuyActivity();
            HuodongCachingMgr.ResetJieRiSuperInputFanLiActivity();
            HuodongCachingMgr.ResetOneDollarChongZhiActivity();
            HuodongCachingMgr.ResetEverydayActivity();
            HuodongCachingMgr.ResetInputFanLiNewActivity();
            HuodongCachingMgr.ResetRegressActiveOpen();
            HuodongCachingMgr.ResetRegressActiveTotalRecharge();
            HuodongCachingMgr.ResetRegressActiveStore();
            HuodongCachingMgr.ResetRegressActiveDayBuy();
            HuodongCachingMgr.ResetRegressActiveSignGift();
            WebOldPlayerManager.ReloadXml();
            TenManager.initConfig();
            Global.CachingJieriXmlData           = null;
            Global.CachingSpecActXmlData         = null;
            Global.CachingEverydayActXmlData     = null;
            Global.CachingThemeActXmlData        = null;
            Global.CachingSpecPriorityActXmlData = null;
            TodayManager.InitConfig();
            BuChangManager.ResetBuChangItemDict();
            HuodongCachingMgr.ResetMeiRiChongZhiActivity();
            HuodongCachingMgr.ResetChongJiHaoLiActivity();
            HuodongCachingMgr.ResetShenZhuangJiQiHuiKuiHaoLiActivity();
            HuodongCachingMgr.ResetYueDuZhuanPanActivity();
            GongGaoDataManager.LoadGongGaoData();
            SaleManager.InitConfig();
            GameManager.systemImpetrateByLevelMgr.ReloadLoadFromXMlFile();
            QianKunManager.LoadImpetrateItemsInfo();
            QianKunManager.LoadImpetrateItemsInfoFree();
            QianKunManager.LoadImpetrateItemsInfoHuodong();
            QianKunManager.LoadImpetrateItemsInfoFreeHuoDong();
            QianKunManager.LoadImpetrateItemsInfoTeQuan();
            QianKunManager.LoadImpetrateItemsInfoFreeTeQuan();
            GameManager.systemXingYunChouJiangMgr.ReloadLoadFromXMlFile();
            GameManager.systemYueDuZhuanPanChouJiangMgr.ReloadLoadFromXMlFile();
            Global.LoadSpecialMachineConfig();
            ElementhrtsManager.LoadRefineType();
            ElementhrtsManager.LoadElementHrtsBase();
            ElementhrtsManager.LoadElementHrtsLevelInfo();
            ElementhrtsManager.LoadSpecialElementHrtsExp();
            GameManager.QingGongYanMgr.LoadQingGongYanConfig();
            CopyTargetManager.LoadConfig();
            CallPetManager.LoadCallPetType();
            CallPetManager.LoadCallPetConfig();
            CallPetManager.LoadCallPetSystem();
            ShenShiManager.getInstance().ReloadConfig();
            Global.LoadGuWuMaps();
            Global.LoadAutoReviveMaps();
            GameManager.MonsterZoneMgr.LoadAllMonsterXml();
            GameManager.VersionSystemOpenMgr.LoadVersionSystemOpenData();
            UserMoneyMgr.getInstance().InitConfig();
            RobotTaskValidator.getInstance().LoadRobotTaskData();
            GameManager.MerlinMagicBookMgr.LoadMerlinConfigData();
            GameManager.FluorescentGemMgr.LoadFluorescentGemConfigData();
            SingletonTemplate <GetInterestingDataMgr> .Instance().LoadConfig();

            SingletonTemplate <CreateRoleLimitManager> .Instance().LoadConfig();

            TianTiManager.getInstance().InitConfig(true);
            TianTi5v5Manager.getInstance().InitConfig(true);
            YongZheZhanChangManager.getInstance().InitConfig();
            KingOfBattleManager.getInstance().InitConfig();
            BangHuiMatchManager.getInstance().InitConfig();
            ZorkBattleManager.getInstance().InitConfig();
            KarenBattleManager.getInstance().InitConfig();
            KarenBattleManager_MapWest.getInstance().InitConfig();
            KarenBattleManager_MapEast.getInstance().InitConfig();
            KuaFuBossManager.getInstance().InitConfig();
            KuaFuMapManager.getInstance().InitConfig();
            FashionManager.getInstance().InitConfig();
            OrnamentManager.getInstance().InitConfig();
            ShenJiFuWenManager.getInstance().InitConfig();
            YaoSaiJianYuManager.getInstance().InitConfig();
            AlchemyManager.getInstance().InitConfig();
            ZuoQiManager.getInstance().ReLoadConfig(false);
            RebornManager.getInstance().InitConfig(true);
            RebornBoss.getInstance().InitConfig();
            SpecPlatFuLiManager.getInstance().InitConfig();
            EraManager.getInstance().InitConfig();
            JingLingQiYuanManager.getInstance().InitConfig();
            AllThingsCalcItem.InitAllForgeLevelInfo();
            SingletonTemplate <TradeBlackManager> .Instance().LoadConfig();

            Global.LoadLangDict();
            LogFilterConfig.InitConfig();
            TenRetutnManager.getInstance().InitConfig();
            VideoLogic.getInstance().LoadVideoXml();
            Data.LoadConfig();
            GiftCodeNewManager.getInstance().initGiftCode();
            AoYunDaTiManager.getInstance().LoadConfig();
            ZhuanPanManager.getInstance().LoadConfig();
            JueXingManager.getInstance().LoadConfig();
            TalentManager.LoadTalentSpecialData();
            AssemblyPatchManager.getInstance().initialize();
            IPStatisticsManager.getInstance().LoadConfig();
            JunTuanManager.getInstance().InitConfig();
            HongBaoManager.getInstance().InitConfig();
            HuiJiManager.getInstance().InitConfig();
            DeControl.getInstance().InitConfig();
            GVoiceManager.getInstance().InitConfig();
            KuaFuLueDuoManager.getInstance().InitConfig();
            WanMoXiaGuManager.getInstance().InitConfig();
            ThemeBoss.getInstance().InitConfig();
            ArmorManager.getInstance().InitConfig();
            CompBattleManager.getInstance().InitConfig();
            CompMineManager.getInstance().InitConfig();
            JingLingYuanSuJueXingManager.getInstance().LoadConfig();
            BianShenManager.getInstance().InitConfig();
            ZhanDuiZhengBaManager.getInstance().InitConfig();
            EscapeBattleManager.getInstance().InitConfig();
            MazingerStoreManager.getInstance().InitConfig();
            BuffManager.InitConfig();
            GoldAuctionConfigModel.LoadConfig();
            BoCaiConfigMgr.LoadConfig(true);
        }
Exemple #5
0
        public static TCPProcessCmdResults ProcessCallPetCMD(TCPManager tcpMgr, TMSKSocket socket, TCPClientPool tcpClientPool, TCPOutPacketPool pool, int nID, byte[] data, int count, out TCPOutPacket tcpOutPacket)
        {
            tcpOutPacket = null;
            string cmdData = null;

            try
            {
                cmdData = new UTF8Encoding().GetString(data, 0, count);
            }
            catch (Exception)
            {
                LogManager.WriteLog(LogTypes.Error, string.Format("解析指令字符串错误, CMD={0}, Client={1}", (TCPGameServerCmds)nID, Global.GetSocketRemoteEndPoint(socket, false)), null, true);
                return(TCPProcessCmdResults.RESULT_FAILED);
            }
            try
            {
                string[] fields = cmdData.Split(new char[]
                {
                    ':'
                });
                if (fields.Length != 2)
                {
                    LogManager.WriteLog(LogTypes.Error, string.Format("指令参数个数错误, CMD={0}, Client={1}, Recv={2}", (TCPGameServerCmds)nID, Global.GetSocketRemoteEndPoint(socket, false), fields.Length), null, true);
                    return(TCPProcessCmdResults.RESULT_FAILED);
                }
                int        roleID = Convert.ToInt32(fields[0]);
                int        times  = Convert.ToInt32(fields[1]);
                GameClient client = GameManager.ClientMgr.FindClient(socket);
                if (KuaFuManager.getInstance().ClientCmdCheckFaild(nID, client, ref roleID))
                {
                    LogManager.WriteLog(LogTypes.Error, string.Format("根据RoleID定位GameClient对象失败, CMD={0}, Client={1}, RoleID={2}", (TCPGameServerCmds)nID, Global.GetSocketRemoteEndPoint(socket, false), roleID), null, true);
                    return(TCPProcessCmdResults.RESULT_FAILED);
                }
                string           strGetGoods = "";
                CallSpriteResult result      = CallPetManager.CallPet(client, times, out strGetGoods);
                string           strcmd;
                if (result != CallSpriteResult.Success)
                {
                    strcmd = string.Format("{0}:{1}:{2}:{3}", new object[]
                    {
                        (int)result,
                        roleID,
                        0,
                        0
                    });
                    tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                    return(TCPProcessCmdResults.RESULT_DATA);
                }
                strcmd = string.Format("{0}:{1}:{2}:{3}", new object[]
                {
                    0,
                    times,
                    strGetGoods,
                    CallPetManager.getFreeSec(client)
                });
                tcpOutPacket = TCPOutPacket.MakeTCPOutPacket(pool, strcmd, nID);
                return(TCPProcessCmdResults.RESULT_DATA);
            }
            catch (Exception ex)
            {
                DataHelper.WriteFormatExceptionLog(ex, "ProcessCallPetCMD", false, false);
            }
            return(TCPProcessCmdResults.RESULT_FAILED);
        }
Exemple #6
0
        public static CallSpriteResult MovePet(GameClient client, int dbid)
        {
            GoodsData        goodsData = CallPetManager.GetPetByDbID(client, dbid);
            CallSpriteResult result;

            if (null == goodsData)
            {
                result = CallSpriteResult.GoodsNotExist;
            }
            else if (!Global.CanAddGoods(client, goodsData.GoodsID, goodsData.GCount, goodsData.Binding, "1900-01-01 12:00:00", true, false))
            {
                result = CallSpriteResult.BagIsFull;
            }
            else
            {
                string[] dbFields = null;
                string   strCmd   = Global.FormatUpdateDBGoodsStr(new object[]
                {
                    client.ClientData.RoleID,
                    dbid,
                    "*",
                    "*",
                    "*",
                    "*",
                    0,
                    "*",
                    "*",
                    1,
                    "*",
                    0,
                    "*",
                    "*",
                    "*",
                    "*",
                    "*",
                    "*",
                    "*",
                    "*",
                    "*",
                    "*",
                    "*"
                });
                TCPProcessCmdResults dbRequestResult = Global.RequestToDBServer(Global._TCPManager.tcpClientPool, Global._TCPManager.TcpOutPacketPool, 10006, strCmd, out dbFields, client.ServerId);
                if (dbRequestResult == TCPProcessCmdResults.RESULT_FAILED)
                {
                    result = CallSpriteResult.DBSERVERERROR;
                }
                else if (dbFields.Length <= 0 || Convert.ToInt32(dbFields[1]) < 0)
                {
                    result = CallSpriteResult.DBSERVERERROR;
                }
                else
                {
                    CallPetManager.RemovePetGoodsData(client, goodsData);
                    goodsData.Site = 0;
                    Global.AddGoodsData(client, goodsData);
                    result = CallSpriteResult.Success;
                }
            }
            return(result);
        }
Exemple #7
0
        public static CallSpriteResult CallPet(GameClient client, int times, out string strGetGoods)
        {
            strGetGoods = "";
            CallSpriteResult result;

            if (times != 1 && times != 10)
            {
                result = CallSpriteResult.ErrorParams;
            }
            else
            {
                CallPetType TypeData = CallPetManager.GetCallPetType(1);
                if (null == TypeData)
                {
                    result = CallSpriteResult.ErrorConfig;
                }
                else if (client.ClientData.Level < TypeData.MinLevel)
                {
                    result = CallSpriteResult.ErrorLevel;
                }
                else if (client.ClientData.Level > TypeData.MaxLevel)
                {
                    result = CallSpriteResult.ErrorLevel;
                }
                else if (client.ClientData.ChangeLifeCount < TypeData.MinZhuanSheng)
                {
                    result = CallSpriteResult.ErrorLevel;
                }
                else if (client.ClientData.ChangeLifeCount > TypeData.MaxZhuanSheng)
                {
                    result = CallSpriteResult.ErrorLevel;
                }
                else
                {
                    bool bFreeCall = false;
                    bool bUseGoods = false;
                    int  bind      = 0;
                    if (1 == times)
                    {
                        if (CallPetManager.getFreeSec(client) <= 0L)
                        {
                            bFreeCall = true;
                            bind      = 1;
                        }
                    }
                    if (!bFreeCall && CallPetManager.CallPetGoodsID > 0)
                    {
                        if (1 == times)
                        {
                            if (null != Global.GetGoodsByID(client, CallPetManager.CallPetGoodsID))
                            {
                                bUseGoods = true;
                                bind      = 1;
                            }
                        }
                    }
                    int nNeedLuckStar = CallPetManager.GetCallPetPrice(times);
                    if (nNeedLuckStar < 0)
                    {
                        result = CallSpriteResult.ErrorConfig;
                    }
                    else
                    {
                        if (!bFreeCall && !bUseGoods)
                        {
                            if (Global.IsRoleHasEnoughMoney(client, nNeedLuckStar, 163) < 0 && !HuanLeDaiBiManager.GetInstance().HuanledaibiReplaceEnough(client, nNeedLuckStar, DaiBiSySType.JingLingLieQu))
                            {
                                return(CallSpriteResult.ZuanShiNotEnough);
                            }
                        }
                        if (CallPetManager.GetMaxPetCount() - CallPetManager.GetPetListCount(client) < times)
                        {
                            result = CallSpriteResult.SpriteBagIsFull;
                        }
                        else
                        {
                            if (!bFreeCall)
                            {
                                if (bUseGoods)
                                {
                                    bool usedBinding     = false;
                                    bool usedTimeLimited = false;
                                    if (!GameManager.ClientMgr.NotifyUseGoods(Global._TCPManager.MySocketListener, Global._TCPManager.tcpClientPool, Global._TCPManager.TcpOutPacketPool, client, CallPetManager.CallPetGoodsID, 1, false, out usedBinding, out usedTimeLimited, false))
                                    {
                                        bUseGoods = false;
                                    }
                                }
                            }
                            if (!bFreeCall && !bUseGoods)
                            {
                                if (!GameManager.ClientMgr.ModifyLuckStarValue(client, -nNeedLuckStar, "精灵召唤", false, DaiBiSySType.JingLingLieQu))
                                {
                                    return(CallSpriteResult.ZuanShiNotEnough);
                                }
                                bind = 0;
                            }
                            for (int i = 0; i < times; i++)
                            {
                                CallPetConfig        CfgData = null;
                                List <CallPetConfig> CfgList = CallPetManager.GetCallPetConfigList(bFreeCall || bUseGoods);
                                if (CfgList == null || CfgList.Count <= 0)
                                {
                                    return(CallSpriteResult.ErrorConfig);
                                }
                                int random = Global.GetRandomNumber(1, 100001);
                                foreach (CallPetConfig item in CfgList)
                                {
                                    if (random >= item.StartValues && random <= item.EndValues)
                                    {
                                        CfgData = item;
                                        break;
                                    }
                                }
                                LogManager.WriteLog(LogTypes.Info, string.Format("获取精灵随机数: random = {0}, GoodsID = {1}", random, CfgData.GoodsID), null, true);
                                if (null != CfgData)
                                {
                                    int nExcellenceProp = 0;
                                    if (CfgData.ZhuoYueFallID != -1)
                                    {
                                        nExcellenceProp = GameManager.GoodsPackMgr.GetExcellencePropertysID(CfgData.GoodsID, CfgData.ZhuoYueFallID);
                                    }
                                    Global.AddGoodsDBCommand(Global._TCPManager.TcpOutPacketPool, client, CfgData.GoodsID, CfgData.Num, 0, "", 0, bind, 4000, "", false, 1, "精灵召唤", "1900-01-01 12:00:00", 0, 0, 0, 0, nExcellenceProp, 0, 0, null, null, 0, true);
                                    strGetGoods += string.Format("{0},{1},{2},{3},{4},{5},{6}|", new object[]
                                    {
                                        CfgData.GoodsID,
                                        CfgData.Num,
                                        bind,
                                        0,
                                        0,
                                        0,
                                        nExcellenceProp
                                    });
                                }
                            }
                            if (bFreeCall)
                            {
                                Global.UpdateRoleParamByName(client, "CallPetFreeTime", Global.GetOffsetSecond(TimeUtil.NowDateTime()).ToString(), true);
                                if (client._IconStateMgr.CheckPetIcon(client))
                                {
                                    client._IconStateMgr.SendIconStateToClient(client);
                                }
                            }
                            else if (!bUseGoods)
                            {
                                int nPetJiFen = (int)((double)nNeedLuckStar * CallPetManager.ConsumeCallPetJiFen);
                                GameManager.ClientMgr.ModifyPetJiFenValue(client, nPetJiFen, "精灵召唤", false, true);
                            }
                            result = CallSpriteResult.Success;
                        }
                    }
                }
            }
            return(result);
        }
Exemple #8
0
        /// <summary>
        /// 重新加载所有程序配置参数文件
        /// </summary>
        /// <param name="xmlFileName"></param>
        /// <returns></returns>
        public static void ReloadAllXmlFile()
        {
            ReloadXmlFile_config_platconfig();
            ReloadXmlFile_config_gifts_activities();
            ReloadXmlFile_config_gifts_biggift();
            ReloadXmlFile_config_gifts_loginnumgift();
            ReloadXmlFile_config_gifts_huodongloginnumgift();
            ReloadXmlFile_config_gifts_newrolegift();
            ReloadXmlFile_config_gifts_uplevelgift();
            ReloadXmlFile_config_gifts_onlietimegift();
            ReloadXmlFile_config_mall();
            ReloadXmlFile_config_monstergoodslist();
            ReloadXmlFile_config_broadcastinfos();
            ReloadXmlFile_config_specialtimes();
            ReloadXmlFile_config_battle();
            ReloadXmlFile_config_ArenaBattle();
            ReloadXmlFile_config_popupwin();
            ReloadXmlFile_config_npcscripts();
            ReloadXmlFile_config_systemoperations();
            ReloadXmlFile_config_systemparams();
            ReloadXmlFile_config_goodsmergeitems();
            ReloadXmlFile_config_qizhengegoods();
            ReloadXmlFile_config_npcsalelist();
            ReloadXmlFile_config_goods();
            ReloadXmlFile_config_goodspack();
            ReloadXmlFile_config_systemtasks();
            ReloadXmlFile_config_equipupgrade();
            ReloadXmlFile_config_dig();
            ReloadXmlFile_config_battleexp();
            ReloadXmlFile_config_bangzhanawards();
            ReloadXmlFile_config_rebirth();
            ReloadXmlFile_config_Award();
            ReloadXmlFile_config_EquipBorn();
            ReloadXmlFile_config_BornName();
            ReloadXmlFile_config_gifts_FanLi();
            ReloadXmlFile_config_gifts_ChongZhiSong();
            ReloadXmlFile_config_gifts_ChongZhiKing();
            ReloadXmlFile_config_gifts_LevelKing();
            ReloadXmlFile_config_gifts_EquipKing();
            ReloadXmlFile_config_gifts_HorseKing();
            ReloadXmlFile_config_gifts_JingMaiKing();
            ReloadXmlFile_config_gifts_VipDailyAwards();
            ReloadXmlFile_config_ActivityTip();
            ReloadXmlFile_config_LuckyAward();
            ReloadXmlFile_config_Lucky();
            ReloadXmlFile_config_ChengJiu();
            ReloadXmlFile_config_ChengJiuBuff();
            ReloadXmlFile_config_JingMai();
            ReloadXmlFile_config_WuXue();
            ReloadXmlFile_config_ZuanHuang();
            ReloadXmlFile_config_Vip();
            ReloadXmlFile_config_QiangGou();
            ReloadXmlFile_config_HeFuQiangGou();
            ReloadXmlFile_config_JieRiQiangGou();
            ReloadXmlFile_config_SystemOpen();
            ReloadXmlFile_config_DailyActive();
            ReloadXmlFile_config_DailyActiveAward();

            ReloadXmlFile_config_gifts_JieRiType();
            ReloadXmlFile_config_gifts_JieRiLiBao();
            ReloadXmlFile_config_gifts_JieRiDengLu();
            ReloadXmlFile_config_gifts_JieRiVip();
            ReloadXmlFile_config_gifts_JieRiChongZhiSong();
            ReloadXmlFile_config_gifts_JieRiLeiJi();
            ReloadXmlFile_config_gifts_JieRiBaoXiang();
            ReloadXmlFile_config_gifts_JieRiXiaoFeiKing();
            ReloadXmlFile_config_gifts_JieRiChongZhiKing();
            ReloadXmlFile_config_gifts_JieRiTotalConsume();
            ReloadXmlFile_config_gifts_JieRiMultAward();

            ReloadXmlFile_config_bossAI();
            ReloadXmlFile_config_TuoZhan();
            ReloadXmlFile_config_MoJingAndQiFu();
            ReloadXmlFile_config_TotalLoginDataInfo();

            // 新服活动
            HuodongCachingMgr.ResetXinXiaoFeiKingActivity();

            // 重载合服活动配置
            HuodongCachingMgr.ResetHeFuActivityConfig();
            HuodongCachingMgr.ResetHeFuLoginActivity();
            HuodongCachingMgr.ResetHeFuTotalLoginActivity();
            HuodongCachingMgr.ResetHeFuRechargeActivity();
            HuodongCachingMgr.ResetHeFuPKKingActivity();
            HuodongCachingMgr.ResetHeFuAwardTimeActivity();
            HuodongCachingMgr.ResetHeFuLuoLanActivity();

            // 节日活动配置
            HuodongCachingMgr.ResetJieriActivityConfig();
            HuodongCachingMgr.ResetJieriDaLiBaoActivity();
            HuodongCachingMgr.ResetJieRiDengLuActivity();
            HuodongCachingMgr.ResetJieriCZSongActivity();
            HuodongCachingMgr.ResetJieRiLeiJiCZActivity();
            HuodongCachingMgr.ResetJieRiTotalConsumeActivity();
            HuodongCachingMgr.ResetJieRiMultAwardActivity();
            HuodongCachingMgr.ResetJieRiZiKaLiaBaoActivity();
            HuodongCachingMgr.ResetJieRiXiaoFeiKingActivity();
            HuodongCachingMgr.ResetJieRiCZKingActivity();
            HuodongCachingMgr.ResetJieriGiveActivity();
            HuodongCachingMgr.ResetJieRiGiveKingActivity();
            HuodongCachingMgr.ResetJieriRecvKingActivity();
            HuodongCachingMgr.ResetJieRiFanLiAwardActivity();
            HuodongCachingMgr.ResetJieriLianXuChargeActivity();
            HuodongCachingMgr.ResetJieriRecvActivity();
            HuodongCachingMgr.ResetJieriPlatChargeKingActivity();
            HuodongCachingMgr.ResetFirstChongZhiGift();
            HuodongCachingMgr.ResetTotalChargeActivity();
            HuodongCachingMgr.ResetTotalConsumeActivity();
            HuodongCachingMgr.ResetSeriesLoginItem();
            HuodongCachingMgr.ResetEveryDayOnLineAwardItem();
            HuodongCachingMgr.ResetJieriIPointsExchangeActivity();
            HuodongCachingMgr.ResetJieriFuLiActivity();

            if (!UserReturnManager.getInstance().IsUserReturnOpen())
            {
                UserReturnManager.getInstance().initConfigInfo();
            }

            //HuodongCachingMgr.ResetHeFuVIPActivity();
            //HuodongCachingMgr.ResetHeFuWCKingActivity();

            HuodongCachingMgr.ResetXinFanLiActivity();
            HuodongCachingMgr.ResetWeedEndInputActivity();
            HuodongCachingMgr.ResetSpecialActivity();

            Global.CachingJieriXmlData   = null;
            Global.CachingSpecActXmlData = null;

            /// 重置补偿的字典
            BuChangManager.ResetBuChangItemDict();

            // begin [7/24/2013 LiaoWei]
            //重置获取每日充值
            HuodongCachingMgr.ResetMeiRiChongZhiActivity();

            // 重置获取冲级豪礼活动的配置项
            HuodongCachingMgr.ResetChongJiHaoLiActivity();

            // 重置神装激情回馈
            HuodongCachingMgr.ResetShenZhuangJiQiHuiKuiHaoLiActivity();

            // 重置月度抽奖活动
            HuodongCachingMgr.ResetYueDuZhuanPanActivity();

            //进入游戏时公告信息
            GongGaoDataManager.LoadGongGaoData();

            // end [7/24/2013 LiaoWei]

            //GameManager.systemQianKunMgr.ReloadLoadFromXMlFile();
            // 以前的祈福不能用了 [8/28/2014 LiaoWei]
            GameManager.systemImpetrateByLevelMgr.ReloadLoadFromXMlFile();
            QianKunManager.LoadImpetrateItemsInfo();
            QianKunManager.LoadImpetrateItemsInfoFree();
            QianKunManager.LoadImpetrateItemsInfoHuodong();

            GameManager.systemXingYunChouJiangMgr.ReloadLoadFromXMlFile();
            GameManager.systemYueDuZhuanPanChouJiangMgr.ReloadLoadFromXMlFile();

            Global.LoadSpecialMachineConfig();

            ElementhrtsManager.LoadRefineType();
            ElementhrtsManager.LoadElementHrtsBase();
            ElementhrtsManager.LoadElementHrtsLevelInfo();
            ElementhrtsManager.LoadSpecialElementHrtsExp();
            // 加载庆功宴配置
            GameManager.QingGongYanMgr.LoadQingGongYanConfig();

            // 加载精灵召唤配置
            CallPetManager.LoadCallPetType();
            CallPetManager.LoadCallPetConfig();
            CallPetManager.LoadCallPetSystem();

            Global.LoadGuWuMaps();

            // 加载自动重生地图 [XSea 2015/6/19]
            Global.LoadAutoReviveMaps();

            GameManager.MonsterZoneMgr.LoadAllMonsterXml();

            // 加载版本系统开放数据 [XSea 2015/5/4]
            GameManager.VersionSystemOpenMgr.LoadVersionSystemOpenData();

            // 充值配置文件
            Global.InitFirstChargeConfigData();

            RobotTaskValidator.getInstance().LoadRobotTaskData();

            // 梅林魔法书
            GameManager.MerlinMagicBookMgr.LoadMerlinConfigData();

            // 荧光宝石 [XSea 2015/8/13]
            GameManager.FluorescentGemMgr.LoadFluorescentGemConfigData();

            GetInterestingDataMgr.Instance().LoadConfig();

            // 玩家创建角色限制管理
            CreateRoleLimitManager.Instance().LoadConfig();

            //加载勇者战场配置文件
            YongZheZhanChangManager.getInstance().InitConfig();

            //加载王者战场配置文件
            KingOfBattleManager.getInstance().InitConfig();

            //跨服boss配置文件
            KuaFuBossManager.getInstance().InitConfig();

            //跨服主线地图配置文件
            KuaFuMapManager.getInstance().InitConfig();

            //初始化配置
            FashionManager.getInstance().InitConfig();

            // 精灵奇缘
            JingLingQiYuanManager.getInstance().InitConfig();

            //所有装备强化附加属性
            AllThingsCalcItem.InitAllForgeLevelInfo();

            TradeBlackManager.Instance().LoadConfig();

            Global.LoadLangDict();

            LogFilterConfig.InitConfig();
            TenRetutnManager.getInstance().InitConfig();

            //加载视频聊天室房间数据
            VideoLogic.LoadVideoXml();

            Data.LoadConfig();

            GiftCodeNewManager.getInstance().initGiftCode();//礼包码
        }