Hướng dẫn làm 1 số passive skill trong Dota

Thảo luận trong 'World Editor' bắt đầu bởi A.G, 20/7/08.

  1. lucifekit

    lucifekit The Warrior of Light

    Tham gia ngày:
    25/2/06
    Bài viết:
    2,344
    Lỡ 2 hay 20,200 hero có counter helix thì sao,trong lúc 1 hero counter thì trong 0.6s sau đó ko hero nào counter được à?
     
  2. strongwindp

    strongwindp Mr & Ms Pac-Man

    Tham gia ngày:
    13/8/08
    Bài viết:
    144
    ủa ani attack là nó attack kiểu nào vậy ?mình đang muốn ani đâm kiếm của blademaseter.dù sao cũng thanks bạn nhìu
     
  3. strongwindp

    strongwindp Mr & Ms Pac-Man

    Tham gia ngày:
    13/8/08
    Bài viết:
    144
    Sẵn tiện cho mình hỏi làm sao để cho unit dash(lướt)
     
  4. YAN[asian]

    YAN[asian] Mario & Luigi

    Tham gia ngày:
    27/3/07
    Bài viết:
    812
    Hướng dẫn mình tạo skill Multicast 1 spell bất kì nhé (x% cast x lần spell x), cụ thể vào nhé :).
     
  5. lucifekit

    lucifekit The Warrior of Light

    Tham gia ngày:
    25/2/06
    Bài viết:
    2,344
    Muốn tạo skill Multicast cho bất kì skill nào bạn cần :
    +1 dummy unit<model _none.mdl>
    +1 unit ability giống y hệt ability của hero,khác mỗi cái nó là ability của unit thôi.
    Trong dota thì multicast hình như là base trên chiêu engineer upgrade ,có bao nhiều lv thì phải tạo bấy nhiêu abilities tương ứng<hơi mệt>

    Ví dụ như trong skill này chẳng hạn,học 1 skill MC thì có 30% khả năng cast 2 lần.

    a
    Mã:
        a
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Level of MultiCast for (Triggering unit)) Greater than or equal to 1
        Actions
            Set TempLv = (Level of MultiCast for (Triggering unit))
            Set TempLoc = (Position of (Triggering unit))
            Set TempUnit = (Target unit of ability being cast)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    TempLv Equal to 1//MC có nhiêu lv thì có bây nhiêu cái iF này và có bây nhiêu skill đi kèm.
                Then - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Random integer number between 1 and 100) Less than or equal to 30//30% cơ hội multicast.
                        Then - Actions
                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                If - Conditions
                                    (Ability being cast) Equal to Firebolt (Warlock)
                                Then - Actions
                                    For each (Integer A) from 1 to (TempLv + 1), do (Actions)
                                        Loop - Actions
                                            Unit - Create 1 Dummy Unit for (Owner of (Triggering unit)) at TempLoc facing Default building facing degrees
                                            Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
                                            Unit - Add Firebolt (Neutral Hostile) to (Last created unit)
                                            Unit - Set level of Firebolt (Neutral Hostile) for (Last created unit) to (Level of Firebolt (Warlock) for (Triggering unit))
                                            Unit - Order (Last created unit) to Neutral - Firebolt TempUnit
                                Else - Actions
                        Else - Actions
                Else - Actions
            Custom script:   call RemoveLocation(udg_TempLoc)
    
    
     
  6. YAN[asian]

    YAN[asian] Mario & Luigi

    Tham gia ngày:
    27/3/07
    Bài viết:
    812
    Uhm...vậy bây giờ thế này : Mình có 1 chiêu Nova như sau :
    lvl1 - 100% cast 1 lần Nova 100 dam
    lvl2 - 50% cast 1 lần Nova, 50% cast 2 lần Nova
    lvl3 - 50% cast 2 lần Nova, 50% cast 3 lần Nova
    lvl4 - 50% cast 3 lần Nova, 50% cast 4 lần Nova
    (Mỗi lần Nova cách nhau 0.01s, khi xảy ra 50% ở vế sau thì có dòng chữ Super Nova!! màu xanh bay lên)
    thì làm thế nào? ::)
     
  7. dante cvn

    dante cvn Donkey Kong

    Tham gia ngày:
    30/4/07
    Bài viết:
    311
    Nơi ở:
    VietNam
    Mấy anh chỉ em cách làm Omnislash chiêu cuối của Jungernault dc không.Chỉ kĩ giùm em nhé.
     
  8. doan_hao15

    doan_hao15 Youtube Master Race

    Tham gia ngày:
    28/8/10
    Bài viết:
    63
    Các bác ơi ai biết làm skill 2 "Stone gaint" cua Tiny ko? Làm ơn giúp em với. Thank!
     
  9. tunghamtien

    tunghamtien Youtube Master Race

    Tham gia ngày:
    30/6/09
    Bài viết:
    79
    Wa topic post spell hay topic hỏi đáp mà hỏi . Mà skill 2 là toss hả ?
     
  10. dh-g

    dh-g Fire in the hole!

    Tham gia ngày:
    29/8/09
    Bài viết:
    2,654
    Nơi ở:
    Q1 TP.HCM
    @A.G
    cái lệnh
    [​IMG]
    sau cùng thì mình ê là bị lỗi cái này
    If (((Triggering unit) is alive) Equal to True) then do (Animation - Reset (Triggering unit)'s animation) else do (Do nothing)
    bạn xài từ Triggering unit làm giá trị ví dụ là Triggering_unit[-max number of player = Triggering unit]
    đặt giá trị trước cho nó chắc hơn chứ ví dụ mình xài Triggering unit đễ lỗi lắm,
    Triggering unit chỉ xài cho lợi ích không có wait nếu có wait sẽ gây ra lỗi nghiêm trọng :-??
     
  11. canhchua1

    canhchua1 Youtube Master Race

    Tham gia ngày:
    19/8/10
    Bài viết:
    19
    ai làm cho em 1 cái skils
    20% xác xuất
    ai đánh mình bị stun kẻ nó với :((
     
  12. Ice_water

    Ice_water Dragon Quest

    Tham gia ngày:
    11/1/07
    Bài viết:
    1,457
    Đọc #1 ko hiểu gì à ?????
     
  13. frostwyrm_9x

    frostwyrm_9x Mr & Ms Pac-Man

    Tham gia ngày:
    12/7/09
    Bài viết:
    190
    Nơi ở:
    Warcraft III
    spell này về effect và về bug thì dota hok bằng đc :))
    ngại cóp code, vô map demo xem nha
    View attachment Omnislash.rar
     
  14. [Yami]

    [Yami] Donkey Kong

    Tham gia ngày:
    29/12/07
    Bài viết:
    313
    Nơi ở:
    Ha Noi, Vietnam,
    Góp ý, tại sao không cải tiến mấy skill của Counter Helix cho nó thành là chỉ Triggering khi Takes Damage ? Kiểu Is Attacked thấy kiểu gì ý.
    Btw, hình như add hero skills cho Unit không phải Hero được đúng không ạ ?
     
  15. doan_hao15

    doan_hao15 Youtube Master Race

    Tham gia ngày:
    28/8/10
    Bài viết:
    63
    Đây là skill Toss của tiny trong dota mà em kiếm được từ map demo:
    Mã:
    function Trig_Toss_Conditions takes nothing returns boolean
        return GetSpellAbilityId() == 'A004'        
    endfunction
    
    function Toss_Unit_Group takes nothing returns boolean 
     if ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_ANCIENT) == true ) then  
     return false 
     endif 
     if IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) then 
     return false 
     elseif IsUnitType(GetFilterUnit(), UNIT_TYPE_FLYING) then 
     return false 
     elseif GetFilterUnit() == GetSpellAbilityUnit() then 
     return false 
     elseif IsUnitDeadBJ(GetFilterUnit()) then 
     return false 
     endif 
    return true
    endfunction
    
    function Toss_Destroy_Trees takes nothing returns nothing
        call KillDestructable( GetEnumDestructable() )
    endfunction
    
    function TossFX takes nothing returns nothing
    local effect f= bj_lastCreatedEffect
    call TriggerSleepAction(0.4)
    call DestroyEffect(f)
    set f=null
    endfunction
    
    function Toss_Movement takes nothing returns nothing
    local timer t=GetExpiredTimer()
    local unit u=GetHandleUnit(t,"t")
    local real b=GetHandleReal(t,"r")
    local real n=GetHandleReal(t,"n")
    local real d=GetHandleReal(t,"d")
    local location l=GetHandleLocation(t,"l")
    local real x=-d+(d*(b/50))
    local location m=PolarProjectionBJ(l,x,n)
    local real y=((b-25)*(b-25))
    call SetUnitPositionLoc(u,m)
    call SetUnitFlyHeight( u, ( 775-y ) , 10000.00 )
    if GetRandomInt(1,4)==2 then
    call AddSpecialEffectTargetUnitBJ( "origin", u, "Abilities\\Spells\\Undead\\Cripple\\CrippleTarget.mdl" )
    call TriggerExecute(gg_trg_DestroyFX)
    endif
    set b=b+1
    call SetHandleReal(t,"r",b)
    set t=null
    set u=null
    set b=0
    set n=0
    set d=0
    set l=null
    set x=0
    call RemoveLocation(m)
    set m=null
    set y=0
    endfunction
    
    function Trig_Toss_Actions takes nothing returns nothing
    local group g=CreateGroup()
    local unit c=GetTriggerUnit()
    local unit a=null
    local location l=GetSpellTargetLoc()
    local timer t=null
    local real b=1
    local real d=0
    local real n=0
    call GroupEnumUnitsInRange(g,GetUnitX(c),GetUnitY(c),275,Condition(function Toss_Unit_Group))
    set a=GroupPickRandomUnit(g)
    call GroupClear(g)
    if a!=null then    
        call SetUnitAnimationByIndex(c,4)
        call PauseUnitBJ( true, a )
        call SetUnitPathing( a, false )
        call SetUnitFacingToFaceLocTimed( a, l, 0 )
        call UnitAddAbilityBJ( 'A002', a )
        call UnitRemoveAbilityBJ( 'A002', a )    
        set t=CreateTimer()
        call SetHandleHandle(t,"t",a)
        call SetHandleReal(t,"r",b)    
        set d = DistanceBetweenPoints(GetUnitLoc(c), l)
        set n= AngleBetweenPoints(GetUnitLoc(c), l)
        call SetHandleReal(t,"d",d)
        call SetHandleReal(t,"n",n)
        call SetHandleHandle(t,"l",l)   
        call TimerStart(t,0.02,true,function Toss_Movement)
        call TriggerSleepAction(1.0)
        call RemoveLocation(l)
        set l=GetHandleLocation(t,"l")
        call RemoveLocation(l)
        call FlushHandleLocals(t)
        call PauseTimer(t)
        call DestroyTimer(t)
        call SetUnitFlyHeightBJ( a, GetUnitDefaultFlyHeight(a), 10000.00 )
        call PauseUnitBJ( false, a )
        call SetUnitPathing( a, true )    
        set l=GetUnitLoc(a)
        call DestroyEffect(AddSpellEffectByIdLoc('A0BZ', EFFECT_TYPE_TARGET, l))
        call TerrainDeformationRippleBJ( 0.2, true, l, 1.00, 300.00, 96.00, 1, 64.00 )
        call UnitDamageTargetBJ( c, a, 38.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION )
        set g = GetUnitsInRangeOfLocAll(300.00, l)
        loop
            set a = FirstOfGroup(g)
            exitwhen a == null
            call GroupRemoveUnit(g,a)
            call UnitDamageTargetBJ( c, a, 75.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION )     
        endloop
        call EnumDestructablesInCircleBJ( 300,l , function Toss_Destroy_Trees )
        call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl",GetLocationX(l),GetLocationY(l)))
    endif
    call DestroyGroup(g)
    set g=null
    set c=null
    set a=null
    call RemoveLocation(l)
    set l=null
    set t=null
    set b=0
    set n=0
    set d=0
    endfunction
    
    //===========================================================================
    function InitTrig_Toss takes nothing returns nothing
        set gg_trg_Toss = CreateTrigger(  )
        call TriggerRegisterAnyUnitEventBJ( gg_trg_Toss, EVENT_PLAYER_UNIT_SPELL_EFFECT )
        call TriggerAddCondition( gg_trg_Toss, Condition( function Trig_Toss_Conditions ) )
        call TriggerAddAction( gg_trg_Toss, function Trig_Toss_Actions )
    endfunction
    
    
    Nhưng nó lại sử dụng ngôn ngữ Jass. Em chịu. Vậy liệu có thể dịch nó sang ngôn ngữ trong WE không? Nếu có thể thì dịch giúp em nha. Thank trước.:P
     
  16. frostwyrm_9x

    frostwyrm_9x Mr & Ms Pac-Man

    Tham gia ngày:
    12/7/09
    Bài viết:
    190
    Nơi ở:
    Warcraft III
    Ngôn ngữ WE là ngôn ngữ ????
    Muốn chuyển sang trigger thì có spell Toss của anh Tom làm nè View attachment Toss.rar
     
  17. thanhruoi

    thanhruoi Mr & Ms Pac-Man

    Tham gia ngày:
    25/5/07
    Bài viết:
    108
    Các anh hướng dẫn em làm mấy cái passive aura thành active được không ?
     
  18. dh-g

    dh-g Fire in the hole!

    Tham gia ngày:
    29/8/09
    Bài viết:
    2,654
    Nơi ở:
    Q1 TP.HCM
    pastive = active a` ?
    cái này hơi không hiểu
    aura đã là passtive lâu rùi
    bạn định làm cho nó = active à ?
    thì xài 1 skils = bonus vào pick untis thôi
    còn việc pastive = active thì hơi khó 1 chút có thể làm dc.
     
  19. thanhruoi

    thanhruoi Mr & Ms Pac-Man

    Tham gia ngày:
    25/5/07
    Bài viết:
    108
    Tức là làm aura giống nhủ Immolation ấy. Khi active mới có tác dụng nhưng sẽ drain mana.
     
  20. frostwyrm_9x

    frostwyrm_9x Mr & Ms Pac-Man

    Tham gia ngày:
    12/7/09
    Bài viết:
    190
    Nơi ở:
    Warcraft III
    dùng cái ability spell book rồi add cái ability aura ấy vào
     

Chia sẻ trang này