台服dnf吧 关注:115,157贴子:1,772,116
  • 26回复贴,共1
求助

求解,nut如何避免BUFF冲突问题

只看楼主收藏回复

之前有分享过荣誉加独立和光之兵刃加魔攻独立的nut
后续测试测试过程中发现 这两个nut追加的属性会和特定buff技能冲突。
如:武器祝福会顶掉光兵的nut里的魔攻 独立增益
光之复仇会顶掉荣誉祝福的独立加成。
别的buff技能倒是不冲突,包括这两个nut的buff互相也不冲突...脑壳晕


IP属地:福建来自Android客户端1楼2023-08-24 18:22回复
    代码函数写法如下:从备注看是有写了避免冲突的代码,但是好像。。。没解决上述问题~
    CNSquirrelAppendage.sq_AppendAppendageID(masterAppendage, object, obj, SKILL_GLORIOUSBLESS, true);
    //?了不使其與別的buff技能沖突
    function GLORIOUSBLESS_Buff(obj)
    {
    local objectManager = obj.getObjectManager();
    local skill_level = sq_GetSkillLevel(obj, SKILL_GLORIOUSBLESS);
    if (skill_level <= 0)
    {
    return false;
    }
    for (local i = 0; i < objectManager.getCollisionObjectNumber(); i+=1)
    {
    local object = objectManager.getCollisionObject(i);
    if (object && !obj.isEnemy(object) && object.isObjectType(OBJECTTYPE_CHARACTER))// 遍歷非敵人的活體
    {
    try
    {
    object = sq_GetCNRDObjectToSQRCharacter(object);
    obj = sq_ObjectToSQRCharacter(obj);
    }
    catch(ex)
    {
    }
    local bufftime = sq_GetLevelData(obj, SKILL_GLORIOUSBLESS, 0, skill_level); //buff持續時間
    local masterAppendage = CNSquirrelAppendage.sq_AppendAppendage(object, obj, SKILL_GLORIOUSBLESS, false, "character/new_priest/gloriousbless/ap_gloriousbless.nut", true);
    masterAppendage.setAppendCauseSkill(BUFF_CAUSE_SKILL, sq_getJob(obj), SKILL_GLORIOUSBLESS, skill_level);
    //設置buff存在時,左下角顯示圖標。
    CNSquirrelAppendage.sq_AppendAppendageID(masterAppendage, object, obj, SKILL_GLORIOUSBLESS, true);
    //?了不使其與別的buff技能沖突
    masterAppendage.setEnableIsBuff(true);
    //masterAppendage.setBuffIconImage(128);
    masterAppendage.sq_SetValidTime(bufftime);//設置buff時間
    local change_appendage = masterAppendage.sq_getChangeStatus("gloriousbless");
    local value0 = sq_GetLevelData(obj, SKILL_GLORIOUSBLESS, 1, skill_level); //按照增加力量獲取獨立數?%
    if(!change_appendage)
    {
    change_appendage = masterAppendage.sq_AddChangeStatus("gloriousbless",object, obj, 0, 0, false, 0);
    //change_appendage = masterAppendage.sq_AddChangeStatusAppendageID(object, object, 0, CHANGE_STATUS_TYPE_PHYSICAL_ATTACK, false, 0, APID_COMMON);
    }
    if(change_appendage)
    {
    change_appendage.clearParameter();
    change_appendage.addParameter(CHANGE_STATUS_TYPE_ADDITIONAL_PHYSICAL_GENUINE_ATTACK, false, value0.tofloat() );
    change_appendage.addParameter(CHANGE_STATUS_TYPE_ADDITIONAL_MAGICAL_GENUINE_ATTACK, false, value0.tofloat() );
    }
    }
    }
    }


    IP属地:福建2楼2023-08-24 18:23
    回复
      开开心心进来,一脸懵逼出去


      IP属地:广西来自Android客户端3楼2023-08-24 20:52
      收起回复
        我记得这个是改下ap的编号别重复就行了


        IP属地:广东4楼2023-08-24 22:28
        收起回复
          啊,还有这个问题,回头试试


          IP属地:安徽来自Android客户端5楼2023-08-24 22:57
          收起回复



            IP属地:安徽6楼2023-08-26 20:33
            收起回复
              楼上正解,已解决,感谢大佬们解惑


              IP属地:福建来自Android客户端8楼2023-08-28 00:14
              收起回复
                能请教大佬、改编号是改哪个文档里的哪个编号么。十分感谢


                IP属地:重庆10楼2023-11-16 09:12
                回复