Пример #1
0
        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;
                    }
                }
            }
        }
Пример #2
0
        /// <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);
                }
            }
        }
Пример #3
0
        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);
                }
            }
        }