找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 985|回复: 14

分享两个小函数,剑圣二觉技能吃老buff和obj特效技能放大

[复制链接]

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
发表于 2025-2-2 12:39:51 | 显示全部楼层 |阅读模式
刚好群友在讨论这玩意,贴吧好像也没有类似的,分享给小白用
ps:大号被永封了,气死
回复

使用道具 举报

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
 楼主| 发表于 2025-2-2 12:40:36 | 显示全部楼层
一个是特效放大函数,可以就写在common.nut里面,然后在职业的procAppend里面调用,obj就需要自己用遍历工具便利了
比如
function procAppend_Fighter(obj) {
if (!obj) return;
setSkillSize(obj,21006,150);//狮子吼放大150%
}

本帖子中包含更多资源

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

×
回复

使用道具 举报

1455

主题

1万

回帖

3万

积分

登峰造极

积分
39444
发表于 2025-2-2 12:40:50 | 显示全部楼层
前排顶贴
七总牛逼,需要什么来什么,本菜鸟的福音

本帖子中包含更多资源

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

×
回复

使用道具 举报

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
 楼主| 发表于 2025-2-2 12:41:22 | 显示全部楼层
还有一个就是剑圣二觉吃到老技能buff,例如暴力抓取啊,潜能爆发啊啥的,我这么写不支持换装,而且不上buff也能有效,但是胜在简单方便嘛,单机玩肯定够了,想完美点就自己在加buff的时候加一个apd
用法就是在getSkillDamageRateIncrease函数中调用即可,没有就自己创建一个,也可以写在common.nut里面
然后调用写法
local rate = 100;
local skillString = "!,232,233,234,235,"
rate = setErJueSkillGetBuff(obj, rate, skillString, 24376, 62, 2)
rate *= 1.0;
skillString就是需要吃到增伤的技能id,24376就是剑圣二觉的特效objid,62是潜能爆发的id,2是潜能的伤害数据



本帖子中包含更多资源

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

×
回复

使用道具 举报

1477

主题

1万

回帖

4万

积分

登峰造极

积分
40198
发表于 2025-2-2 12:41:33 | 显示全部楼层
前排感谢
回复

使用道具 举报

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
 楼主| 发表于 2025-2-2 12:42:15 | 显示全部楼层
附上代码,不知道会不会抽
function setSkillSize(obj, index, eRange) {
local objCount = obj.getMyPassiveObjectCount(index);
for (local i = 0; i < objCount; ++i) {
local objFieId = obj.getMyPassiveObject(index, i);
if (!objFieId) continue;
if (objFieId.isMyControlObject()) {
local pAni = objFieId.getCurrentAnimation();
pAni.setImageRateFromOriginal(eRange, eRange);
pAni.setAutoLayerWorkAnimationAddSizeRate(eRange);
sq_SetAttackBoundingBoxSizeRate(pAni, eRange, eRange, eRange);
}
}
}
function setErJueSkillGetBuff(obj, rate, skillString, objectIndex, buffId, buffNum) {
local pSkillIndex = obj.getCurrentSkillIndex();
local Count = obj.getMyPassiveObjectCount(objectIndex);
local level = sq_GetSkillLevel(obj, buffId);
if (level <= 0) {
return rate *= 1.0;
} else if (skillString.find("," + pSkillIndex + ",")) {
local level = sq_GetSkillLevel(obj, buffId);
local value = obj.sq_GetLevelData(buffId, buffNum, level);
rate = rate + value.tofloat();
return rate *= 1.0;
}
local baseData = rate
for (local i = 0; i < Count; i++) {
local erjue = obj.getMyPassiveObject(objectIndex, i)
if (!erjue.isMyControlObject()) return false
if (erjue && erjue.isMyControlObject()) {
local level = sq_GetSkillLevel(obj, buffId);
local value = obj.sq_GetLevelData(buffId, buffNum, level);
rate = baseData + value.tofloat();
}
}
return rate *= 1.0;
}
回复

使用道具 举报

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
 楼主| 发表于 2025-2-2 12:42:30 | 显示全部楼层
然后还有个小东西,就是直接导入剑圣二觉,乌鸡的一绝不减cd了,而且二档可以无限触发,巨他妈强无敌

玩的话可以考虑修一下,在sqr/character/atfighter/appendage/ap_flamelegs.nut文件里面
onStart_appendage_atfighter_flamelegs函数和proc_appendage_atfighter_flamelegs替换掉
楼下分开放代码

本帖子中包含更多资源

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

