少年修仙传客户端代码仓库
lcy
2024-11-06 8890b370ad62528bb53ad3552d7e3ba31cd8374d
10271 适配封包C001、C005、B207、0320、A003
8个文件已修改
320 ■■■■■ 已修改文件
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB207_tagMCHelpBattleList.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC001_tagGCCrossRealmPKMatchOK.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC005_tagGCCrossRealmPKBillboardInfo.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAssistModel.cs 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonData.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/KingFairyModel.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Login/CrossServerLogin.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB207_tagMCHelpBattleList.cs
@@ -1,47 +1,51 @@
using UnityEngine;
using System.Collections;
using UnityEngine;
using System.Collections;
// B2 07 助战机器人列表 #tagMCHelpBattleList
// B2 07 助战机器人列表 #tagMCHelpBattleList
public class HB207_tagMCHelpBattleList : GameNetPackBasic {
    public byte RefreshCount;    // 已刷新次数
    public byte HelpCount;    // 助战个数
    public  tagMCHelpBattlePlayer[] HelpPlayerList;    // 助战镜像信息
    public HB207_tagMCHelpBattleList () {
        _cmd = (ushort)0xB207;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out RefreshCount, vBytes, NetDataType.BYTE);
        TransBytes (out HelpCount, vBytes, NetDataType.BYTE);
        HelpPlayerList = new tagMCHelpBattlePlayer[HelpCount];
        for (int i = 0; i < HelpCount; i ++) {
            HelpPlayerList[i] = new tagMCHelpBattlePlayer();
            TransBytes (out HelpPlayerList[i].ObjID, vBytes, NetDataType.DWORD);
            TransBytes (out HelpPlayerList[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out HelpPlayerList[i].NameLen, vBytes, NetDataType.BYTE);
            TransBytes (out HelpPlayerList[i].Name, vBytes, NetDataType.Chars, HelpPlayerList[i].NameLen);
            TransBytes (out HelpPlayerList[i].LV, vBytes, NetDataType.WORD);
            TransBytes (out HelpPlayerList[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out HelpPlayerList[i].RealmLV, vBytes, NetDataType.WORD);
            TransBytes (out HelpPlayerList[i].FightPower, vBytes, NetDataType.DWORD);
            TransBytes (out HelpPlayerList[i].Relation, vBytes, NetDataType.BYTE);
            TransBytes (out HelpPlayerList[i].IsNeedGold, vBytes, NetDataType.BYTE);
        }
    }
    public struct tagMCHelpBattlePlayer {
        public uint ObjID;        // 实例ID, 0代表未召唤
        public uint PlayerID;        // 助战镜像ID, 大于1小于100代表机器人,如果是机器人,没有以下信息,相关信息自己读配置
        public byte NameLen;
        public string Name;        // 玩家名,size = NameLen
        public ushort LV;        // 玩家等级
        public byte Job;        // 玩家职业, 如果是机器人,则职业有值,服务端控制
        public ushort RealmLV;        // 玩家境界等级
        public uint FightPower;        // 玩家战力
        public byte Relation;        // 关系:0-无,1-好友,2-盟友
        public byte IsNeedGold;        // 是否需要仙玉召唤
    }
}
public class HB207_tagMCHelpBattleList : GameNetPackBasic {
    public byte RefreshCount;    // 已刷新次数
    public byte HelpCount;    // 助战个数
    public  tagMCHelpBattlePlayer[] HelpPlayerList;    // 助战镜像信息
    public HB207_tagMCHelpBattleList () {
        _cmd = (ushort)0xB207;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out RefreshCount, vBytes, NetDataType.BYTE);
        TransBytes (out HelpCount, vBytes, NetDataType.BYTE);
        HelpPlayerList = new tagMCHelpBattlePlayer[HelpCount];
        for (int i = 0; i < HelpCount; i ++) {
            HelpPlayerList[i] = new tagMCHelpBattlePlayer();
            TransBytes (out HelpPlayerList[i].ObjID, vBytes, NetDataType.DWORD);
            TransBytes (out HelpPlayerList[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out HelpPlayerList[i].NameLen, vBytes, NetDataType.BYTE);
            TransBytes (out HelpPlayerList[i].Name, vBytes, NetDataType.Chars, HelpPlayerList[i].NameLen);
            TransBytes (out HelpPlayerList[i].LV, vBytes, NetDataType.WORD);
            TransBytes (out HelpPlayerList[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out HelpPlayerList[i].RealmLV, vBytes, NetDataType.WORD);
            TransBytes (out HelpPlayerList[i].Face, vBytes, NetDataType.DWORD);
            TransBytes (out HelpPlayerList[i].FacePic, vBytes, NetDataType.DWORD);
            TransBytes (out HelpPlayerList[i].FightPower, vBytes, NetDataType.DWORD);
            TransBytes (out HelpPlayerList[i].Relation, vBytes, NetDataType.BYTE);
            TransBytes (out HelpPlayerList[i].IsNeedGold, vBytes, NetDataType.BYTE);
        }
    }
    public struct tagMCHelpBattlePlayer {
        public uint ObjID;        // 实例ID, 0代表未召唤
        public uint PlayerID;        // 助战镜像ID, 大于1小于100代表机器人,如果是机器人,没有以下信息,相关信息自己读配置
        public byte NameLen;
        public string Name;        // 玩家名,size = NameLen
        public ushort LV;        // 玩家等级
        public byte Job;        // 玩家职业, 如果是机器人,则职业有值,服务端控制
        public ushort RealmLV;        // 玩家境界等级
        public uint Face;        //基本脸型
        public uint FacePic;        //头像框
        public uint FightPower;        // 玩家战力
        public byte Relation;        // 关系:0-无,1-好友,2-盟友
        public byte IsNeedGold;        // 是否需要仙玉召唤
    }
}
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC001_tagGCCrossRealmPKMatchOK.cs
@@ -1,49 +1,53 @@
using UnityEngine;
using System.Collections;
// C0 01 跨服PK匹配成功 #tagGCCrossRealmPKMatchOK
public class HC001_tagGCCrossRealmPKMatchOK : GameNetPackBasic {
    public ushort RoomID;    // 房间ID
    public byte NameLen;
    public string PlayerName;    // 跨服名字
    public byte Number;    // 位置编号;1-左,2-右
    public byte MatchPlayerCount;
    public  tagGCCrossRealmPKMatchPlayer[] MatchPlayer;    // 匹配到的玩家
    public HC001_tagGCCrossRealmPKMatchOK () {
        _cmd = (ushort)0xC001;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out RoomID, vBytes, NetDataType.WORD);
        TransBytes (out NameLen, vBytes, NetDataType.BYTE);
        TransBytes (out PlayerName, vBytes, NetDataType.Chars, NameLen);
        TransBytes (out Number, vBytes, NetDataType.BYTE);
        TransBytes (out MatchPlayerCount, vBytes, NetDataType.BYTE);
        MatchPlayer = new tagGCCrossRealmPKMatchPlayer[MatchPlayerCount];
        for (int i = 0; i < MatchPlayerCount; i ++) {
            MatchPlayer[i] = new tagGCCrossRealmPKMatchPlayer();
            TransBytes (out MatchPlayer[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out MatchPlayer[i].NameLen, vBytes, NetDataType.BYTE);
            TransBytes (out MatchPlayer[i].PlayerName, vBytes, NetDataType.Chars, MatchPlayer[i].NameLen);
            TransBytes (out MatchPlayer[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out MatchPlayer[i].LV, vBytes, NetDataType.WORD);
            TransBytes (out MatchPlayer[i].MaxHP, vBytes, NetDataType.DWORD);
            TransBytes (out MatchPlayer[i].MaxHPEx, vBytes, NetDataType.DWORD);
            TransBytes (out MatchPlayer[i].MaxProDef, vBytes, NetDataType.DWORD);
        }
    }
    public struct tagGCCrossRealmPKMatchPlayer {
        public uint PlayerID;
        public byte NameLen;
        public string PlayerName;        // 跨服名字
        public byte Job;
        public ushort LV;
        public uint MaxHP;        // 默认满血,求余亿部分
        public uint MaxHPEx;        // 默认满血,整除亿部分
        public uint MaxProDef;        // 最大护盾
    }
}
// C0 01 跨服PK匹配成功 #tagGCCrossRealmPKMatchOK
public class HC001_tagGCCrossRealmPKMatchOK : GameNetPackBasic {
    public ushort RoomID;    // 房间ID
    public byte NameLen;
    public string PlayerName;    // 跨服名字
    public byte Number;    // 位置编号;1-左,2-右
    public byte MatchPlayerCount;
    public  tagGCCrossRealmPKMatchPlayer[] MatchPlayer;    // 匹配到的玩家
    public HC001_tagGCCrossRealmPKMatchOK () {
        _cmd = (ushort)0xC001;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out RoomID, vBytes, NetDataType.WORD);
        TransBytes (out NameLen, vBytes, NetDataType.BYTE);
        TransBytes (out PlayerName, vBytes, NetDataType.Chars, NameLen);
        TransBytes (out Number, vBytes, NetDataType.BYTE);
        TransBytes (out MatchPlayerCount, vBytes, NetDataType.BYTE);
        MatchPlayer = new tagGCCrossRealmPKMatchPlayer[MatchPlayerCount];
        for (int i = 0; i < MatchPlayerCount; i ++) {
            MatchPlayer[i] = new tagGCCrossRealmPKMatchPlayer();
            TransBytes (out MatchPlayer[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out MatchPlayer[i].NameLen, vBytes, NetDataType.BYTE);
            TransBytes (out MatchPlayer[i].PlayerName, vBytes, NetDataType.Chars, MatchPlayer[i].NameLen);
            TransBytes (out MatchPlayer[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out MatchPlayer[i].LV, vBytes, NetDataType.WORD);
            TransBytes (out MatchPlayer[i].Face, vBytes, NetDataType.DWORD);
            TransBytes (out MatchPlayer[i].FacePic, vBytes, NetDataType.DWORD);
            TransBytes (out MatchPlayer[i].MaxHP, vBytes, NetDataType.DWORD);
            TransBytes (out MatchPlayer[i].MaxHPEx, vBytes, NetDataType.DWORD);
            TransBytes (out MatchPlayer[i].MaxProDef, vBytes, NetDataType.DWORD);
        }
    }
    public struct tagGCCrossRealmPKMatchPlayer {
        public uint PlayerID;
        public byte NameLen;
        public string PlayerName;        // 跨服名字
        public byte Job;
        public ushort LV;
        public uint Face;        //基本脸型
        public uint FacePic;        //头像框
        public uint MaxHP;        // 默认满血,求余亿部分
        public uint MaxHPEx;        // 默认满血,整除亿部分
        public uint MaxProDef;        // 最大护盾
    }
}
Core/NetworkPackage/ServerPack/HC0_CrossRealm/HC005_tagGCCrossRealmPKBillboardInfo.cs
@@ -1,45 +1,49 @@
using UnityEngine;
using System.Collections;
using UnityEngine;
using System.Collections;
// C0 05 跨服PK赛季排行榜 #tagGCCrossRealmPKBillboardInfo
// C0 05 跨服PK赛季排行榜 #tagGCCrossRealmPKBillboardInfo
public class HC005_tagGCCrossRealmPKBillboardInfo : GameNetPackBasic {
    public byte ZoneID;    // 赛区ID
    public byte SeasonID;    // 赛季ID
    public ushort Count;
    public  tagGCCrossRealmPKBillboardData[] PKBillboardList;
    public HC005_tagGCCrossRealmPKBillboardInfo () {
        _cmd = (ushort)0xC005;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out ZoneID, vBytes, NetDataType.BYTE);
        TransBytes (out SeasonID, vBytes, NetDataType.BYTE);
        TransBytes (out Count, vBytes, NetDataType.WORD);
        PKBillboardList = new tagGCCrossRealmPKBillboardData[Count];
        for (int i = 0; i < Count; i ++) {
            PKBillboardList[i] = new tagGCCrossRealmPKBillboardData();
            TransBytes (out PKBillboardList[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].NameLen, vBytes, NetDataType.BYTE);
            TransBytes (out PKBillboardList[i].PlayerName, vBytes, NetDataType.Chars, PKBillboardList[i].NameLen);
            TransBytes (out PKBillboardList[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out PKBillboardList[i].FightPower, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].RealmLV, vBytes, NetDataType.WORD);
            TransBytes (out PKBillboardList[i].PKScore, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].DanLV, vBytes, NetDataType.BYTE);
        }
    }
    public struct tagGCCrossRealmPKBillboardData {
        public uint PlayerID;
        public byte NameLen;
        public string PlayerName;
        public byte Job;
        public uint FightPower;
        public ushort RealmLV;
        public uint PKScore;
        public byte DanLV;
    }
}
public class HC005_tagGCCrossRealmPKBillboardInfo : GameNetPackBasic {
    public byte ZoneID;    // 赛区ID
    public byte SeasonID;    // 赛季ID
    public ushort Count;
    public  tagGCCrossRealmPKBillboardData[] PKBillboardList;
    public HC005_tagGCCrossRealmPKBillboardInfo () {
        _cmd = (ushort)0xC005;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out ZoneID, vBytes, NetDataType.BYTE);
        TransBytes (out SeasonID, vBytes, NetDataType.BYTE);
        TransBytes (out Count, vBytes, NetDataType.WORD);
        PKBillboardList = new tagGCCrossRealmPKBillboardData[Count];
        for (int i = 0; i < Count; i ++) {
            PKBillboardList[i] = new tagGCCrossRealmPKBillboardData();
            TransBytes (out PKBillboardList[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].NameLen, vBytes, NetDataType.BYTE);
            TransBytes (out PKBillboardList[i].PlayerName, vBytes, NetDataType.Chars, PKBillboardList[i].NameLen);
            TransBytes (out PKBillboardList[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out PKBillboardList[i].Face, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].FacePic, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].FightPower, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].RealmLV, vBytes, NetDataType.WORD);
            TransBytes (out PKBillboardList[i].PKScore, vBytes, NetDataType.DWORD);
            TransBytes (out PKBillboardList[i].DanLV, vBytes, NetDataType.BYTE);
        }
    }
    public struct tagGCCrossRealmPKBillboardData {
        public uint PlayerID;
        public byte NameLen;
        public string PlayerName;
        public byte Job;
        public uint Face;        //基本脸型
        public uint FacePic;        //头像框
        public uint FightPower;
        public ushort RealmLV;
        public uint PKScore;
        public byte DanLV;
    }
}
System/CrossServerOneVsOne/CrossServerOneVsOneRewardModel.cs
@@ -43,6 +43,8 @@
    public int PlayerID;//玩家ID
    public string PlayerName;//玩家名
    public int Job;//职业
    public int Face;
    public int FacePic;
    public int Power;//战力
    public int DanLv;//段位
    public int PkScore;//积分
