代码函数写法如下:从备注看是有写了避免冲突的代码,但是好像。。。没解决上述问题~
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() );
}
}
}
}