Ejemplo n.º 1
0
        public void MobFireBurn(string[] @Params, TPlayObject PlayObject)
        {
            string sMAP   = @Params.Length > 0 ? @Params[0] : ""; //地图号
            string sX     = @Params.Length > 1 ? @Params[1] : ""; //坐标X
            string sY     = @Params.Length > 2 ? @Params[2] : ""; //坐标Y
            string sType  = @Params.Length > 3 ? @Params[3] : ""; //光环效果
            string sTime  = @Params.Length > 4 ? @Params[4] : ""; //持续时间
            string sPoint = @Params.Length > 5 ? @Params[5] : ""; //未知

            if ((sMAP == "") || ((sMAP != "") && (sMAP[1] == '?')))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandMobFireBurnHelpMsg, this.Attributes.Name, sMAP, sX,
                                                sY, sType, sTime, sPoint), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            int  nX     = HUtil32.Str_ToInt(sX, -1);
            int  nY     = HUtil32.Str_ToInt(sY, -1);
            int  nType  = HUtil32.Str_ToInt(sType, -1);
            uint nTime  = (uint)HUtil32.Str_ToInt(sTime, -1);
            int  nPoint = HUtil32.Str_ToInt(sPoint, -1);

            if (nPoint < 0)
            {
                nPoint = 1;
            }
            if ((sMAP == "") || (nX < 0) || (nY < 0) || (nType < 0) || (nTime < 0) || (nPoint < 0))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandMobFireBurnHelpMsg, this.Attributes.Name, sMAP, sX, sY,
                                                sType, sTime, sPoint), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TEnvirnoment Envir = M2Share.g_MapManager.FindMap(sMAP);

            if (Envir != null)
            {
                TEnvirnoment OldEnvir = PlayObject.m_PEnvir;
                PlayObject.m_PEnvir = Envir;
                TFireBurnEvent FireBurnEvent = new TFireBurnEvent(PlayObject, nX, nY, nType, nTime * 1000, nPoint);
                M2Share.g_EventManager.AddEvent(FireBurnEvent);
                PlayObject.m_PEnvir = OldEnvir;
                return;
            }
            PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandMobFireBurnMapNotFountMsg, this.Attributes.Name, sMAP), TMsgColor.c_Red, TMsgType.t_Hint);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 是否在攻城战争区域
        /// </summary>
        /// <param name="Envir"></param>
        /// <param name="nX"></param>
        /// <param name="nY"></param>
        /// <returns></returns>
        public TUserCastle InCastleWarArea(TEnvirnoment Envir, int nX, int nY)
        {
            TUserCastle result = null;
            TUserCastle Castle;

            if (m_CastleList.Count > 0)
            {
                for (int I = 0; I < m_CastleList.Count; I++)
                {
                    Castle = m_CastleList[I];
                    if (Castle.InCastleWarArea(Envir, nX, nY))
                    {
                        result = Castle;
                        break;
                    }
                }
            }
            return(result);
        }
