Esempio n. 1
0
        public void TestFire(TPlayObject PlayObject, string[] @Params)
        {
            int  nRange = @Params.Length > 0 ? int.Parse(@Params[0]) : 0;
            int  nType  = @Params.Length > 1 ? int.Parse(@Params[1]) : 0;
            uint nTime  = @Params.Length > 2 ? uint.Parse(@Params[2]) : 0;
            int  nPoint = @Params.Length > 3 ? int.Parse(@Params[3]) : 0;

            TFireBurnEvent FireBurnEvent;
            int            nMinX = PlayObject.m_nCurrX - nRange;
            int            nMaxX = PlayObject.m_nCurrX + nRange;
            int            nMinY = PlayObject.m_nCurrY - nRange;
            int            nMaxY = PlayObject.m_nCurrY + nRange;

            for (int nX = nMinX; nX <= nMaxX; nX++)
            {
                for (int nY = nMinY; nY <= nMaxY; nY++)
                {
                    if (((nX < nMaxX) && (nY == nMinY)) || ((nY < nMaxY) && (nX == nMinX)) || (nX == nMaxX) || (nY == nMaxY))
                    {
                        FireBurnEvent = new TFireBurnEvent(PlayObject, nX, nY, nType, nTime * 1000, nPoint);
                        M2Share.g_EventManager.AddEvent(FireBurnEvent);
                    }
                }
            }
        }
Esempio n. 2
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);
        }
Esempio n. 3
0
        public void FireBurn(string[] @Params, TPlayObject PlayObject)
        {
            if (@Params == null)
            {
                return;
            }
            int  nInt  = @Params.Length > 0 ? int.Parse(@Params[0]) : 0;
            uint nTime = @Params.Length > 1 ? uint.Parse(@Params[1]) : 0;
            int  nN    = @Params.Length > 2 ? int.Parse(@Params[2]) : 0;

            if ((PlayObject.m_btPermission < 6))
            {
                return;
            }
            if ((nInt == 0) || (nTime == 0) || (nN == 0))
            {
                PlayObject.SysMsg("命令格式: @" + M2Share.g_GameCommand.FIREBURN.sCmd + " nInt nTime nN", TMsgColor.c_Red, TMsgType.t_Hint);
                return;
            }
            TFireBurnEvent FireBurnEvent = new TFireBurnEvent(PlayObject, PlayObject.m_nCurrX, PlayObject.m_nCurrY, nInt, nTime, nN);

            M2Share.g_EventManager.AddEvent(FireBurnEvent);
        }