Topic hỏi đáp về cách làm map | version 12

Status
Không mở trả lời sau này.
Cho em hỏi, em có 1 spell khi cast nó sẽ đẩy mọi unit ra xung quanh mình nhưng nó lại đẩy xuyên núi doodad nên em ko biết làm cách nào, xin mọi người giúp dùm em :-s
Mã:
scope RejuvenationCyclone initializer OnInit
    
    globals
        private constant integer SPELL_ID = 'A07I'
//this is the spell ID (under the view tab, check view raw data and find your spell to get this)

        private constant boolean MOVE_TO_MAX = false
//if true this will move units to max range and not past it

        private constant boolean IGNORE_UNIT_PATHING = false
//if true this push will ignore unit pathing

        private constant boolean IGNORE_PATHING = false
//if this is true the push will ignore pathing period

        private constant real DURATION = 0.5
//this is the max duration of  the push, when set to 0 it will be instant

        private constant real INTERVAL = 0.02
//CAN NOT BE 0.00, this is the interval at which the push is issued, frequency relates directly with smoothness and lag

        private constant boolean STUN = true
//set to false if you dont want the units to be stunned

        private timer RCLLTIMER = CreateTimer() //DO NOT CHANGE
    endglobals
    
    struct RCLL extends array
        unit pushTarget
        real changeX
        real changeY
        integer changeCount
        
        integer next
        integer previous
        
        static integer array recycleList
        static integer lastRecycled = 0
        static integer listSize = 0
        
        private static method Allocate takes nothing returns thistype
            local integer i = RCLL.recycleList[0]
            if (i == 0) then
                set RCLL.listSize = RCLL.listSize + 1
                return RCLL.listSize
            endif
            set RCLL.recycleList[0] = RCLL.recycleList[i]
            set RCLL.recycleList[i] = 0
            return i
        endmethod
        
        static method linkUnit takes unit u, real x, real y returns nothing
            local thistype this = thistype.Allocate()
            set this.pushTarget = u
            set this.changeX = x
            set this.changeY = y
            set this.changeCount = 0
            set this.next = 0
            set this.previous = thistype[0].previous
            set thistype[thistype[0].previous].next = this
            set thistype[0].previous = this
        endmethod
    
        static method removeLink takes integer i returns nothing
            set thistype[thistype[i].previous].next = thistype[i].next
            set thistype[thistype[i].next].previous = thistype[i].previous
            set thistype.recycleList[thistype.lastRecycled] = i
            set thistype.lastRecycled = i
            set thistype.recycleList[i] = 0
        endmethod
    endstruct

    private function Core takes nothing returns nothing
        local integer i = RCLL[0].next
        local location a
        local real x
        local real y
        loop
            if RCLL[0].next == 0 then
                call PauseTimer(RCLLTIMER)
            endif
            exitwhen i == 0
            if IGNORE_UNIT_PATHING == true then
                call SetUnitPathing(RCLL[i].pushTarget, false)
            elseif IGNORE_PATHING == true then
                call SetUnitPathing(RCLL[i].pushTarget, false)
            endif
            if STUN then
                call PauseUnit(RCLL[i].pushTarget, true)
            endif
            set a = GetUnitLoc(RCLL[i].pushTarget)
            set x = GetLocationX(a)
            set y = GetLocationY(a)
            call SetUnitX(RCLL[i].pushTarget, RCLL[i].changeX + x)
            call SetUnitY(RCLL[i].pushTarget, RCLL[i].changeY + y)
            if IGNORE_PATHING == false then
            if IGNORE_UNIT_PATHING == false then
                call SetUnitPathing(RCLL[i].pushTarget, true)
            endif
            endif
            set RCLL[i].changeCount = RCLL[i].changeCount + 1
            if RCLL[i].changeCount == R2I(DURATION / INTERVAL) then
                if IGNORE_PATHING or IGNORE_UNIT_PATHING then
                    call SetUnitPathing(RCLL[i].pushTarget, true)
                endif
                if STUN then
                    call PauseUnit(RCLL[i].pushTarget, false)
                endif
                call RCLL.removeLink(i)
            endif
            set a = null
            set i = RCLL[i].next
        endloop
    endfunction
    
    private function GroupFilter takes nothing returns boolean
        local boolean bool
        set bool = not IsUnitType(GetFilterUnit(), UNIT_TYPE_MAGIC_IMMUNE)
        set bool = bool and not IsUnitType(GetFilterUnit(), UNIT_TYPE_FLYING)
        set bool = bool and not IsUnitType(GetFilterUnit(), UNIT_TYPE_MECHANICAL)
        set bool = bool and not IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE)
        set bool = bool and not IsUnitType(GetFilterUnit(), UNIT_TYPE_DEAD)
        return bool
    endfunction
    
    private function OnInitActions takes nothing returns boolean
        local real rx
        local real ry
        local group g = CreateGroup()
        local unit u
        local real x = GetUnitX(GetTriggerUnit())
        local real y = GetUnitY(GetTriggerUnit())
        local real bx
        local real by
        local real r
        if GetSpellAbilityId() == SPELL_ID then
             call GroupEnumUnitsInRange(g, x, y, 450, Filter(function GroupFilter))
             loop
                 set u = FirstOfGroup(g)
                 exitwhen (u == null)
                 if IsUnitEnemy(u,GetOwningPlayer(GetTriggerUnit())) then
                     set bx = GetUnitX(u)
                     set by = GetUnitY(u)
                         set r = bj_RADTODEG * Atan2(by - y, bx - x)
                     if (MOVE_TO_MAX == true) then
                         set rx = bx + 450 * Cos(r * bj_DEGTORAD)
                         set ry = by + 450 * Sin(r * bj_DEGTORAD)
                     elseif (MOVE_TO_MAX == false) then
                         set rx = x + 450 * Cos(r * bj_DEGTORAD)
                         set ry = y + 450 * Sin(r * bj_DEGTORAD)
                     endif
                     set rx = ((rx - x) /(DURATION / INTERVAL))
                     set ry = ((ry - y)/(DURATION / INTERVAL))
                     call RCLL.linkUnit(u, rx, ry)
                 elseif (IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()), GetOwningPlayer(u)) == true) then
                     call SetUnitState(u, UNIT_STATE_LIFE, (GetUnitState(u, UNIT_STATE_LIFE) + 100.0 + (75.0 * GetUnitAbilityLevel(GetTriggerUnit(), SPELL_ID))))
                 endif
                 call GroupRemoveUnit(g, u)
             endloop
        call TimerStart(RCLLTIMER, INTERVAL, true, function Core)
        endif
        call DestroyGroup(g)
        set g = null
        set u = null
        return true
    endfunction
    
    private function OnInit takes nothing returns nothing
        local trigger t = CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_SPELL_EFFECT)
        call TriggerAddCondition(t, Filter(function OnInitActions))
        set t = null
    endfunction
