网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
可签
7
级以上的吧
50
个
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月23日
漏签
0
天
台服dnf吧
关注:
125,213
贴子:
2,085,190
看贴
图片
吧主推荐
视频
玩乐
6
回复贴,共
1
页
<返回台服dnf吧
>0< 加载中...
璀璨,所有异常伤害吃169加成,优化异常伤害显示,现在中毒和灼烧每秒显示一次汇总伤害(原游戏是每10毫秒触发一次伤害,现在每秒显示该秒汇总中毒和灼伤伤害)
只看楼主
收藏
回复
长毛蓝妖兔
深渊之门
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
视频来自:
百度贴吧
送TA礼物
IP属地:广西
1楼
2025-12-21 14:32
回复
长毛蓝妖兔
深渊之门
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
剑圣字体有bug,当纯在中毒和灼伤会覆盖掉其它上异常伤害的字体,这里我直接改成当存在中毒和灼伤,不显示其它的异常伤害字体(伤害正常结算)
IP属地:广西
来自
Android客户端
2楼
2025-12-21 14:34
回复
收起回复
2026-02-23 17:15:31
广告
不感兴趣
开通SVIP免广告
长毛蓝妖兔
深渊之门
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
IP属地:广西
3楼
2025-12-21 14:36
回复
收起回复
长毛蓝妖兔
深渊之门
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
function onSetHp_appendage_monster(appendage, hp, attacker)
{
local parentObj = appendage.getParent();
if(!parentObj) return hp;
local newHpDamage = parentObj.getHp() - hp;
if(newHpDamage <= 0) return hp;
// ====== CONFIGURATION ======
local DAMAGE_INTERVAL = 50; // 毫秒伤害触发间隔
local ACTUAL_DAMAGE_MULTIPLIER = 5; // 实际伤害倍数
local DISPLAY_DAMAGE_MULTIPLIER = 5; // 显示伤害倍数
local DISPLAY_INTERVAL = 1000; // 毫秒汇总显示一次
// ===========================
local currTime = appendage.getTimer().Get();
// 检查当前存在哪些状态
local hasPoison = sq_IsValidActiveStatus(parentObj, ACTIVESTATUS_POISON);
local hasBurn = sq_IsValidActiveStatus(parentObj, ACTIVESTATUS_BURN);
local hasBleeding = sq_IsValidActiveStatus(parentObj, ACTIVESTATUS_BLEEDING);
local hasShock = sq_IsValidActiveStatus(parentObj, ACTIVESTATUS_LIGHTNING);
local hasStone = sq_IsValidActiveStatus(parentObj, ACTIVESTATUS_STONE);
// 检查是否有中毒或烧伤
local hasPoisonOrBurn = hasPoison || hasBurn;
// === Poison ===
if(!attacker && hasPoison)
{
if(appendage.getVar("poisonAtkTime") == null)
appendage.setVar("poisonAtkTime", sq_GetGlobalIntVector());
if(appendage.getVar("poisonDamageTotal") == null)
appendage.setVar("poisonDamageTotal", sq_GetGlobalIntVector());
if(appendage.getVar("poisonDisplayTime") == null)
appendage.setVar("poisonDisplayTime", sq_GetGlobalIntVector());
local lastPoisonAtkTime = appendage.getVar("poisonAtkTime").getInt(0);
local poisonDamageTotal = appendage.getVar("poisonDamageTotal").getInt(0);
local lastPoisonDisplay = appendage.getVar("poisonDisplayTime").getInt(0);
if(currTime - lastPoisonAtkTime > DAMAGE_INTERVAL)
{
appendage.getVar("poisonAtkTime").setInt(0, currTime);
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
local actualPoisonDamage = newHpDamage * ACTUAL_DAMAGE_MULTIPLIER;
hp -= applyAddHpDamage(obj, actualPoisonDamage);
local displayPoisonDamage = newHpDamage * DISPLAY_DAMAGE_MULTIPLIER;
poisonDamageTotal += displayPoisonDamage;
appendage.getVar("poisonDamageTotal").setInt(0, poisonDamageTotal);
}
if(currTime - lastPoisonDisplay >= DISPLAY_INTERVAL)
{
appendage.getVar("poisonDisplayTime").setInt(0, currTime);
if(poisonDamageTotal > 0)
{
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
local x = parentObj.getXPos();
local y = parentObj.getYPos() - parentObj.getZPos() - (parentObj.getObjectHeight()/2) - 50;
sq_BinaryStartWrite();
sq_BinaryWriteByte(0);
sq_BinaryWriteByte(1);
sq_BinaryWriteWord(x);
sq_BinaryWriteWord(y);
sq_BinaryWriteDword(poisonDamageTotal);
sq_SendChangeSkillEffectPacket(obj, 169);
appendage.getVar("poisonDamageTotal").setInt(0, 0);
}
}
}
// === Burn ===
if(!attacker && hasBurn)
{
if(appendage.getVar("burnAtkTime") == null)
appendage.setVar("burnAtkTime", sq_GetGlobalIntVector());
if(appendage.getVar("burnDamageTotal") == null)
appendage.setVar("burnDamageTotal", sq_GetGlobalIntVector());
if(appendage.getVar("burnDisplayTime") == null)
appendage.setVar("burnDisplayTime", sq_GetGlobalIntVector());
local lastBurnAtkTime = appendage.getVar("burnAtkTime").getInt(0);
local burnDamageTotal = appendage.getVar("burnDamageTotal").getInt(0);
local lastBurnDisplay = appendage.getVar("burnDisplayTime").getInt(0);
if(currTime - lastBurnAtkTime > DAMAGE_INTERVAL)
{
appendage.getVar("burnAtkTime").setInt(0, currTime);
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
local actualBurnDamage = newHpDamage * ACTUAL_DAMAGE_MULTIPLIER;
hp -= applyAddHpDamage(obj, actualBurnDamage);
local displayBurnDamage = newHpDamage * DISPLAY_DAMAGE_MULTIPLIER;
burnDamageTotal += displayBurnDamage;
appendage.getVar("burnDamageTotal").setInt(0, burnDamageTotal);
}
if(currTime - lastBurnDisplay >= DISPLAY_INTERVAL)
{
appendage.getVar("burnDisplayTime").setInt(0, currTime);
// 中毒和烧伤同时存在时,不显示烧伤
if(burnDamageTotal > 0 && !hasPoison) // 只有没有中毒时才显示烧伤
{
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
local x = parentObj.getXPos();
local y = parentObj.getYPos() - parentObj.getZPos() - (parentObj.getObjectHeight()/2) - 50;
sq_BinaryStartWrite();
sq_BinaryWriteByte(0);
sq_BinaryWriteByte(1);
sq_BinaryWriteWord(x);
sq_BinaryWriteWord(y);
sq_BinaryWriteDword(burnDamageTotal);
sq_SendChangeSkillEffectPacket(obj, 169);
}
// 清除累计伤害
appendage.getVar("burnDamageTotal").setInt(0, 0);
}
}
// === Bleeding ===
if(!attacker && hasBleeding)
{
// 如果有中毒或烧伤,就不处理出血的显示
if(!hasPoisonOrBurn) // 只有没有中毒和烧伤时才处理出血
{
if(appendage.getVar("bleedAtkTime") == null)
appendage.setVar("bleedAtkTime", sq_GetGlobalIntVector());
if(appendage.getVar("bleedDisplayTime") == null)
appendage.setVar("bleedDisplayTime", sq_GetGlobalIntVector());
local lastBleedAtkTime = appendage.getVar("bleedAtkTime").getInt(0);
local lastBleedDisplay = appendage.getVar("bleedDisplayTime").getInt(0);
if(currTime - lastBleedAtkTime > 50)
{
appendage.getVar("bleedAtkTime").setInt(0, currTime);
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
local bleedDamage = newHpDamage;
hp -= applyAddHpDamage(obj, bleedDamage);
if(currTime - lastBleedDisplay > 500)
{
appendage.getVar("bleedDisplayTime").setInt(0, currTime);
local x = parentObj.getXPos();
local y = parentObj.getYPos() - parentObj.getZPos() - (parentObj.getObjectHeight()/2) - 50;
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
sq_BinaryStartWrite();
sq_BinaryWriteByte(0);
sq_BinaryWriteByte(1);
sq_BinaryWriteWord(x);
sq_BinaryWriteWord(y);
sq_BinaryWriteDword(bleedDamage);
sq_SendChangeSkillEffectPacket(obj, 169);
}
}
}
}
// === Shock ===
if(!attacker && hasShock)
{
// 如果有中毒或烧伤,就不处理感电的显示
if(!hasPoisonOrBurn) // 只有没有中毒和烧伤时才处理感电
{
if(appendage.getVar("shockAtkTime") == null)
appendage.setVar("shockAtkTime", sq_GetGlobalIntVector());
if(appendage.getVar("shockDisplayTime") == null)
appendage.setVar("shockDisplayTime", sq_GetGlobalIntVector());
local lastShockAtkTime = appendage.getVar("shockAtkTime").getInt(0);
local lastShockDisplay = appendage.getVar("shockDisplayTime").getInt(0);
if(currTime - lastShockAtkTime > 50)
{
appendage.getVar("shockAtkTime").setInt(0, currTime);
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
local shockDamage = newHpDamage;
hp -= applyAddHpDamage(obj, shockDamage);
if(currTime - lastShockDisplay > 500)
{
appendage.getVar("shockDisplayTime").setInt(0, currTime);
local x = parentObj.getXPos();
local y = parentObj.getYPos() - parentObj.getZPos() - (parentObj.getObjectHeight()/2) - 50;
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
sq_BinaryStartWrite();
sq_BinaryWriteByte(0);
sq_BinaryWriteByte(1);
sq_BinaryWriteWord(x);
sq_BinaryWriteWord(y);
sq_BinaryWriteDword(shockDamage);
sq_SendChangeSkillEffectPacket(obj, 169);
}
}
}
}
// === Stone ===
if(!attacker && hasStone)
{
// 如果有中毒或烧伤,就不处理石化的显示
if(!hasPoisonOrBurn) // 只有没有中毒和烧伤时才处理石化
{
if(appendage.getVar("stoneAtkTime") == null)
appendage.setVar("stoneAtkTime", sq_GetGlobalIntVector());
if(appendage.getVar("stoneDisplayTime") == null)
appendage.setVar("stoneDisplayTime", sq_GetGlobalIntVector());
local lastStoneAtkTime = appendage.getVar("stoneAtkTime").getInt(0);
local lastStoneDisplay = appendage.getVar("stoneDisplayTime").getInt(0);
if(currTime - lastStoneAtkTime > 50)
{
appendage.getVar("stoneAtkTime").setInt(0, currTime);
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
local stoneDamage = newHpDamage;
hp -= applyAddHpDamage(obj, stoneDamage);
if(currTime - lastStoneDisplay > 500)
{
appendage.getVar("stoneDisplayTime").setInt(0, currTime);
local x = parentObj.getXPos();
local y = parentObj.getYPos() - parentObj.getZPos() - (parentObj.getObjectHeight()/2) - 50;
local obj = sq_GetCNRDObjectToSQRCharacter(sq_getMyCharacter());
sq_BinaryStartWrite();
sq_BinaryWriteByte(0);
sq_BinaryWriteByte(1);
sq_BinaryWriteWord(x);
sq_BinaryWriteWord(y);
sq_BinaryWriteDword(newHpDamage);
sq_SendChangeSkillEffectPacket(obj, 169);
}
}
}
}
return hp;
}
IP属地:广西
4楼
2025-12-21 14:37
回复
收起回复
长毛蓝妖兔
深渊之门
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
为了优化性能,原游戏是10毫秒检测一次,我改成50毫秒一次,同时放大五倍伤害,刚好等于每10毫秒判定一次。
IP属地:广西
来自
Android客户端
5楼
2025-12-21 14:40
回复
收起回复
1
异界之门
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
旁边白色的字体是从哪里调出来 大佬 为啥我的璀璨就没有
IP属地:湖南
来自
Android客户端
6楼
2025-12-21 16:29
回复
收起回复
不可一世暴躁猫
觉醒之心
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
跟大佬之前分享的有啥也区别么?
IP属地:辽宁
来自
iPhone客户端
7楼
2025-12-22 09:05
回复
收起回复
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧热议榜
1
孝出强大,女儿拿亲爹玩梗
2300220
2
汕头酒店割韭菜,文旅被坑惨
2255098
3
游戏机被没收,男孩枪杀养父
2140824
4
谷爱凌稳坐世一滑,黑子沉默
1932903
5
LCK杯票价暴跌,黄牛上天台
1381224
6
岛国自卫队经商,军人集体下海
1228775
7
款未进账?等等党原地跳脚
1036248
8
彻底凉!日本断绝大鹅对话
759322
9
夺冠劲敌!猎鹰锁定蜜蜂死穴
732600
10
冬奥5金收官,吧友评含金量
599004
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示