×
回复

使用道具 举报

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
 楼主| 发表于 2025-2-2 12:43:10 | 显示全部楼层
乌鸡一绝修复,另外也建议这玩意的增伤也重写一下,也是丢在getSkillDamageRateIncrease函数里面做增伤就行了
function onStart_appendage_atfighter_flamelegs(appendage) {
if (!appendage) return;
appendage.getVar().setBool(0, false);
appendage.getVar().setBool(1, false);
local obj = appendage.getParent();
local sqrChr = sq_GetCNRDObjectToSQRCharacter(obj);
local skillLevel = sqrChr.sq_GetSkillLevel(41);
local stuck = sq_GetLevelData(sqrChr, 41, 1, skillLevel);
local change_appendage = appendage.sq_getChangeStatus("flamelegs_buff");
if (!change_appendage) {
change_appendage = appendage.sq_AddChangeStatus("flamelegs_buff", obj, obj, 0, CHANGE_STATUS_TYPE_COOLTIME_DECLINE, true, -stuck);
}
if (change_appendage) {
change_appendage.clearParameter();
change_appendage.addParameter(CHANGE_STATUS_TYPE_COOLTIME_DECLINE, true,  -stuck.tofloat());
}
};
function proc_appendage_atfighter_flamelegs(appendage) {
if (!appendage) return;
local YpaXlNk63NMAawV1szMUwYl = appendage.getParent();
if (!YpaXlNk63NMAawV1szMUwYl || appendage.getVar().getBool(0) != false || !sq_IsMyControlObject(YpaXlNk63NMAawV1szMUwYl)) return;
switch (YpaXlNk63NMAawV1szMUwYl.getState()) {
case 0:
case 8:
case 14:
YpaXlNk63NMAawV1szMUwYl = sq_GetCNRDObjectToSQRCharacter(YpaXlNk63NMAawV1szMUwYl);
if (YpaXlNk63NMAawV1szMUwYl) {
YpaXlNk63NMAawV1szMUwYl.setSkillCommandEnable(41, true);
if (YpaXlNk63NMAawV1szMUwYl.sq_IsEnterSkill(41) != -1) {
appendage.getVar().setBool(0, true);
YpaXlNk63NMAawV1szMUwYl.sq_IntVectClear();
YpaXlNk63NMAawV1szMUwYl.sq_IntVectPush(0);
YpaXlNk63NMAawV1szMUwYl.sq_AddSetStatePacket(62, STATE_PRIORITY_USER, true);
}
}
break;
}
};
回复

使用道具 举报

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
 楼主| 发表于 2025-2-2 12:43:33 | 显示全部楼层
顺便分享一下obj便利工具,有的人好像没有
6ZO+5o6l77yaaHR0cHM6Ly9wYW4uYmFpZHUuY29tL3MvMXNQTC13YWVtejRRV0ZibV9BRDR2dXc/cHdkPW05bDcgCuaPkOWPluegge+8mm05bDcg
回复

使用道具 举报

858

主题

7807

回帖

2万

积分

登峰造极

积分
26829
发表于 2025-2-2 12:43:51 | 显示全部楼层
厚礼蟹

本帖子中包含更多资源

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

×
回复

使用道具 举报

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
 楼主| 发表于 2025-2-2 12:44:42 | 显示全部楼层
上面说错了,上面的乌鸡代码只涉及到减cd,乌鸡一绝二档是在addSetStatePacket_ATFighter函数里面修改
把Kj8Cry4Jzu33x.sq_SetValidTime(2000);这一行删掉就行了

本帖子中包含更多资源

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

×
回复

使用道具 举报

1434

主题

1万

回帖

3万

积分

登峰造极

积分
39438
发表于 2025-2-2 12:44:47 | 显示全部楼层
牛蛙
回复

使用道具 举报

1489

主题

1万

回帖

3万

积分

登峰造极

积分
39751
 楼主| 发表于 2025-2-2 12:44:52 | 显示全部楼层
大佬,特效放大了能干啥呀
回复

使用道具 举报

776

主题

7469

回帖

2万

积分

登峰造极

积分
25481
发表于 2025-2-2 12:45:05 | 显示全部楼层
看不懂,但牛逼
回复

使用道具 举报

1477

主题

1万

回帖

4万

积分

登峰造极

积分
40198
发表于 2025-2-2 12:45:43 | 显示全部楼层
大佬,那没特效的技能是不是就不能用这个了,像碎霸这种的
回复

使用道具 举报

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

本版积分规则

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