public static void AddGMCmdChatMsgToOneClient(string gmCmd) { string chatMsg = string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}", new object[] { 0, "", 0, "", 0, gmCmd, 0, 0, -1 }); List <LineItem> itemList = LineManager.GetLineItemList(); if (null != itemList) { for (int i = 0; i < itemList.Count; i++) { if (itemList[i].LineID < 9000 || itemList[i].LineID == GameDBManager.ZoneID) { ChatMsgManager.AddChatMsg(itemList[i].LineID, chatMsg); break; } } } }
/// <summary> /// 添加GM命令消息 /// </summary> /// <param name="serverLineID"></param> /// <param name="gmCmd"></param> public static void AddGMCmdChatMsg(int serverLineID, string gmCmd) { string chatMsg = string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}", 0, "", 0, "", 0, gmCmd, 0, 0, serverLineID); List <LineItem> itemList = LineManager.GetLineItemList(); if (null != itemList) { for (int i = 0; i < itemList.Count; i++) { if (itemList[i].LineID == serverLineID) { continue; } ChatMsgManager.AddChatMsg(itemList[i].LineID, chatMsg); } } }
public void HandleDeleteRole(DBUserInfo dbUserInfo, DBRoleInfo dbRoleInfo) { DBManager dbMgr = DBManager.getInstance(); string userID = dbUserInfo.UserID; int roleID = dbRoleInfo.RoleID; lock (dbUserInfo) { if (dbRoleInfo.Faction > 0 && dbRoleInfo.BHZhiWu == 1) { int nRoleID = -1; bool bGoOn = false; List <BangHuiMemberData> bangHuiMemberDataList = DBQuery.GetBangHuiMemberDataList(dbMgr, dbRoleInfo.Faction); List <BangHuiMgrItemData> bangHuiMgrItemDataList = DBQuery.GetBangHuiMgrItemItemDataList(dbMgr, dbRoleInfo.Faction); if (bangHuiMemberDataList != null && bangHuiMemberDataList.Count > 0) { if (bangHuiMgrItemDataList != null) { nRoleID = Global.GetDBRoleInfoByZhiWu(bangHuiMgrItemDataList, 2); if (nRoleID <= 0) { nRoleID = Global.GetDBRoleInfoByZhiWu(bangHuiMgrItemDataList, 3); if (nRoleID <= 0) { nRoleID = Global.GetDBRoleInfoByZhiWu(bangHuiMgrItemDataList, 4); if (nRoleID <= 0) { bGoOn = true; } } } } if (bGoOn) { for (int i = 0; i < bangHuiMemberDataList.Count; i++) { if (bangHuiMemberDataList[i].RoleID != roleID) { nRoleID = bangHuiMemberDataList[i].RoleID; break; } } } if (nRoleID > 0) { lock (Global.BangHuiMutex) { DBRoleInfo dbRole = dbMgr.GetDBRoleInfo(ref nRoleID); if (dbRole != null) { if (dbRole.Faction == dbRoleInfo.Faction) { dbRole.BHZhiWu = 1; DBWriter.UpdateBangHuiMemberZhiWu(dbMgr, dbRole.Faction, nRoleID, 1); DBWriter.UpdateBangHuiRoleID(dbMgr, nRoleID, dbRole.Faction); int serverLineID = dbRoleInfo.ServerLineID; string strCmdData = string.Format("0::0::0:-chbhzhiwu {0} {1} {2} {3}:0:0:-1", new object[] { dbRoleInfo.Faction, nRoleID, 1, dbRoleInfo.RoleID }); List <LineItem> itemList = LineManager.GetLineItemList(); if (null != itemList) { for (int i = 0; i < itemList.Count; i++) { if (itemList[i].LineID != serverLineID) { ChatMsgManager.AddChatMsg(itemList[i].LineID, strCmdData); } } } } } } } BangHuiDestroyMgr.ClearBangHuiLingDi(dbMgr, dbRoleInfo.Faction); } else { BangHuiDestroyMgr.DoDestroyBangHui(dbMgr, dbRoleInfo.Faction); } } dbRoleInfo.Faction = 0; dbRoleInfo.BHName = ""; dbRoleInfo.BHZhiWu = 0; dbRoleInfo.BangGong = 0; DBWriter.UpdateRoleBangHuiInfo(dbMgr, dbRoleInfo.RoleID, dbRoleInfo.Faction, dbRoleInfo.BHName, 0); int index = dbUserInfo.ListRoleIDs.IndexOf(roleID); if (index >= 0 && index < dbUserInfo.ListRoleIDs.Count) { dbUserInfo.ListRoleIDs.RemoveAt(index); dbUserInfo.ListRoleSexes.RemoveAt(index); dbUserInfo.ListRoleOccups.RemoveAt(index); dbUserInfo.ListRoleNames.RemoveAt(index); dbUserInfo.ListRoleLevels.RemoveAt(index); dbUserInfo.ListRoleZoneIDs.RemoveAt(index); dbUserInfo.ListRoleChangeLifeCount.RemoveAt(index); dbUserInfo.ListRolePreRemoveTime.RemoveAt(index); } } }