endscope
 
Cho em hỏi, em có 1 spell khi cast nó sẽ đẩy mọi unit ra xung quanh mình nhưng nó lại đẩy xuyên núi doodad nên em ko biết làm cách nào, xin mọi người giúp dùm em :-s

bác đọc kỹ cái này:
private constant boolean IGNORE_PATHING =false
bác sửa lại thành IGNORE_PATHING =true xem! nó có nghĩa là bỏ qua pathing mà (em hiểu path là con đường )
 
Cho mình hỏi làm sao để làm dc một skill càng đánh càng nhanh như fevor của Troll trong Dota??
 
Cho mình hỏi làm sao để làm dc một skill càng đánh càng nhanh như fevor của Troll trong Dota??
cái này xài dạng increase level ability đó em
 
Mình thì xài

Unit attacked hoặc take damage

rồi dùng cái item tăng attack speed tăng tốc độ đánh (dùng thử cái slow aura nếu hero die = dis game)

cứ mỗi phát đánh thì tăng 1 cấp,max là 15 cấp

rồi wait 5s lại trừ

Mã:
Events
    Unit - A unit Is attacked
Conditions
    (Unit-type of (Attacking unit)) Equal to |cff00ff00L©m tÆc|r
    ((Level of Lam Tac Str Speed  for (Attacking unit)) Greater than or equal to 1) and ((Level of Lam Tac Str Speed  for (Attacking unit)) Less than or equal to 10)
Actions
    Unit - Set level of Lam Tac Str Speed  for (Attacking unit) to ((Level of Lam Tac Str Speed  for (Attacking unit)) + 1)
    Wait 5.00 seconds
    Unit - Set level of Lam Tac Str Speed  for (Attacking unit) to ((Level of Lam Tac Str Speed  for (Attacking unit)) - 1)
 
Chỉnh sửa cuối:
Mình thì xài

Unit attacked hoặc take damage

