找回密码
 点一下
查看: 1773|回复: 11

求一个带残像攻击的技能。

[复制链接]
发表于 2009-5-24 13:37:06 | 显示全部楼层 |阅读模式
记得看国外的一个图里,有个印象比较深刻的技能
就是一个纳加皇家守卫,释放一个技能后,动作带有残像,大概5个左右,然后攻击目标,目标受到的伤害就是1+5次。
请问这个技能用T的做法...

另外还有个构思就是跟上面差不多
不过就是释放技能
像震荡波,然后残像略带延迟的跟着放5个震荡波,最好能弄成不一样的...就是6个单位释放出来的投掷物都不同~
发表于 2009-5-24 13:43:17 | 显示全部楼层
不太明白楼主想说什么
回复

使用道具 举报

发表于 2009-5-24 13:45:31 | 显示全部楼层
残像参考WOW8编辑器自带功能
第二个lz都说出来了,自己懒得做没人愿意打工
回复

使用道具 举报

 楼主| 发表于 2009-5-24 13:49:41 | 显示全部楼层
就是用个技能后,这个单位就多了很多类似残像的东西,然后攻击的话残像也会跟着攻击,移动也是。
然后每个残像动作间有一点延迟。
有点像少年街霸3里的V-ism模式的爆气....
回复

使用道具 举报

发表于 2009-5-24 13:50:47 | 显示全部楼层
幻影跟随
[jass]
//***************************************************************************
//* Shadows Follow Unit                                                     *
//* Edit by feelerly,Provide by 暗月之舞                                    *
//* 2008.01.28                                                              *
//***************************************************************************
// 开启之个功能,当单位移动时,可以创建幻影跟随单位,这个功能需要支撑函数.
function StopTimerShadowForUnit takes timer t returns nothing
    call Debug( "StopShadowRun" )
    call FlushHandleValue( t )
    call DestroyTimer( t )
endfunction

function TimerShadowForUnitActions takes nothing returns nothing
    local integer a = 0
    local unit u = GetHandleUnit( GetExpiredTimer(), "Unit")
    local unit n = null
    if IsUnitMoved(u)==true then
        set n = CreateUnit( GetOwningPlayer(u),GetHandleInteger( GetExpiredTimer(), "Unit" ),GetHandleReal( u, "UnitX" ),GetHandleReal( u, "UnitY" ),GetUnitFacing(u))
        call ShodowTransparency( n, 160 )
        call SetUnitPathing( n, false )
        call PauseUnit( n, true )
        call SetUnitAnimationByIndex( n, GetHandleInteger( GetExpiredTimer(), "Index" ) )
        call SetUnitTimeScale( n, 0.618 )
        call UnitApplyTimedLife( n, 'BHwe', 5.00 )
        call SetUnitX( n, GetHandleReal( u, "UnitX" ) )
        call SetUnitY( n, GetHandleReal( u, "UnitY" ) )
        if GetUnitFlyHeight(u) != 0.00 then
            call UnitAddAbility(n, 'Arav' )
            call UnitRemoveAbility( n, 'Arav' )
            call SetUnitFlyHeight( n, GetUnitFlyHeight(u), 0.00 )
        endif
        call RecoredUnitPosition( u )
        set n = null
    endif
    if GetUnitState(u,UNIT_STATE_LIFE) == 0.00 or GetHandleReal( GetExpiredTimer(), "Limit" ) >= GetHandleReal( GetExpiredTimer(), "Real" ) then
        call StopTimerShadowForUnit( GetExpiredTimer() )
    else
        call SetHandleReal( GetExpiredTimer(), "Limit", GetHandleReal( GetExpiredTimer(), "Limit" )+TimerGetTimeout(GetExpiredTimer()) )
    endif
    set u = null
    set n = null
endfunction
function TimerShadowForUnit takes integer c,integer id, integer an, unit u, real ti, real lt returns nothing
    local timer t = null
    if  GetUnitState(u,UNIT_STATE_LIFE) > 0.00 and id != 0 and ti > 0.01 and lt >= ti then
        call RecoredUnitPosition( u )
        set t = CreateTimer()
        call SetHandleInteger( t, "Unit", id )
        call SetHandleHandle( t, "Unit", u )
        call SetHandleInteger( t, "Index", an )
        call SetHandleReal( t, "Real", lt )
        call SetHandleHandle( u, "ShadowTimer", t )
        call TimerStart( t, ti, true, function TimerShadowForUnitActions )
        set bj_lastStartedTimer = t
    else
        call Debug("Hero is fialed!")
        call StopTimerShadowForUnit( t )
    endif
    set t = null
endfunction[/jass]
这段代码需要用ReturnBUG+GCSystem的支持
回复

使用道具 举报

 楼主| 发表于 2009-5-24 13:51:16 | 显示全部楼层
引用第2楼lunaflywar于2009-05-24 13:45发表的  :
残像参考WOW8编辑器自带功能
第二个lz都说出来了,自己懒得做没人愿意打工
我只是知道大概怎么回事,我才接触WE半个月,很多东西还都是自己学来的,我尝试了几次都没办法实现
回复

使用道具 举报

 楼主| 发表于 2009-5-24 13:53:02 | 显示全部楼层
引用第4楼lunaflywar于2009-05-24 13:50发表的  :
幻影跟随
[code]
//***************************************************************************
//* Shadows Follow Unit                                                     *
//* Edit by feelerly,Provide by 暗月之舞                                    *
.......

我现在完全看不懂这个东西啊.. 才刚刚进入了解T的阶段..
回复

使用道具 举报

发表于 2009-5-24 13:55:20 | 显示全部楼层
如果是用T,还是别做了
就算做出来了也是单人的,而且地图会卡,而且要用到N多个触发器+N多泄露
回复

使用道具 举报

 楼主| 发表于 2009-5-24 13:58:13 | 显示全部楼层
沮丧啊....这么难么


那第2个呢 仅仅释放技能的应该没问题吧?
回复

使用道具 举报

发表于 2009-5-24 14:02:33 | 显示全部楼层
第二个的T
第一个T
事件-单位释放技能
条件-释放技能=震荡波
动作-设置变量H[触发单位所有者的玩家索引]=触发单位
动作-设置变量IT[触发单位所有者的玩家索引]=1
动作-开启计时器T[触发单位所有者的玩家索引]=,周期0.1,循环计时

第二个T(每个玩家对应一个,这里是玩家1)
事件-T[0]=到期
动作-if   IT[0]<=5  then
        -设置变量U[0]=新建马甲在H[0]所在点面向H[0]面向角度
    -发布震荡波命令对U[0]
        -else
       -暂停T[0]
       -endif

全局变量数组H 单位,U 单位,T 计时器,IT 整数

0排泄
回复

使用道具 举报

发表于 2009-5-24 15:11:05 | 显示全部楼层
用我这个UI吧,里面有T版的幻影跟随模版

在wow8精选功能的单位移动时············


WOW8_WorldEdit_Com.rar (4.48 MB, 下载次数: 45)
回复

使用道具 举报

 楼主| 发表于 2009-5-25 13:00:58 | 显示全部楼层
谢谢你们哦。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 04:51 , Processed in 0.054862 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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