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); } } } }
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); }
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); }