@@ -399,6 +401,8 @@
                    RankingInformation.PlayerID = (int)info.PKBillboardList[i].PlayerID;
                    RankingInformation.PlayerName = info.PKBillboardList[i].PlayerName;
                    RankingInformation.Job = info.PKBillboardList[i].Job;
                    RankingInformation.Face = (int)info.PKBillboardList[i].Face;
                    RankingInformation.FacePic = (int)info.PKBillboardList[i].FacePic;
                    RankingInformation.Power = (int)info.PKBillboardList[i].FightPower;
                    RankingInformation.Realm = (int)info.PKBillboardList[i].RealmLV;
                    RankingInformation.DanLv = (int)info.PKBillboardList[i].DanLV;
@@ -415,6 +419,8 @@
                    RankingInformation.PlayerID = (int)info.PKBillboardList[i].PlayerID;
                    RankingInformation.PlayerName = info.PKBillboardList[i].PlayerName;
                    RankingInformation.Job = info.PKBillboardList[i].Job;
                    RankingInformation.Face = (int)info.PKBillboardList[i].Face;
                    RankingInformation.FacePic = (int)info.PKBillboardList[i].FacePic;
                    RankingInformation.Power = (int)info.PKBillboardList[i].FightPower;
                    RankingInformation.Realm = (int)info.PKBillboardList[i].RealmLV;
                    RankingInformation.DanLv = (int)info.PKBillboardList[i].DanLV;
