Esempio n. 1
0
        /// <summary>
        /// 声望军衔——设置等级
        /// </summary>
        /// <param name="client"></param>
        /// <param name="level"></param>
        /// <returns></returns>
        public static void SetPrestigeLevel(GameClient client, int level)
        {
            //更新到数据库
            Global.SaveRoleParamsInt32ValueWithTimeStampToDB(client, RoleParamName.ShengWangLevel, level, true);
            GameManager.logDBCmdMgr.AddDBLogInfo(-1, "声望等级", "GM", "系统", client.ClientData.RoleName, "修改", level, client.ClientData.ZoneID, client.strUserID, level, client.ServerId);

            EventLogManager.AddRoleEvent(client, OpTypes.Trace, OpTags.GM, LogRecordType.IntValueWithType, level, RoleAttributeType.ShengWangLevel);
            if (level > 0)
            {
                JingJiChangManager.getInstance().activeJunXianBuff(client, true);
            }

            //更新BufferData
            double[] actionParams = new double[1];
            actionParams[0] = (double)level - 1;
            Global.UpdateBufferData(client, BufferItemTypes.MU_JINGJICHANG_JUNXIAN, actionParams, 0);

            ChengJiuManager.OnRoleJunXianChengJiu(client);
            Global.BroadcastClientMUShengWang(client, level);

            //通知自己
            GameManager.ClientMgr.NotifySelfParamsValueChange(client, RoleCommonUseIntParamsIndexs.ShengWangLevel, level);
            //通知客户端属性变化
            GameManager.ClientMgr.NotifyUpdateEquipProps(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client);
            // 总生命值和魔法值变化通知(同一个地图才需要通知)
            GameManager.ClientMgr.NotifyOthersLifeChanged(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client);

            // 军衔升级成功时,刷新相应的图标状态
            client._IconStateMgr.CheckJingJiChangJunXian(client);
            client._IconStateMgr.CheckSpecialActivity(client);
            client._IconStateMgr.SendIconStateToClient(client);
        }
Esempio n. 2
0
 public static void SetPrestigeLevel(GameClient client, int level)
 {
     Global.SaveRoleParamsInt32ValueWithTimeStampToDB(client, "ShengWangLevel", level, true, "2020-12-12 12:12:12");
     GameManager.logDBCmdMgr.AddDBLogInfo(-1, "声望等级", "GM", "系统", client.ClientData.RoleName, "修改", level, client.ClientData.ZoneID, client.strUserID, level, client.ServerId, null);
     EventLogManager.AddRoleEvent(client, OpTypes.Trace, OpTags.GM, LogRecordType.IntValueWithType, new object[]
     {
         level,
         RoleAttributeType.ShengWangLevel
     });
     if (level > 0)
     {
         JingJiChangManager.getInstance().activeJunXianBuff(client, true);
     }
     Global.UpdateBufferData(client, BufferItemTypes.MU_JINGJICHANG_JUNXIAN, new double[]
     {
         (double)level - 1.0
     }, 0, true);
     ChengJiuManager.OnRoleJunXianChengJiu(client);
     Global.BroadcastClientMUShengWang(client, level);
     GameManager.ClientMgr.NotifySelfParamsValueChange(client, RoleCommonUseIntParamsIndexs.ShengWangLevel, level);
     GameManager.ClientMgr.NotifyUpdateEquipProps(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client);
     GameManager.ClientMgr.NotifyOthersLifeChanged(Global._TCPManager.MySocketListener, Global._TCPManager.TcpOutPacketPool, client, true, false, 7);
     client._IconStateMgr.CheckJingJiChangJunXian(client);
     client._IconStateMgr.CheckSpecialActivity(client);
     client._IconStateMgr.CheckEverydayActivity(client);
     client._IconStateMgr.SendIconStateToClient(client);
 }