rồi dùng cái item tăng attack speed tăng tốc độ đánh (dùng thử cái slow aura nếu hero die = dis game)

cứ mỗi phát đánh thì tăng 1 cấp,max là 15 cấp

rồi wait 5s lại trừ

Mã:
Events
    Unit - A unit Is attacked
Conditions
    (Unit-type of (Attacking unit)) Equal to |cff00ff00L©m tÆc|r
    ((Level of Lam Tac Str Speed  for (Attacking unit)) Greater than or equal to 1) and ((Level of Lam Tac Str Speed  for (Attacking unit)) Less than or equal to 10)
Actions
    Unit - Set level of Lam Tac Str Speed  for (Attacking unit) to ((Level of Lam Tac Str Speed  for (Attacking unit)) + 1)
    Wait 5.00 seconds
    Unit - Set level of Lam Tac Str Speed  for (Attacking unit) to ((Level of Lam Tac Str Speed  for (Attacking unit)) - 1)

Wait kiểu này ko dùng biến local mà ko sợ lỗi à? :|

---------- Post added at 22:36 ---------- Previous post was at 22:34 ----------

Mà như thế này nó spam S cho vài phát là full attack speed ngay 8-}
 
Các anh cho em hỏi làm sao để cho hero lại gần mới nhận exp vậy? Em làm map rồi vào chơi thử thì con hero đứng ở nhà mà cứ lên cấp vùn vụt thôi.
 
Mọi người cho hỏi trigger này sao nó ko move con dummy đi, đã check kĩ nhưng vì trình độ có hạn nên... :(
[spoil]
Mã:
[B]Explosive Bird
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to |cff99CCFFExplosive Bird|r 
    Actions
        Set Caster[5] = (Casting unit)
        Set Point[6] = (Target point of ability being cast)
        Set Point[7] = (Position of Caster[5])
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Caster[5] has an item of type |cff99CCFFBÝch Thñy Hµm §µm|r) Equal to True
            Then - Actions
                Set Damage[5] = (Real(((Agility of Caster[5] (Include bonuses)) x 15)))
            Else - Actions
                Set Damage[1] = (Real(((Agility of Caster[5] (Include bonuses)) x (Level of |cff99CCFFExplosive Bird|r  for Caster[5]))))
        Unit - Create 1 Dummy E1 for (Owner of Caster[5]) at Point[7] facing (Facing of Caster[5]) degrees
        Set Dummy[1] = (Last created unit)
        Unit - Turn collision for Dummy[1] Off
        Unit - Add a 1.60 second Generic expiration timer to Dummy[1]
        Trigger - Turn on Explosive Bird Loop <gen>[/B]
Mã:
[B]Explosive Bird Loop
    Events
        Time - Every 0.04 seconds of game time
    Conditions
    Actions
        Set Point[7] = (Position of Caster[5])
        Set Point[8] = (Point[7] offset by 40.00 towards (Angle from Point[7] to Point[6]) degrees)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Distance between Point[7] and Point[6]) Less than or equal to 20.00
            Then - Actions
                Trigger - Turn off (This trigger)
                Animation - Play Caster[5]'s spell animation
                Wait 0.50 game-time seconds
                Set Group[5] = (Units within 500.00 of Point[6] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of Player 9 (Gray)) Equal to True)))
                Unit Group - Pick every unit in Group[5] and do (Actions)
                    Loop - Actions
                        Unit - Cause Caster[5] to damage (Picked unit), dealing Damage[5] damage of attack type Hero and damage type Universal
                        Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\ImmolationRed\ImmolationREDTarget.mdl
                        Special Effect - Destroy (Last created special effect)
                Animation - Queue Caster[5]'s stand animation
                Custom script:   call RemoveLocation(udg_Point[6])
                Custom script:   call RemoveLocation(udg_Point[7])
                Custom script:   call RemoveLocation(udg_Point[8])
                Custom script:   call DestroyGroup(udg_Group[5])
            Else - Actions
                Animation - Play Caster[5]'s spell animation
                Unit - Move Dummy[1] instantly to Point[8]
                Custom script:   call RemoveLocation(udg_Point[7])
                Custom script:   call RemoveLocation(udg_Point[8])[/B]
[/spoil]
 
