找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 110|回复: 8

[提问] 关于伤害显示的求助

[复制链接]

2

主题

13

回帖

17

积分

新手上路

积分
17
发表于 2025-10-7 22:17:20 | 显示全部楼层 |阅读模式
大佬们,由于对客户端不改动不太懂,求助一下。
问题:我改了服务器上MagicDamageHandler.handlePacket中的攻击计算方式,
例子:角色原伤害100W,我在服务端改为1000.但是客户端还是显示原来的100W伤害,怪物实际掉血确是1000。 怎么同步客户端也显示1000的伤害呢?

4

主题

18

回帖

60

积分

注册会员

积分
60
发表于 2025-10-7 22:45:18 | 显示全部楼层

你好~我也是新人,我按照我的理解回答一下,不一定完全准确。
冒险岛伤害的计算,是“客户端先计算并显示”了之后,信息传递到服务端,服务端做了校验以后进行扣血结算的。
你只改服务端算法,会影响到伤害的校验和真实的扣血结算,但是不会影响到你客户端如何显示。
你如果想真实地改伤害计算方式,只能想办法去修改客户端。

不过,一般大家需要调整伤害的话,会直接去改wz的damage节点(客户端的.wz/.img和服务端的.xml一定要一起改。可以用写轮眼改了前者以后直接导出.xml进行同步),直接调整技能的伤害,既不需要改服务端也不需要改客户端,非常容易。你是想改变伤害计算公式吗?为什么想要从底层来走呢?

2

主题

13

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2025-10-7 22:53:26 | 显示全部楼层
江奈Mizuki 发表于 2025-10-7 22:45
你好~我也是新人,我按照我的理解回答一下,不一定完全准确。
冒险岛伤害的计算,是“客户端先计算并显示 ...

按照目前显示应该就是你这说的这样了,应该是客户端单独计算了伤害,然后显示。怪物血量结算是从服务端获取的。

2

主题

13

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2025-10-7 22:55:09 | 显示全部楼层
江奈Mizuki 发表于 2025-10-7 22:45
你好~我也是新人,我按照我的理解回答一下,不一定完全准确。
冒险岛伤害的计算,是“客户端先计算并显示 ...

谢了。我修改的原因是应为,比如我把魔力激化给到了牧师,牧师不生效,因为攻击计算公式里这个技能没有牧师。看来只能单独加强技能伤害了。

45

主题

45

回帖

379

积分

管理员

积分
379
发表于 2025-10-7 23:06:51 | 显示全部楼层
就像你们讨论的,有些伤害是客户端本地计算完直接显示,然后发封包给服务端校验的。服务端可以追加额外的伤害并让客户端显示,但是并不能修改前面客户端已经显示了的伤害,要改的话需要在客户端上进行。

你可以让牧师的魔力激化效果,变成追加一段伤害,追加的伤害就是你要提升的伤害,这个服务端可以独立完成。
有问题欢迎跟帖提问。

2

主题

13

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2025-10-8 07:55:23 | 显示全部楼层
leevccc 发表于 2025-10-7 23:06
就像你们讨论的,有些伤害是客户端本地计算完直接显示,然后发封包给服务端校验的。服务端可以追加额外的伤 ...

大佬你说的追加,是不改wz的情况下,只改服务端追加伤害吗?那追加的伤害怎么显示呢?

4

主题

18

回帖

60

积分

注册会员

积分
60
发表于 2025-10-8 09:58:21 | 显示全部楼层
4060586 发表于 2025-10-8 07:55
大佬你说的追加,是不改wz的情况下,只改服务端追加伤害吗?那追加的伤害怎么显示呢? ...

按我的理解,是让服务端再发一个“角色对怪物造成魔法伤害”的封包,可以只对服务端源码进行修改来实现。
论坛里有自定义收发包教程,你可以参考一下。

4

主题

20

回帖

54

积分

注册会员

积分
54
发表于 2025-10-8 14:46:37 | 显示全部楼层
4060586 发表于 2025-10-7 22:55
谢了。我修改的原因是应为,比如我把魔力激化给到了牧师,牧师不生效,因为攻击计算公式里这个技能没有牧 ...

我记得客户端里魔力激化实现是比较直观的,基本是在耗蓝和伤害那边直接调用一个 get_amplification ,你可以沿着这个路径研究一下,然后在牧师那边也找节点hook一下调用,大概率可以直接实现你想要的功能

45

主题

45

回帖

379

积分

管理员

积分
379
发表于 2025-10-8 15:30:41 | 显示全部楼层
江奈Mizuki 发表于 2025-10-8 09:58
按我的理解,是让服务端再发一个“角色对怪物造成魔法伤害”的封包,可以只对服务端源码进行修改来实现。 ...

不用自定义封包,自带的封包就可以了,可以参考圣骑士的圣域技能,这个技能就是纯服务端计算伤害发给客户端显示的,客户端本身是不计算不显示的
有问题欢迎跟帖提问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|蘑菇物语

GMT+8, 2025-10-21 21:46 , Processed in 0.056506 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表