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); }
/// <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); }
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); } }
/// <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); }
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(); }
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); }
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); }
public TPileStones(TEnvirnoment Envir, int nX, int nY, int nType, uint nTime) : base(Envir, nX, nY, nType, nTime, true) { this.m_nEventParam = 1; }
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); }
public THolyCurtainEvent(TEnvirnoment Envir, int nX, int nY, int nType, uint nTime) : base(Envir, nX, nY, nType, nTime, true) { }
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); }
/// <summary> /// 获取地图编号 /// </summary> /// <param name="Envir"></param> /// <returns></returns> public string GetMainMap(TEnvirnoment Envir) { return(Envir.m_boMainMap ? Envir.sMainMapName : Envir.sMapName); }
public TSafeEvent(TEnvirnoment Envir, int nX, int nY, int nType) : base(Envir, nX, nY, nType, HUtil32.GetTickCount(), true) { }
public TFlowerEvent(TEnvirnoment Envir, int nX, int nY, int nType, uint nTime) : base(Envir, nX, nY, nType, nTime, true) { }