Mã:
[B]Explosive Bird Loop
    Events
        Time - Every 0.04 seconds of game time
    Conditions
    Actions
        [COLOR="#FF0000"]Set Point[7] = (Position of Caster[5])[/COLOR]
        [COLOR="#FF0000"]Set Point[8] = (Point[7] offset by 40.00 towards (Angle from Point[7] to Point[6]) degrees)[/COLOR]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Distance between Point[7] and Point[6]) Less than or equal to 20.00
            Then - Actions
                Trigger - Turn off (This trigger)
                Animation - Play Caster[5]'s spell animation
                Wait 0.50 game-time seconds
                Set Group[5] = (Units within 500.00 of Point[6] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of Player 9 (Gray)) Equal to True)))
                Unit Group - Pick every unit in Group[5] and do (Actions)
                    Loop - Actions
                        Unit - Cause Caster[5] to damage (Picked unit), dealing Damage[5] damage of attack type Hero and damage type Universal
                        Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\ImmolationRed\ImmolationREDTarget.mdl
                        Special Effect - Destroy (Last created special effect)
                Animation - Queue Caster[5]'s stand animation
                Custom script:   call RemoveLocation(udg_Point[6])
                Custom script:   call RemoveLocation(udg_Point[7])
                Custom script:   call RemoveLocation(udg_Point[8])
                Custom script:   call DestroyGroup(udg_Group[5])
            Else - Actions
                Animation - Play Caster[5]'s spell animation
                Unit - Move Dummy[1] instantly to Point[8]
                Custom script:   call RemoveLocation(udg_Point[7])
                Custom script:   call RemoveLocation(udg_Point[8])[/B]

Lỗi ở hai chỗ đó thôi ạ!Bác check lại!
 
Wait kiểu này ko dùng biến local mà ko sợ lỗi à? :|

---------- Post added at 22:36 ---------- Previous post was at 22:34 ----------

Mà như thế này nó spam S cho vài phát là full attack speed ngay 8-}

Mình chả biết biến local là sao cả,ngôn ngữ WE mình mù tịt lắm,chỉ biết làm thôi. :">
Vậy mình mới đưa ra hai event unit take damage hoặc attacked đó thôi
 
Mọi người cho hỏi trigger này sao nó ko move con dummy đi, đã check kĩ nhưng vì trình độ có hạn nên... :(
Sure là cậu đang gặp vấn đề nghiêm trọng trong việc tư duy logic !!!

- Point[6] cậu dùng xuyên suốt cả quãng slide vậy mà cậu xóa nhẹm nó đi ngay lần đầu tiên chạy trigger Explosive Bird Loop
Point[7] cũng tương tự vậy nhưng thật may thay là có cái dòng Set Point[7] = (Position of Caster[5])

- Nhưng cho tớ hỏi cậu là con dummy của cậu bay thẳng đúng ko?
Vậy cậu ko thấy vô lý sao khi mà cứ lặp lại liên tục việc lấy 1 cái point Position of Caster[5] ?
Nếu con hero của cậu mà dùng waygate chả hạn rồi bay ra 1 chỗ mà tạo thành với vị trí lúc cast và cast point 1 góc 90 độ thì có phải dummy của cậu sẽ bay ngang như con cua :-o

- mà đấy là nói nếu Point[8] của cậu lấy chuẩn thì nó mới bay được như cua
Nhưng Point[8] của cậu là lấy vị trí từ tiến lên 40 range so với thằng cast. tức nếu thằng cast ko di chuyển target spell Point[6] chắc chắn là cũng ko đổi vậy thì nó đứng yên là hoàn toàn hợp lý và đừng hỏi tại sao :-??

- Mà sau khi coi lại thấy chỗ deal dam của cậu dùng cái Damage[5] mà cậu để là Damage[1] thì đến lúc nó vào trường hợp kia thì dam = ???? :|

- Tôi còn ko hiểu 1 cái nữa là tại sao cậu là để
Unit - Add a 1.60 second Generic expiration timer to Dummy[1]
Thế nếu chưa hết 1.6s thì dummy cậu vẫn sống nhăn răng dù đã đi hết quãng đường à !?

- Rồi sau khi hero cậu cast xong ko về được tư thế stand nữa hay sao mà phải có dòng
Animation - Queue Caster[5]'s stand animation

Tóm lại cần sửa như sau

[spoil]
Mã:
[B]Explosive Bird
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to |cff99CCFFExplosive Bird|r 
    Actions
        Set Caster[5] = (Casting unit)
        Set Point[6] = (Target point of ability being cast)
        Set Point[7] = (Position of Caster[5])
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Caster[5] has an item of type |cff99CCFFBÝch Thñy Hµm §µm|r) Equal to True
            Then - Actions
                Set Damage[5] = (Real(((Agility of Caster[5] (Include bonuses)) x 15)))
            Else - Actions
                Set Damage[[COLOR="#FF0000"]5[/COLOR]] = (Real(((Agility of Caster[5] (Include bonuses)) x (Level of |cff99CCFFExplosive Bird|r  for Caster[5]))))
        Unit - Create 1 Dummy E1 for (Owner of Caster[5]) at Point[7] facing (Facing of Caster[5]) degrees
        [COLOR="#FF0000"]Custom script:   call RemoveLocation(udg_Point[7])[/COLOR]
        Set Dummy[1] = (Last created unit)
        Unit - Turn collision for Dummy[1] Off
        Trigger - Turn on Explosive Bird Loop <gen>[/B]
