BS数据结构详解(战斗包)

时间:2023-01-23 23:41:07编辑:coo君

(如果你不知道我在讲什么,可以先读读这个,但总之这些文章更多是科普性质)

这篇文章是对VisionUpdateMessage的结构的大体解释,它也涉及到BS的对战结构

(这是服务器加密结构,服务器将需要发送的信息按顺序加密(加密其实就是以指定的数据结构写入,如血量在33模式中是用16位二进制的压缩整数(VInt)写出,上限是65535),并把一堆0和1用UDP连接发送给客户端,客户端按照预定的解密方法按顺序解密,得到战场信息,并稍微处理和添加特效后渲染在屏幕上,这个过程每秒进行20次)

(服务器不会把所有的东西都发给客户端,比如在草丛里的敌人显然根本不用加密)

(这是v36.218巴兹版本的结构,所以不要问“装备去哪了?”)

(下文中英文为SC具体存在的结构,中文为我自己的总结,粗体为只给自己发的信息

StartLoadingMessage

这其实不是战斗包,但它会让客户端开始加载并为解密战斗包做好准备,而且它也包含了至关重要的信息:

玩家数量

玩家信息(队伍编号、角色、皮肤、等级、星辉、妙具、表情、名字)

地图编号

VisionUpdateMessage

GameObjectManager

包括:

自己的游戏物件的全局ID

地图信息(每个可摧毁物块是否被摧毁)

玩家信息加密(我自己概括的)

对于每个玩家:

是否有大招(蓝圈)

单鸡数据(未知)

发送表情信息

Accessory(妙具加密,如果有)

妙具加密:

妙具剩余次数

妙具冷却

妙具不可用状态(0=可以使用(绿色),1=正在使用,4=用完,5=正在冷却,10=“生命值已满”,12=“子弹已满”......)

妙具正在使用信息(开始使用时间及一些妙具的额外角度、如佩佩一妙具)

是否按住大招(黄圈)

大招充能

一些模式的特殊信息

击杀列表(击杀公告)

每个GameObject的全局ID

每个GameObject的DataReference

(DataReference是一个含有两个整数的数组,可以表示游戏中的任何“数据”,前一项表示CSV ID,后一项表示对应数据在CSV中的编号(行数-2),如雪莉是(16,0),雪莉大招子弹是(6,1) ,CSV ID见下)

依次对每个GameObject进行加密

(SC应该使用了某种高级编程语言(最有可能是Java)的继承功能,GameObject有自己的加密方式,同时Character AreaEffect Projectile Item都继承了GameObejct加密并各有自己的加密方式)

GameObject

X坐标

Y坐标

“编号”(队伍编号x16+队伍中编号,游戏将这个数整除16得出是否一个队伍)

Z坐标(为什么不和XY放在一起?)

(如果不是Projectile)FadeCounter(渐变的隐身程度,0~10,但其实=0时根本不会将这个GameObject加密给客户端)(没错这也是服务器控制)

Character(继承自GameObject)

上身角度

下身角度(瞎起的名字)

是否脱离控制(冲锋和眩晕时为否,客户端会停止发送输入并停止移动预测使冲锋平滑)

状态(1=移动,3=攻击,4=不动)

攻击刻数(用于播放动画)

一些特效(紫、眩晕、瞬移粒子、脚下星辉标志)

纳尼飞机坐标(用于摄像机移动,但游戏中似乎不使用)

更多的特效(加速、减速、压制治疗、贝尔大招、贝尔普攻、红(装弹)、脚滑(客户端不会自动判断是否在小罗大招上))

冰冻槽积累程度

毒特效(可以有多个)

治疗特效(只能有一个)

注意:有些特效有皮肤变种(如黑鸦皮肤和贝尔皮肤),这时候需要再加密一个整数告诉客户端显示什么,对应projectiles.csv中的PoisonType和AddEffectType

血量(会根据游戏模式不同使用不同的字节数加密)

(,召唤物没有,除了里昂的分身会读取一部分信息)

一些特殊英雄的特殊信息(贝亚的充能子弹数、瑟奇等级)

特殊宠物信息(你猜ShouldEncodePetStatus是干啥用的?)

充能条(比比和莫提斯二星辉(现在是被动))

其他特殊信息(首领阶段、可见状态、黄色眼睛)

加速/减速信息(用于预测移动)

伤害指示器信息(红色、白色、绿色、“免疫”)

技能信息(激活时间、冷却时间、子弹数、可切换技能的角色的当前技能(机甲首领、山姆、切斯特)

Projectile(继承自GameObject)

谁在乎?

AreaEffect(继承自GameObject)

谁在乎?

Item(继承自GameObject)

谁在乎?

上一篇:400万粉丝就敢机场闹事?加拿大籍艺人余景天深夜道歉,套路满满

下一篇:Cat带领LGD4比0EDGM,狼队妖刀首发岌岌可危,新射手试训效果极佳