Ejemplo n.º 3
0
 public void PositionMove(string[] @Params, TPlayObject PlayObject)
 {
     try
     {
         string       sMapName = @Params.Length > 0 ? @Params[0] : "";
         string       sX       = @Params.Length > 1 ? @Params[1] : "";
         string       sY       = @Params.Length > 2 ? @Params[2] : "";
         TEnvirnoment Envir    = null;
         if ((sMapName == "") || (sX == "") || (sY == "") || ((sMapName != "") && (sMapName[1] == '?')))
         {
             PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandPositionMoveHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint);
             return;
         }
         if ((PlayObject.m_btPermission >= this.Attributes.nPermissionMin) || M2Share.CanMoveMap(sMapName))
         {
             Envir = M2Share.g_MapManager.FindMap(sMapName);
             if (Envir != null)
             {
                 int nX = HUtil32.Str_ToInt(sX, 0);
                 int nY = HUtil32.Str_ToInt(sY, 0);
                 if (Envir.CanWalk(nX, nY, true))
                 {
                     PlayObject.SpaceMove(sMapName, nX, nY, 0);
                 }
                 else
                 {
                     PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandPositionMoveCanotMoveToMap, sMapName, sX, sY), TMsgColor.c_Green, TMsgType.t_Hint);
                 }
             }
         }
         else
         {
             PlayObject.SysMsg(String.Format(GameMsgDef.g_sTheMapDisableMove, sMapName, Envir.sMapDesc), TMsgColor.c_Red, TMsgType.t_Hint);
         }
     }
     catch (Exception E)
     {
         M2Share.MainOutMessage("[Exceptioin] TPlayObject.CmdPositionMove");
         M2Share.MainOutMessage(E.Message);
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// 城堡所在地图
        /// </summary>
        /// <param name="Envir"></param>
        /// <returns></returns>
        public TUserCastle IsCastleEnvir(TEnvirnoment Envir)
        {
            TUserCastle result = null;

            if (m_CastleList.Count > 0)
            {
                result = m_CastleList.Find(u =>
                {
                    return(u.m_MapCastle == Envir);
                });
                //for (int I = 0; I < m_CastleList.Count; I++)
                //{
                //    Castle = m_CastleList[I];
                //    if (Castle.m_MapCastle == Envir)
                //    {
                //        result = Castle;
                //        break;
                //    }
                //}
            }
            return(result);
        }
Ejemplo n.º 5
0
 public void TimerTimer(object obj)
 {
     if (!IsRefLoadData)
     {
         IsRefLoadData = true;
         foreach (ListViewItem item in ListView.Items)
         {
             ListItem    = item;
             Envirnoment = M2Share.g_MapManager.FindMap((ListItem.SubItems[0].Text));
             if (HUtil32.Str_ToInt(ListItem.SubItems[2].Text, 0) != Envirnoment.m_nHumCount)
             {
                 ListItem.SubItems[2].Text = (Envirnoment.m_nHumCount).ToString();
             }
             if (HUtil32.Str_ToInt(ListItem.SubItems[3].Text, 0) != Envirnoment.m_nMonCount)
             {
                 ListItem.SubItems[3].Text = (Envirnoment.m_nMonCount).ToString();
             }
             if (HUtil32.Str_ToInt(ListItem.SubItems[4].Text, 0) != Envirnoment.m_nNpcCount)
             {
                 ListItem.SubItems[4].Text = (Envirnoment.m_nNpcCount).ToString();
             }
             if (HUtil32.Str_ToInt(ListItem.SubItems[5].Text, 0) != Envirnoment.m_nItemCount)
             {
                 ListItem.SubItems[5].Text = (Envirnoment.m_nItemCount).ToString();
             }
             if (ListItem.SubItems[6].Text != HUtil32.BooleanToStr(Envirnoment.m_boRUNHUMAN))
             {
                 ListItem.SubItems[6].Text = HUtil32.BooleanToStr(Envirnoment.m_boRUNHUMAN);
             }
             if (ListItem.SubItems[7].Text != HUtil32.BooleanToStr(Envirnoment.m_boRUNMON))
             {
                 ListItem.SubItems[7].Text = HUtil32.BooleanToStr(Envirnoment.m_boRUNMON);
             }
         }
         IsRefLoadData = false;
     }
     RefStatus();
 }
Ejemplo n.º 6
0
        public void MapMoveHuman(TPlayObject PlayObject, string[] @Params)
        {
            string             sSrcMap = @Params.Length > 0 ? @Params[0] : "";
            string             sDenMap = @Params.Length > 1 ? @Params[1] : "";
            List <TPlayObject> HumanList;
            TPlayObject        MoveHuman;

            if ((sDenMap == "") || (sSrcMap == "") || ((sSrcMap != "") && (sSrcMap[0] == '?')))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandParamUnKnow, this.Attributes.Name, GameMsgDef.g_sGameCommandMapMoveHelpMsg), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TEnvirnoment SrcEnvir = M2Share.g_MapManager.FindMap(sSrcMap);
            TEnvirnoment DenEnvir = M2Share.g_MapManager.FindMap(sDenMap);

            if ((SrcEnvir == null))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandMapMoveMapNotFound, sSrcMap), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            if ((DenEnvir == null))
            {
                PlayObject.SysMsg(String.Format(GameMsgDef.g_sGameCommandMapMoveMapNotFound, sDenMap), TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            HumanList = new List <TPlayObject>();
            UserEngine.GetMapRageHuman(SrcEnvir, SrcEnvir.m_nWidth / 2, SrcEnvir.m_nHeight / 2, 1000, HumanList);
            for (int I = 0; I < HumanList.Count; I++)
            {
                MoveHuman = HumanList[I];
                if (MoveHuman != PlayObject)
                {
                    MoveHuman.MapRandomMove(sDenMap, 0);
                }
            }
            HUtil32.Dispose(HumanList);
        }
Ejemplo n.º 7
0
        public void ShowMapMode(TPlayObject PlayObject, string[] @Params)
        {
            string sMapName = @Params.Length > 0 ? @Params[0] : "";
            string sMsg;

            if ((PlayObject.m_btPermission < 6))
            {
                return;
            }
            if ((sMapName == ""))
            {
                PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 地图号", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TEnvirnoment Envir = M2Share.g_MapManager.FindMap(sMapName);

            if ((Envir == null))
            {
                PlayObject.SysMsg(sMapName + " 不存在!!!", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            sMsg = "地图模式: " + Envir.GetEnvirInfo();
            PlayObject.SysMsg(sMsg, TMsgColor.c_Blue, TMsgType.t_Hint);
        }
Ejemplo n.º 8
0
 public TPileStones(TEnvirnoment Envir, int nX, int nY, int nType, uint nTime)
     : base(Envir, nX, nY, nType, nTime, true)
 {
     this.m_nEventParam = 1;
 }
Ejemplo n.º 9
0
        public void SetMapMode(TPlayObject PlayObject, string[] @Params)
        {
            string sMapName = @Params.Length > 0 ? @Params[0] : "";
            string sMapMode = @Params.Length > 1 ? @Params[1] : "";
            string sParam1  = @Params.Length > 2 ? @Params[2] : "";
            string sParam2  = @Params.Length > 3 ? @Params[3] : "";

            if ((PlayObject.m_btPermission < 6))
            {
                return;
            }
            if ((sMapName == "") || (sMapMode == ""))
            {
                PlayObject.SysMsg("命令格式: @" + this.Attributes.Name + " 地图号 模式", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TEnvirnoment Envir = M2Share.g_MapManager.FindMap(sMapName);

            if ((Envir == null))
            {
                PlayObject.SysMsg(sMapName + " 不存在!!!", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            if ((sMapMode).ToLower().CompareTo(("SAFE").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boSAFE = true;
                }
                else
                {
                    Envir.m_boSAFE = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("DARK").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boDARK = true;
                }
                else
                {
                    Envir.m_boDARK = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("DARK").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boDARK = true;
                }
                else
                {
                    Envir.m_boDARK = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("FIGHT").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boFightZone = true;
                }
                else
                {
                    Envir.m_boFightZone = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("FIGHT3").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boFight3Zone = true;
                }
                else
                {
                    Envir.m_boFight3Zone = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("DAY").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boDAY = true;
                }
                else
                {
                    Envir.m_boDAY = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("QUIZ").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boQUIZ = true;
                }
                else
                {
                    Envir.m_boQUIZ = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NORECONNECT").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNORECONNECT = true;
                    Envir.sNoReconnectMap = sParam1;
                }
                else
                {
                    Envir.m_boNORECONNECT = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("MUSIC").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boMUSIC  = true;
                    Envir.m_nMUSICID = HUtil32.Str_ToInt(sParam1, -1);
                }
                else
                {
                    Envir.m_boMUSIC = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("EXPRATE").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boEXPRATE = true;
                    Envir.m_nEXPRATE  = HUtil32.Str_ToInt(sParam1, -1);
                }
                else
                {
                    Envir.m_boEXPRATE = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("PKWINLEVEL").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boPKWINLEVEL = true;
                    Envir.m_nPKWINLEVEL  = HUtil32.Str_ToInt(sParam1, -1);
                }
                else
                {
                    Envir.m_boPKWINLEVEL = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("PKWINEXP").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boPKWINEXP = true;
                    Envir.m_nPKWINEXP  = (uint)HUtil32.Str_ToInt(sParam1, -1);
                }
                else
                {
                    Envir.m_boPKWINEXP = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("PKLOSTLEVEL").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boPKLOSTLEVEL = true;
                    Envir.m_nPKLOSTLEVEL  = HUtil32.Str_ToInt(sParam1, -1);
                }
                else
                {
                    Envir.m_boPKLOSTLEVEL = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("PKLOSTEXP").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boPKLOSTEXP = true;
                    Envir.m_nPKLOSTEXP  = (uint)HUtil32.Str_ToInt(sParam1, -1);
                }
                else
                {
                    Envir.m_boPKLOSTEXP = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("DECHP").ToLower()) == 0)
            {
                if ((sParam1 != "") && (sParam2 != ""))
                {
                    Envir.m_boDECHP     = true;
                    Envir.m_nDECHPTIME  = HUtil32.Str_ToInt(sParam1, -1);
                    Envir.m_nDECHPPOINT = HUtil32.Str_ToInt(sParam2, -1);
                }
                else
                {
                    Envir.m_boDECHP = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("DECGAMEGOLD").ToLower()) == 0)
            {
                if ((sParam1 != "") && (sParam2 != ""))
                {
                    Envir.m_boDecGameGold    = true;
                    Envir.m_nDECGAMEGOLDTIME = HUtil32.Str_ToInt(sParam1, -1);
                    Envir.m_nDecGameGold     = HUtil32.Str_ToInt(sParam2, -1);
                }
                else
                {
                    Envir.m_boDecGameGold = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("INCGAMEGOLD").ToLower()) == 0)
            {
                if ((sParam1 != "") && (sParam2 != ""))
                {
                    Envir.m_boIncGameGold    = true;
                    Envir.m_nINCGAMEGOLDTIME = HUtil32.Str_ToInt(sParam1, -1);
                    Envir.m_nIncGameGold     = HUtil32.Str_ToInt(sParam2, -1);
                }
                else
                {
                    Envir.m_boIncGameGold = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("INCGAMEPOINT").ToLower()) == 0)
            {
                if ((sParam1 != "") && (sParam2 != ""))
                {
                    Envir.m_boINCGAMEPOINT    = true;
                    Envir.m_nINCGAMEPOINTTIME = HUtil32.Str_ToInt(sParam1, -1);
                    Envir.m_nINCGAMEPOINT     = HUtil32.Str_ToInt(sParam2, -1);
                }
                else
                {
                    Envir.m_boIncGameGold = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("RUNHUMAN").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boRUNHUMAN = true;
                }
                else
                {
                    Envir.m_boRUNHUMAN = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("RUNMON").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boRUNMON = true;
                }
                else
                {
                    Envir.m_boRUNMON = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NEEDHOLE").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNEEDHOLE = true;
                }
                else
                {
                    Envir.m_boNEEDHOLE = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NORECALL").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNORECALL = true;
                }
                else
                {
                    Envir.m_boNORECALL = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NOGUILDRECALL").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNOGUILDRECALL = true;
                }
                else
                {
                    Envir.m_boNOGUILDRECALL = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NODEARRECALL").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNODEARRECALL = true;
                }
                else
                {
                    Envir.m_boNODEARRECALL = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NOMASTERRECALL").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNOMASTERRECALL = true;
                }
                else
                {
                    Envir.m_boNOMASTERRECALL = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NORANDOMMOVE").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNORANDOMMOVE = true;
                }
                else
                {
                    Envir.m_boNORANDOMMOVE = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NODRUG").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNODRUG = true;
                }
                else
                {
                    Envir.m_boNODRUG = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("MINE").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boMINE = true;
                }
                else
                {
                    Envir.m_boMINE = false;
                }
            }
            else if ((sMapMode).ToLower().CompareTo(("NOPOSITIONMOVE").ToLower()) == 0)
            {
                if ((sParam1 != ""))
                {
                    Envir.m_boNOPOSITIONMOVE = true;
                }
                else
                {
                    Envir.m_boNOPOSITIONMOVE = false;
                }
            }
            string sMsg = "地图模式: " + Envir.GetEnvirInfo();

            PlayObject.SysMsg(sMsg, TMsgColor.c_Blue, TMsgType.t_Hint);
        }
Ejemplo n.º 10
0
 public THolyCurtainEvent(TEnvirnoment Envir, int nX, int nY, int nType, uint nTime)
     : base(Envir, nX, nY, nType, nTime, true)
 {
 }
Ejemplo n.º 11
0
        public TEnvirnoment AddMapInfo(string sMapName, string sMainMapName, string sMapDesc, int nServerNumber, TMapFlag MapFlag, Object QuestNPC)
        {
            TEnvirnoment  result;
            TEnvirnoment  Envir;
            int           nStd = 0;
            List <string> TempList;
            string        sTemp;

            result             = null;
            Envir              = new TEnvirnoment();
            Envir.sMapName     = sMapName;
            Envir.sMainMapName = sMainMapName;
            Envir.sMapDesc     = sMapDesc;
            if (sMainMapName != "")
            {
                Envir.m_boMainMap = true;
            }
            Envir.nServerIndex        = nServerNumber;
            Envir.m_boSAFE            = MapFlag.boSAFE;
            Envir.m_boFightZone       = MapFlag.boFIGHT;
            Envir.m_boFight2Zone      = MapFlag.boFIGHT2; // PK掉装备地图
            Envir.m_boFight3Zone      = MapFlag.boFIGHT3;
            Envir.m_boFight4Zone      = MapFlag.boFIGHT4; // 挑战地图
            Envir.m_boDARK            = MapFlag.boDARK;
            Envir.m_boDAY             = MapFlag.boDAY;
            Envir.m_boQUIZ            = MapFlag.boQUIZ;
            Envir.m_boNORECONNECT     = MapFlag.boNORECONNECT;
            Envir.m_boNEEDHOLE        = MapFlag.boNEEDHOLE;
            Envir.m_boNORECALL        = MapFlag.boNORECALL;
            Envir.m_boNOGUILDRECALL   = MapFlag.boNOGUILDRECALL;
            Envir.m_boNODEARRECALL    = MapFlag.boNODEARRECALL;
            Envir.m_boNOMASTERRECALL  = MapFlag.boNOMASTERRECALL;
            Envir.m_boNORANDOMMOVE    = MapFlag.boNORANDOMMOVE;
            Envir.m_boNODRUG          = MapFlag.boNODRUG;
            Envir.m_boMINE            = MapFlag.boMINE;
            Envir.m_boNOPOSITIONMOVE  = MapFlag.boNOPOSITIONMOVE;
            Envir.m_boNoManNoMon      = MapFlag.boNoManNoMon;    // 无人不刷怪
            Envir.m_boRUNHUMAN        = MapFlag.boRUNHUMAN;      // 可以穿人
            Envir.m_boRUNMON          = MapFlag.boRUNMON;        // 可以穿怪
            Envir.m_boDECHP           = MapFlag.boDECHP;         // 自动减HP值
            Envir.m_boINCHP           = MapFlag.boINCHP;         // 自动加HP值
            Envir.m_boDecGameGold     = MapFlag.boDECGAMEGOLD;   // 自动减游戏币
            Envir.m_boDECGAMEPOINT    = MapFlag.boDECGAMEPOINT;  // 自动减游戏点
            Envir.m_boIncGameGold     = MapFlag.boINCGAMEGOLD;   // 自动加游戏币
            Envir.m_boINCGAMEPOINT    = MapFlag.boINCGAMEPOINT;  // 自动加游戏点
            Envir.m_boNEEDLEVELTIME   = MapFlag.boNEEDLEVELTIME; // 雪域地图传送,判断等级
            Envir.m_nNEEDLEVELPOINT   = MapFlag.nNEEDLEVELPOINT; // 进雪域地图最低等级
            Envir.m_boNOCALLHERO      = MapFlag.boNoCALLHERO;    // 禁止召唤英雄
            Envir.m_boNOHEROPROTECT   = MapFlag.boNOHEROPROTECT; // 禁止英雄守护
            Envir.m_boNODROPITEM      = MapFlag.boNODROPITEM;    // 禁止死亡掉物品
            Envir.m_boKILLFUNC        = MapFlag.boKILLFUNC;      // 地图杀人触发
            Envir.m_nKILLFUNC         = MapFlag.nKILLFUNC;       // 地图杀人触发
            Envir.m_boMISSION         = MapFlag.boMISSION;       // 不允许使用任何物品和技能
            Envir.m_boMUSIC           = MapFlag.boMUSIC;         // 音乐
            Envir.m_boEXPRATE         = MapFlag.boEXPRATE;       // 杀怪经验倍数
            Envir.m_boPKWINLEVEL      = MapFlag.boPKWINLEVEL;    // PK得等级
            Envir.m_boPKWINEXP        = MapFlag.boPKWINEXP;      // PK得经验
            Envir.m_boPKLOSTLEVEL     = MapFlag.boPKLOSTLEVEL;
            Envir.m_boPKLOSTEXP       = MapFlag.boPKLOSTEXP;
            Envir.m_nPKWINLEVEL       = MapFlag.nPKWINLEVEL; // PK得等级数
            Envir.m_nPKWINEXP         = MapFlag.nPKWINEXP;   // PK得经验数
            Envir.m_nPKLOSTLEVEL      = MapFlag.nPKLOSTLEVEL;
            Envir.m_nPKLOSTEXP        = MapFlag.nPKLOSTEXP;
            Envir.m_nPKWINEXP         = MapFlag.nPKWINEXP;         // PK得经验数
            Envir.m_nDECHPTIME        = MapFlag.nDECHPTIME;        // 减HP间隔时间
            Envir.m_nDECHPPOINT       = MapFlag.nDECHPPOINT;       // 一次减点数
            Envir.m_nINCHPTIME        = MapFlag.nINCHPTIME;        // 加HP间隔时间
            Envir.m_nINCHPPOINT       = MapFlag.nINCHPPOINT;       // 一次加点数
            Envir.m_nDECGAMEGOLDTIME  = MapFlag.nDECGAMEGOLDTIME;  // 减游戏币间隔时间
            Envir.m_nDecGameGold      = (int)MapFlag.nDECGAMEGOLD; // 一次减数量
            Envir.m_nINCGAMEGOLDTIME  = MapFlag.nINCGAMEGOLDTIME;  // 减游戏币间隔时间
            Envir.m_nIncGameGold      = MapFlag.nINCGAMEGOLD;      // 一次减数量
            Envir.m_nINCGAMEPOINTTIME = MapFlag.nINCGAMEPOINTTIME; // 加游戏点间隔时间
            Envir.m_nINCGAMEPOINT     = MapFlag.nINCGAMEPOINT;     // 一次减数量
            Envir.m_nDECGAMEPOINTTIME = MapFlag.nDECGAMEPOINTTIME; // 减游戏点间隔时间
            Envir.m_nDECGAMEPOINT     = MapFlag.nDECGAMEPOINT;     // 一次减数量
            Envir.m_nMUSICID          = MapFlag.nMUSICID;          // 音乐ID
            Envir.m_nEXPRATE          = MapFlag.nEXPRATE;          // 经验倍率
            Envir.m_sMUSICName        = MapFlag.sMUSICName;
            Envir.sNoReconnectMap     = MapFlag.sReConnectMap;
            Envir.QuestNPC            = QuestNPC;
            Envir.nNEEDSETONFlag      = MapFlag.nNEEDSETONFlag;
            Envir.nNeedONOFF          = MapFlag.nNeedONOFF;
            Envir.m_boUnAllowStdItems = MapFlag.boUnAllowStdItems;
            Envir.m_boUnAllowMagics   = MapFlag.boNOTALLOWUSEMAGIC;
            Envir.m_boFIGHTPK         = MapFlag.boFIGHTPK;// PK可以爆装备不红名
            Envir.nThunder            = MapFlag.nThunder;
            Envir.nLava = MapFlag.nLava;
            if ((Envir.nThunder != 0) || (Envir.nLava != 0))
            {
                M2Share.UserEngine.EffectList.Add(Envir);
            }
            unsafe
            {
                if ((Envir.m_boUnAllowStdItems) && (MapFlag.sUnAllowStdItemsText != ""))
                {
                    TempList = new List <string>();
                    fixed(char *Content = MapFlag.sUnAllowStdItemsText.Trim().ToCharArray())
                    {
                        HUtil32.ExtractStrings(new char[] { '|', '\\', '/' }, new char[] { }, Content, TempList);
                    }

                    if (TempList.Count > 0)
                    {
                        for (int I = 0; I < TempList.Count; I++)
                        {
                            nStd = M2Share.UserEngine.GetStdItemIdx(TempList[I].Trim());
                            if (nStd >= 0)
                            {
                                Envir.m_UnAllowStdItemsList.Add(new UnAllowItem()
                                {
                                    Idx      = nStd,
                                    ItemName = TempList[I].Trim()
                                });
                            }
                        }
                    }
                    Dispose(TempList);
                }
                if ((Envir.m_boUnAllowMagics) && (MapFlag.sUnAllowMagicText != ""))
                {
                    TempList = new List <string>();
                    fixed(char *Content = MapFlag.sUnAllowMagicText.Trim().ToCharArray())
                    {
                        HUtil32.ExtractStrings(new char[] { '|', '\\', '/' }, new char[] { }, Content, TempList);
                    }

                    if (TempList.Count > 0)
                    {
                        for (int I = 0; I < TempList.Count; I++)
                        {
                            sTemp = TempList[I].Trim();
                            if (sTemp != "")
                            {
                                Envir.m_UnAllowMagicList.Add(new UnAllowMagic()
                                {
                                    Idx       = nStd,
                                    MagicName = TempList[I].Trim()
                                });
                            }
                        }
                    }
                    Dispose(TempList);
                }
            }
            if (M2Share.MiniMapList.Count > 0)
            {
                foreach (var item in M2Share.MiniMapList)
                {
                    if (string.Compare(item.sMapNO, Envir.sMapName, true) == 0)
                    {
                        Envir.nMinMap = item.nIdx;
                        break;
                    }
                }
            }
            if (sMainMapName != "")
            {
                if (Envir.LoadMapData(M2Share.g_Config.sMapDir + sMainMapName + ".map"))
                {
                    result = Envir;
                    m_MapList.Add(Envir);
                }
                else
                {
                    M2Share.MainOutMessage("地图文件 " + M2Share.g_Config.sMapDir + sMainMapName + ".map" + " 未找到!!!");
                }
            }
            else
            {
                if (Envir.LoadMapData(M2Share.g_Config.sMapDir + sMapName + ".map"))
                {
                    result = Envir;
                    m_MapList.Add(Envir);
                }
                else
                {
                    M2Share.MainOutMessage("地图文件 " + M2Share.g_Config.sMapDir + sMapName + ".map" + " 未找到!!!");
                }
            }
            return(result);
        }
Ejemplo n.º 12
0
 /// <summary>
 /// 获取地图编号
 /// </summary>
 /// <param name="Envir"></param>
 /// <returns></returns>
 public string GetMainMap(TEnvirnoment Envir)
 {
     return(Envir.m_boMainMap ? Envir.sMainMapName : Envir.sMapName);
 }
Ejemplo n.º 13
0
 public TSafeEvent(TEnvirnoment Envir, int nX, int nY, int nType)
     : base(Envir, nX, nY, nType, HUtil32.GetTickCount(), true)
 {
 }
Ejemplo n.º 14
0
 public TFlowerEvent(TEnvirnoment Envir, int nX, int nY, int nType, uint nTime)
     : base(Envir, nX, nY, nType, nTime, true)
 {
 }