Mã:
[B]Explosive Bird Loop
    Events
        Time - Every 0.04 seconds of game time
    Conditions
    Actions
        Set Point[7] = (Position of [COLOR="#FF0000"]Dummy[1][/COLOR])
        Set Point[8] = (Point[7] offset by 40.00 towards (Angle from Point[7] to Point[6]) degrees)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Distance between Point[7] and Point[6]) Less than or equal to 20.00
            Then - Actions
                Trigger - Turn off (This trigger)
                Animation - Play Caster[5]'s spell animation
                Wait 0.50 game-time seconds
                Set Group[5] = (Units within 500.00 of Point[6] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of Player 9 (Gray)) Equal to True)))
                Unit Group - Pick every unit in Group[5] and do (Actions)
                    Loop - Actions
                        Unit - Cause Caster[5] to damage (Picked unit), dealing Damage[5] damage of attack type Hero and damage type Universal
                        Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\ImmolationRed\ImmolationREDTarget.mdl
                        Special Effect - Destroy (Last created special effect)
                Animation - Queue Caster[5]'s stand animation
                [COLOR="#FF0000"]Unit - Remove Dummy[1][/COLOR]
                Custom script:   call RemoveLocation(udg_Point[6])
                Custom script:   call DestroyGroup(udg_Group[5])
            Else - Actions
                Unit - Move Dummy[1] instantly to Point[8]
        [COLOR="#FF0000"]Custom script:   call RemoveLocation(udg_Point[7])
        Custom script:   call RemoveLocation(udg_Point[8])[/COLOR][/B]
[/spoil]

- Point 7 ở trigger đầu tiền xóa lun vì là temp point ko có tác dụng trong trigger khác
- Bỏ cái generic time cho dummy thay vào đó là remove nó hoặc kill nó đi sau khi đã hoàn thành việc slide
- Point 7 và 8 là biến tạm thời nên mỗi lần dùng xong remove leak lun nên bỏ ra ngoài tất cả các cái if và ngang hàng với dòng Set giá trị ....
- Thiết lập lai là Damage[5]
- Point 7 là vị trí dummy point 8 là vị trí tiến lên 40 range so với point 7 hướng từ chỗ caster ban đầu về điểm cast.
- Bỏ dòng Animation - Queue Caster[5]'s stand animation chả để làm gì cả

P/S: cậu làm spell thì tập trung và suy nghĩ liền mạch hộ cái...
Cóng vãi '+_+ sao hum nay mình nói nhiều vậy :-@
 
Chỉnh sửa cuối:
[spoil]
Mã:
[B]Explosive Bird
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to |cff99CCFFExplosive Bird|r 
    Actions
        Set Caster[5] = (Casting unit)
        Set Point[6] = (Target point of ability being cast)
        Set Point[7] = (Position of Caster[5])
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Caster[5] has an item of type |cff99CCFFBÝch Thñy Hµm §µm|r) Equal to True
            Then - Actions
                Set Damage[5] = (Real(((Agility of Caster[5] (Include bonuses)) x 15)))
            Else - Actions
                Set Damage[[COLOR="#FF0000"]1[/COLOR]] = (Real(((Agility of Caster[5] (Include bonuses)) x (Level of |cff99CCFFExplosive Bird|r  for Caster[5])))) [COLOR="#FF0000"]// Cái gì thế này đang 5 sao dưới còn 1[/COLOR]
        Unit - Create 1 Dummy E1 for (Owner of Caster[5]) at Point[7] facing (Facing of Caster[5]) degrees
        Set Dummy[1] = (Last created unit)
        Unit - Turn collision for Dummy[1] Off
        Unit - Add a 1.60 second Generic expiration timer to Dummy[1] [COLOR="#FF0000"]// Nếu nó chưa đi tới chỗ cast mà die thì sao @@ Del đi[/COLOR]
        Trigger - Turn on Explosive Bird Loop <gen>[/B]
