spe_core吧 关注:55贴子:3,035
  • 4回复贴,共1


IP属地:江苏1楼2014-05-04 13:17回复
    蝙蝠燃油
    主要代码(函数从下往上):
    function IB4 takes nothing returns boolean
    local trigger t=GetTriggeringTrigger()
    local integer MDI=GetHandleId(t)
    local unit TEI=(LoadUnitHandle(XY,(MDI),(2)))
    local unit TFI=(LoadUnitHandle(XY,(MDI),(17)))
    local integer M4I=(LoadInteger(XY,(GetHandleId(TFI)),(281)))
    local boolean IC4=(LoadBoolean(XY,(MDI),(280)))
    if GetTriggerEventId()==EVENT_UNIT_DEATH then
    call SetUnitTurnSpeed(TFI,GetUnitDefaultTurnSpeed(TFI))
    call SaveInteger(XY,(GetHandleId(TFI)),(281),(0))
    call FlushChildHashtable(XY,(MDI))
    call M7I(t)
    call C31(TFI,0,0)
    elseif M4I==0 then
    call SetUnitTurnSpeed(TFI,GetUnitDefaultTurnSpeed(TFI))
    call SaveInteger(XY,(GetHandleId(TFI)),(281),(0))
    call FlushChildHashtable(XY,(MDI))
    call M7I(t)
    elseif GetTriggerEventId()==EVENT_UNIT_DAMAGED and IC4==false then
    if M4I>0 and GetUnitAbilityLevel(GetEventDamageSource(),1093748044)>0 and(LoadUnitHandle(XY,(GetHandleId(GetTriggeringTrigger())),(2)))==GetEventDamageSource()then
    call SaveBoolean(XY,(MDI),(280),(true))
    if F3I then
    call DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\LordofFlameMissile\\LordofFlameMissile.mdl",TFI,"chest"))
    call TDI(TEI,TFI,1,0.5*(5+5*GetUnitAbilityLevel(TEI,1093748044))*M4I)
    elseif LP0==false and GetEventDamage()>12 then
    call DestroyEffect(AddSpecialEffectTarget("Abilities\\Weapons\\LordofFlameMissile\\LordofFlameMissile.mdl",TFI,"chest"))
    call TDI(TEI,TFI,1,(5+5*GetUnitAbilityLevel(TEI,1093748044))*M4I)
    endif
    call SaveBoolean(XY,(MDI),(280),(false))
    endif
    else
    call SetUnitTurnSpeed(TFI,GetUnitDefaultTurnSpeed(TFI)*0.3)
    endif
    set t=null
    set TEI=null
    set TFI=null
    return false
    endfunction
    function ID4 takes nothing returns boolean
    local trigger t=GetTriggeringTrigger()
    local integer MDI=GetHandleId(t)
    local unit TEI=(LoadUnitHandle(XY,(MDI),(2)))
    local unit TFI=(LoadUnitHandle(XY,(MDI),(17)))
    local real F4O=(LoadReal(XY,(GetHandleId(TFI)),(675)))
    local integer StickyCount=(LoadInteger(XY,(GetHandleId(TFI)),(281)))
    if(TimerGetElapsed(M))-F4O>=8 then
    call SetUnitTurnSpeed(TFI,GetUnitDefaultTurnSpeed(TFI))
    call SaveInteger(XY,(GetHandleId(TFI)),(281),(0))
    call C31(TFI,0,0)
    endif
    call FlushChildHashtable(XY,(MDI))
    call M7I(t)
    set t=null
    set TEI=null
    set TFI=null
    return false
    endfunction
    function IE4 takes nothing returns nothing
    local unit TEI=GetTriggerUnit()
    local unit TFI=GetEnumUnit()
    local trigger t
    local integer MDI
    local integer N5I=GetUnitAbilityLevel(TEI,1093748044)
    local integer M4I=IMinBJ((LoadInteger(XY,(GetHandleId(TFI)),(281)))+1,10)
    if SPI(TFI)then
    set TEI=null
    set TFI=null
    return
    endif
    call C31(TFI,N5I,M4I)
    call SaveInteger(XY,(GetHandleId(TFI)),(281),(M4I))
    call SaveReal(XY,(GetHandleId(TFI)),(675),(((TimerGetElapsed(M)))*1.0))
    call SetUnitTurnSpeed(TFI,GetUnitDefaultTurnSpeed(TFI)*0.3)
    if IsUnitType(TFI,UNIT_TYPE_HERO)==true then
    call PQI(GetOwningPlayer(TEI),I2S(M4I)+"!",2,TFI,0.026,50,0,255,216)
    endif
    if M4I==1 then
    set t=CreateTrigger()
    set MDI=GetHandleId(t)
    call SaveUnitHandle(XY,(MDI),(2),(TEI))
    call SaveUnitHandle(XY,(MDI),(17),(TFI))
    call SaveBoolean(XY,(MDI),(280),(false))
    call TriggerRegisterUnitEvent(t,TFI,EVENT_UNIT_DAMAGED)
    call TriggerRegisterUnitEvent(t,TFI,EVENT_UNIT_DEATH)
    call TriggerRegisterTimerEvent(t,1,true)
    call TriggerAddCondition(t,Condition(function IB4))
    endif
    set t=CreateTrigger()
    set MDI=GetHandleId(t)
    call TriggerRegisterTimerEvent(t,8,false)
    call TriggerAddCondition(t,Condition(function ID4))
    call SaveUnitHandle(XY,(MDI),(2),(TEI))
    call SaveUnitHandle(XY,(MDI),(17),(TFI))
    set t=null
    set TEI=null
    set TFI=null
    endfunction
    function IF4 takes nothing returns nothing
    local group g=M2I()
    local location l=GetSpellTargetLoc()
    local real x=GetLocationX(l)
    local real y=GetLocationY(l)
    local unit TEI=GetTriggerUnit()
    call GroupEnumUnitsInRange(g,x,y,400,Condition(function AB1))
    call ForGroup(g,function IE4)
    call QAI(GetOwningPlayer(TEI),2,x,y,500)
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x,y))
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x,y+130))
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x,y-130))
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x+130,y))
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x+130,y+130))
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x+130,y-130))
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x-130,y))
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x-130,y+130))
    call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Undead\\UndeadBlood\\UndeadBloodGargoyle.mdl",x-130,y-130))
    call RemoveLocation(l)
    call MOI(g)
    set g=null
    set l=null
    set TEI=null
    endfunction
    function IG4 takes nothing returns boolean
    if GetSpellAbilityId()==1093748044 then //使用的技能是燃油
    call IF4()
    其中C31应该是用来改变技能状态的等级


    IP属地:江苏本楼含有高级字体2楼2014-05-04 13:20
    回复
      厉害


      来自Android客户端4楼2014-07-07 01:31
      回复
        你怎么知道是c31


        IP属地:湖南来自iPhone客户端5楼2014-07-12 20:45
        收起回复