找回密码
 点一下
查看: 1060|回复: 8

为什么捕捉不到灵魂锁链的效果?

[复制链接]
发表于 2009-5-18 11:02:19 | 显示全部楼层 |阅读模式
用条件判断来捕捉一定范围内拥有灵魂锁链效果的单位时发现无法捕捉,而捕捉拥有光环的单位则不会出现捕捉不到的问题,是说灵魂锁链这个魔法效果比较特殊吗?
发表于 2009-5-18 11:13:17 | 显示全部楼层
你捕捉的时机是什么呢?
回复

使用道具 举报

发表于 2009-5-18 11:14:46 | 显示全部楼层
没有你说的问题

刚刚测试,一切正常
回复

使用道具 举报

发表于 2009-5-18 12:23:53 | 显示全部楼层
1楼正解
回复

使用道具 举报

 楼主| 发表于 2009-5-18 21:55:39 | 显示全部楼层
[codes=jass]function Trig_JSlinghunlian_Func003001 takes nothing returns boolean
    return ( GetSpellAbilityId() == 'Aspl' )
endfunction

function Trig_JSlinghunlian_Func003002 takes nothing returns boolean
    return ( GetUnitAbilityLevel(GetTriggerUnit(), 'Aspl') == 8 )
endfunction

function Trig_JSlinghunlian_Conditions takes nothing returns boolean
    if ( not GetBooleanAnd( Trig_JSlinghunlian_Func003001(), Trig_JSlinghunlian_Func003002() ) ) then
        return false
    endif
    return true
endfunction

function Trig_JSlinghunlian_Func002001003001 takes nothing returns boolean
    return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction

function Trig_JSlinghunlian_Func002001003002 takes nothing returns boolean
    return ( UnitHasBuffBJ(GetFilterUnit(), 'Bspl') == true )
endfunction

function Trig_JSlinghunlian_Func002001003 takes nothing returns boolean
    return GetBooleanAnd( Trig_JSlinghunlian_Func002001003001(), Trig_JSlinghunlian_Func002001003002() )
endfunction

function Trig_JSlinghunlian_Func002A takes nothing returns nothing
    call UnitAddAbility( GetEnumUnit() , 'A01C' )
endfunction

function Trig_abc takes nothing returns nothing
    call UnitRemoveAbility( GetEnumUnit() , 'A01C' )
endfunction

function Trig_JSlinghunlian_Actions takes nothing returns nothing
    local location a
    local unit b
    local group c
    set b = GetSpellTargetUnit()
    set a = GetUnitLoc( b )
    set c = GetUnitsInRangeOfLocMatching(800.00, a , Condition(function Trig_JSlinghunlian_Func002001003))
    call TriggerSleepAction( 0.30 )
    call ForGroupBJ( c , function Trig_JSlinghunlian_Func002A )
    call TriggerSleepAction( 20.00 )
    call ForGroupBJ( c , function Trig_abc )
    call DestroyGroup( c )
    call RemoveLocation( a )
    set b = null
endfunction

//===========================================================================
function InitTrig_JSlinghunlian takes nothing returns nothing
    set gg_trg_JSlinghunlian = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_JSlinghunlian, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_JSlinghunlian, Condition( function Trig_JSlinghunlian_Conditions ) )
    call TriggerAddAction( gg_trg_JSlinghunlian, function Trig_JSlinghunlian_Actions )
endfunction[/codes]
其中Aspl是灵魂锁链的技能ID,Bspl是灵魂锁链魔法效果,为什么这段代码没效果呢?
回复

使用道具 举报

发表于 2009-5-18 22:03:36 | 显示全部楼层
唉唉,我上面说了捕捉的时机问题

你刚刚发动技能怎么可能已经有效果了?
回复

使用道具 举报

 楼主| 发表于 2009-5-18 22:08:19 | 显示全部楼层
call TriggerSleepAction( 0.30 )把这个往上挪动就可以了?
回复

使用道具 举报

发表于 2009-5-18 22:28:22 | 显示全部楼层
这个也不一定,等待是极不精确的东西,不过你可以试试
回复

使用道具 举报

 楼主| 发表于 2009-5-18 23:04:55 | 显示全部楼层
貌似可以了……不知道如果把触发事件改成单位施放技能结束行不……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-25 15:56 , Processed in 0.034964 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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