Mã:
[B]Explosive Bird Loop
    Events
        Time - Every 0.04 seconds of game time
    Conditions
    Actions
        Set Point[7] = (Position of Caster[5]) [COLOR="#FF0000"]// Muốn con chim bay mà set point thằng Hero chi @@[/COLOR]
        Set Point[8] = (Point[7] offset by 40.00 towards (Angle from Point[7] to Point[6]) degrees)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Distance between Point[7] and Point[6]) Less than or equal to 20.00
            Then - Actions
                Trigger - Turn off (This trigger)
                Animation - Play Caster[5]'s spell animation
                Wait 0.50 game-time seconds
                Set Group[5] = (Units within 500.00 of Point[6] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of Player 9 (Gray)) Equal to True)))
                Unit Group - Pick every unit in Group[5] and do (Actions)
                    Loop - Actions
                        Unit - Cause Caster[5] to damage (Picked unit), dealing Damage[5] damage of attack type Hero and damage type Universal
                        Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\ImmolationRed\ImmolationREDTarget.mdl
                        Special Effect - Destroy (Last created special effect)
                Animation - Queue Caster[5]'s stand animation
                Custom script:   call RemoveLocation(udg_Point[6])
                Custom script:   call RemoveLocation(udg_Point[7])
                Custom script:   call RemoveLocation(udg_Point[8])
                Custom script:   call DestroyGroup(udg_Group[5])
            Else - Actions
                Animation - Play Caster[5]'s spell animation
                Unit - Move Dummy[1] instantly to Point[8]
                Custom script:   call RemoveLocation(udg_Point[7])
                Custom script:   call RemoveLocation(udg_Point[8])[/B]
[/spoil]
Bác check lại mấy dòng đỏ trên là sẽ hiểu :D và 1 cái bất tiện nữa là nếu thằng kia nó cast con chim wa TR bên cạnh thì nạn ks chửi nhau sẽ lại rộn lên =))
 
Chỉnh sửa cuối:
cho em hỏi có tất cả bao nhiêu loại animation,và nếu có thể các bác chỉ cho em các loại được ko:-<
đến bây h thì em mới có chút ít vốn về cái phần này nên unit trông khô khan qá :-<
1/Art-Requirred Animation names có những loại nào
2/Art-Animation names có những loại nào :-<
thnks các bác
 
cho em hỏi có tất cả bao nhiêu loại animation,và nếu có thể các bác chỉ cho em các loại được ko:-<
đến bây h thì em mới có chút ít vốn về cái phần này nên unit trông khô khan qá :-<
1/Art-Requirred Animation names có những loại nào
2/Art-Animation names có những loại nào :-<
thnks các bác

animation có nhiều hay ít tùy vào unit đó sở hữu bao nhiêu thôi :-??

thường thì có Stand và Walk hoặc Death hay là Attack còn là Spell v.v.. :-?
 
ai làm giúp em cái chiêu của bar trong Diablo 2 với, nó bay lên rồi rớt xuống gây dam area và độ cao phụ thuộc khoảng cách nhưng em muốn cho độ cao ngẫu nhiên tí !
+ giúp em làm chiêu như LMTK của Kiếm đoàn trong map TK lun!^^
 
Mọi người cho hỏi, ví dụ có 1 dãy số: 1, 15, 25, 30, 150
Ở đây số lớn nhất là 150, vậy không biết hàm Conditon nào có thể check đc ra trong 1 dãy số chọn ra số lớn nhất ( 150 )
 
Mọi người cho hỏi, ví dụ có 1 dãy số: 1, 15, 25, 30, 150
Ở đây số lớn nhất là 150, vậy không biết hàm Conditon nào có thể check đc ra trong 1 dãy số chọn ra số lớn nhất ( 150 )

Nhớ không nhầm thì là math - max.
 
Các anh cho em hỏi làm sao để cho hero lại gần mới nhận exp vậy? Em làm map rồi vào chơi thử thì con hero đứng ở nhà mà cứ lên cấp vùn vụt thôi.
Ko ai chỉ cho em à?
(30 kí tự)
 
Status
Không mở trả lời sau này.
Back
Top