技能创意:烈焰挥击
魔兽地图编辑器吧
全部回复
仅看楼主
level 7
禾洛_ 楼主
模型已发至公邮
2011年06月25日 05点06分 1
level 10
手机压力大,求T
2011年06月25日 06点06分 2
level 13
[狂汗]靠模型自重
2011年06月25日 06点06分 3
level 10
回复3楼:
色迷迷笑了
2011年06月25日 06点06分 5
level 13
好看
2011年06月25日 06点06分 6
level 7
禾洛_ 楼主
恩。看大家喜好了。因为这个英雄我做的是火系技能,所以这个技能也用火了。
2011年06月25日 06点06分 7
level 7
禾洛_ 楼主
技能代码
function azgalor_skill_04_DAMAGE takes real x, real y returns nothing
    local unit u = CreateUnit(GetOwningPlayer(udg_azgalor), 'e000', x, y, 0)
    call RemoveGuardPosition(u)
    call UnitApplyTimedLife(u, 'BHwe', 1.5)
    call UnitAddAbility(u, 'A009')
    call SetUnitAbilityLevel(u, 'A009', GMode)
    call IssuePointOrder(u, "flamestrike", x, y)
    set u = null
endfunction
function azgalor_skill_04_TIMER3 takes nothing returns nothing
    call SetUnitAnimation(udg_azgalor, "stand")
    call PauseUnit(udg_azgalor, false)
    call DestroyTimer(GetExpiredTimer())
endfunction
function azgalor_skill_04_TIMER2 takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local integer ht = GetHandleId(t)
    local unit u = LoadUnitHandle(HT, ht, 2100)
    local real angle = LoadReal(HT, ht, 2300)
    local integer step = LoadInteger(HT, ht, 2400)
    local integer step_index = LoadInteger(HT, ht, 2401)
    local integer step_index2 = LoadInteger(HT, ht, 2402)
    set step = step+1
    call SaveInteger(HT, ht, 2400, step)
    if (step <= step_index) then
        if (step <= step_index2) then
            call SetX(u, GetUnitX(u)+10*CosBJ(angle))
            call SetY(u, GetUnitY(u)+10*SinBJ(angle))
            else
            call SetX(u, GetUnitX(u)-10*CosBJ(angle))
            call SetY(u, GetUnitY(u)-10*SinBJ(angle))
        endif
        if (ModuloInteger(step, 10) == 0) then
            call azgalor_skill_04_DAMAGE(GetUnitX(u), GetUnitY(u))
        endif
        else
        call KillUnit(u)
        call SetUnitAnimation(udg_azgalor, "spell")
        call TimerStart(CreateTimer(), 1, false, function azgalor_skill_04_TIMER3)
        call FlushChildHashtable(HT, ht)
        call DestroyTimer(t)
    endif
    set u = null
    set t = null
endfunction
function azgalor_skill_04_TIMER takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local timer t2 = CreateTimer()
    local integer ht = GetHandleId(t)
    local integer ht2 = GetHandleId(t2)
    local real angle = LoadReal(HT, ht, 2300)
    local unit u = CreateUnit(GetOwningPlayer(udg_azgalor), 'e008', GetUnitX(udg_azgalor)+150*CosBJ(angle-45), GetUnitY(udg_azgalor)+150*SinBJ(angle-45), angle)
    call SaveUnitHandle(HT, ht2, 2100, u)
    call SaveReal(HT, ht2, 2300, angle)
    call SaveInteger(HT, ht2, 2400, 0)
    call SaveInteger(HT, ht2, 2401, 100)
    call SaveInteger(HT, ht2, 2402, 50)
    call TimerStart(t2, 0.02, true, function azgalor_skill_04_TIMER2)
    call FlushChildHashtable(HT, ht)
    call DestroyTimer(t)
    set u = null
    set t =null
    set t2 = null
endfunction
function azgalor_skill_04 takes real angle returns nothing
    local timer t = CreateTimer()
    local integer ht = GetHandleId(t)
    call PauseUnit(udg_azgalor, true)
    call SetUnitFacing(udg_azgalor, angle)
    call SetUnitAnimation(udg_azgalor, "spell throw")
    call SaveReal(HT, ht, 2300, angle)
    call TimerStart(t, 0.5, false, function azgalor_skill_04_TIMER)
    set t = null
endfunction
2011年06月25日 06点06分 8
level 11
[揉脸]
2011年06月25日 06点06分 9
level 10
回复8楼:
用T能做吗,我用不了J
2011年06月25日 06点06分 10
吧务
level 15
[啊!]表现效果很不错呢,虽然是靠模型
2011年06月25日 06点06分 11
level 8
T能 T觉得更简单 做过
2011年06月25日 07点06分 12
level 6
创建武器模型,然后移动,每0.3秒在xxx位置创建特效
2011年06月25日 07点06分 13
1