找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 932|回复: 2

有没有大佬分享伤害测试工具的

[复制链接]

4452

主题

4万

回帖

14万

积分

出神入化

积分
142449
发表于 2 小时前 | 显示全部楼层 |阅读模式
最近发现,训练场里单次伤害高到一定程度,伤害就测不准了。应该是没到21亿伤害上限的,因为卸了武器或则不加buff照样伤害不变,进图加个荣誉祝福体感伤害还能高很多,于是就怀疑是训练场的问题。求能比较准确测试伤害的工具或者方案

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复

使用道具 举报

发表于 2 小时前 | 显示全部楼层
确实我都怀疑我升了超界 普雷装备负提升 伤害完全没变化

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

4452

主题

4万

回帖

14万

积分

出神入化

积分
142449
 楼主| 发表于 2 小时前 | 显示全部楼层
强制21亿伤害代码这么写:
在pvf里找到这个文件sqr/ui/ap/ap_monster.nut
把下面这段写到里面去,
覆盖原本的同名函数function onApplyHpDamage_appendage_monster(appendage, newHpDamage, attacker)的所有内容。
还可以控制怪物受伤百分比来压缩伤害,来防止超出上限。
————————————————————————————————————————————————
DAMAGE_SCALE_FACTOR <- 1.0//限制怪物受到伤害百分比100%
DAMAGE_MAX_VALUE_ONCE <- 1999999999 //超出强制1999999999伤害
function onApplyHpDamage_appendage_monster(appendage, newHpDamage, attacker)
{
if (!appendage) return;
if (!attacker) return;
local monster = appendage.getParent();
monster = sq_GetCNRDObjectToActiveObject(monster);
if (!monster) return;
if (appendage.getParent().getTeam() == attacker.getTeam()) return newHpDamage;
// SKILL OVERFLOw CHECK
if (newHpDamage == 1) {
if (SKILL_DAMAGE_OVERFLOW_MARK == 1) {
newHpDamage = -1;
}
}
local scaledDamage = (DAMAGE_SCALE_FACTOR * newHpDamage.tofloat()).tointeger();
if (newHpDamage > 0) {
if (scaledDamage == 0) {
scaledDamage = 1;
}
local newAddHpDamage2 = 0;
local addHpDamage = applyAddHpDamage(appendage, newHpDamage);
if (addHpDamage < 0) {
// int overflow
addHpDamage = DAMAGE_MAX_VALUE_ONCE;
newAddHpDamage2 = DAMAGE_MAX_VALUE_ONCE;
} else {
newAddHpDamage2 = (DAMAGE_SCALE_FACTOR * addHpDamage.tofloat()).tointeger();
if (addHpDamage > 0 && newAddHpDamage2 == 0) {
newAddHpDamage2 = 1;
}
}
if (newAddHpDamage2 > DAMAGE_MAX_VALUE_ONCE) {
newAddHpDamage2 = DAMAGE_MAX_VALUE_ONCE;
}
if (scaledDamage > DAMAGE_MAX_VALUE_ONCE) {
scaledDamage = DAMAGE_MAX_VALUE_ONCE;
}
appendage.getVar("addHpDamage").setInt(0, newAddHpDamage2);
appendage.getVar("newHpDamage").setInt(0, scaledDamage);
if (appendage.getVar("atkCount").getInt(0) == 1) NOMAL_ATTACK_FLAG = 1;
else appendage.getVar("atkCount").setInt(0, 1);
} else if (newHpDamage < 0) {
// int overflow
scaledDamage = DAMAGE_MAX_VALUE_ONCE;
appendage.getVar("addHpDamage").setInt(0, DAMAGE_MAX_VALUE_ONCE);
appendage.getVar("newHpDamage").setInt(0, DAMAGE_MAX_VALUE_ONCE);
}
return scaledDamage;
}
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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