System/Dungeon/DungeonAssistModel.cs
@@ -1538,6 +1538,8 @@
        {
            public int ObjID { get; private set; }        // 实例ID, 0代表未召唤
            public int Job { get; private set; }        // 玩家职业, 如果是机器人,则职业有值,服务端控制
            public int Face { get; private set; }
            public int FacePic { get; private set; }
            public int PlayerID { get; private set; }           // 助战镜像ID, 大于1小于100代表机器人,如果是机器人,没有以下信息,相关信息自己读配置
            public string Name { get; private set; }           // 玩家名,size = NameLen
            public int LV { get; private set; }           // 玩家等级
@@ -1568,6 +1570,8 @@
            {
                ObjID = (int)battlePlayer.ObjID;
                Job = battlePlayer.Job;
                Face = (int)battlePlayer.Face;
                FacePic = (int)battlePlayer.FacePic;
                PlayerID = (int)battlePlayer.PlayerID;
                bool isMirror = PlayerID > 100 ? true : false;
                if(isMirror)
System/Dungeon/DungeonData.cs
@@ -241,6 +241,8 @@
        public string Name;
        public int LV;
        public int Job;
        public int Face;
        public int FacePic;
        public int Relation;
        public int RealmLV;
        public int FightPower;
System/FairyAu/KingFairyModel.cs
@@ -176,6 +176,16 @@
                kingFairyData.leaderId = (int)_sData.Value2;
                kingFairyData.allotCnt = (int)_sData.Value4;
                kingFairyData.finalCnt = (int)_sData.Value5;
                if (int.TryParse(_sData.StrValue2, out int result))
                {
                    kingFairyData.emblemId = result;
                }
                else
                {
                    kingFairyData.emblemId = 0;
                }
                hasKingFairy = kingFairyData.fairyId != 0;
                if (isServerPrepare && WindowCenter.Instance.IsOpen<KingTempleWin>())
                {
@@ -255,6 +265,7 @@
        public int allotCnt;
        public int finalCnt;
        public string fairyName;
        public int emblemId;
        public RoleParticularModel.ViewPlayerData leaderData;
    }
}
System/Login/CrossServerLogin.cs
@@ -1,7 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
using System;
namespace vnxbqy.UI
{
@@ -52,9 +51,13 @@
                autoEnsureTime = Time.time + 3f,
                myName = matchOK.PlayerName.Replace("@gm", ""),
                myJob = PlayerDatas.Instance.baseData.Job,
                myFace = AvatarHelper.GetMyAvatarID(),
                myFacePic = AvatarHelper.GetMyAvatarFrameID(),
                myBornPoint = matchOK.Number,
                opponentName = matchOK.MatchPlayer[0].PlayerName.Replace("@gm", ""),
                opponentJob = matchOK.MatchPlayer[0].Job,
                opponentFace = (int)matchOK.MatchPlayer[0].Face,
                opponentFacePic = (int)matchOK.MatchPlayer[0].FacePic,
                opponentMaxHp = matchOK.MatchPlayer[0].MaxHP + matchOK.MatchPlayer[0].MaxHPEx * Constants.ExpPointValue,
                opponentLevel = (int)matchOK.MatchPlayer[0].LV,
                opponentPlayerId = (int)matchOK.MatchPlayer[0].PlayerID,
@@ -282,10 +285,14 @@
        public float validTimeLimited;
        public string myName;
        public int myJob;
        public int myFace;
        public int myFacePic;
        public int myBornPoint;//1-左;2-右
        public int opponentPlayerId;
        public string opponentName;
        public int opponentJob;
        public int opponentFace;
        public int opponentFacePic;
        public int opponentLevel;
        public ulong opponentMaxHp;
        public int MaxProDef;// 最大护盾