Topic post, bàn luận, đóng góp ý kiến, thắc mắc, giải đáp, bình phẩm về Custom Spell.

Thảo luận trong 'World Editor' bắt đầu bởi raivor, 7/1/11.

  1. valen2

    valen2 Youtube Master Race

    Tham gia ngày:
    22/12/11
    Bài viết:
    8
    Ai chỉ mình cái này 1 chút đc không? Mình tạo 1 spell như thế này: Hero bắn 1 cái tên lên trời sau đó nó đâm đầu xuống đất gây dame AoE và slow, giống kiểu của sniper nhưng k phải DPS mà dame 1 lần là xong ấy. Mình tạo 1 con dummy hình cái tên băng của traxex, nhưng không biết cách làm nó chĩa lên trời rùi lại cắm đầu xuống đất [tại đang mò WE nên ngu không biết gì] nên định làm nó xuất hiện rùi sau 0.3s nó bay cái vèo tới chỗ chỉ định với vận tốc tương đương hook của rattle trap [con goblin trong dota ấy] nhưng ngặt nỗi mình k biết làm cái vụ move đó nên chỉ move instanly tới cái point mà mình cast, rùi con dummy cát thunder clap gây dame và slow T_T! Ai rảnh giúp mình hoàn thiện skill này được không?

    Map đây: http://www.mediafire.com/?mdc94p92j3e8b0q
    Hẻo có skill này là con windrunner, skill 1 ấy nha :d
     
  2. eSm.KnighT

    eSm.KnighT Mr & Ms Pac-Man

    Tham gia ngày:
    27/7/10
    Bài viết:
    133
    Em có 2 cái spell về Phoenix, post lên luôn :D
    Skill 1: Death Flame
    PHP:
    Death Flame Cast
    Events
    Unit 
    A unit Starts the effect of an ability Unit bắt đầu cast spell
    Conditions
    (Ability being castEqual to Death Flame Spell phải là Death Flame
    Actions
      Set MB_MUI 
    = (MB_MUI 1) / Cho MB_MUI MB_MUI Cái này có thể tham khảo bài viết đầu của anh Raivor.)
      If (
    All Conditions are Truethen do (Then Actions) else do (Else Actions
        If - 
    Conditions
         MB_MUI Greater than 
    or equal to 500 Nếu MB_MUI >= 500 thì Set MB_MUI=0 và quá trình lại diễn ra như vậy
        Then 
    Actions
         Set MB_MUI 
    0
        
    Else - Actions
     Set MB_Caster
    [MB_MUI] = (Casting unit) / Đặt biến là thằng Cast
     Special Effect 
    Create a special effect at ((Position of MB_Caster[MB_MUI]) offset by 0.00 towards 0.00 degreesusing                 Abilities\Spells\Orc\Reincarnation\ReincarnationTarget.mdl Tạo effect cho đẹp
     Special Effect 
    Destroy (Last created special effect)
     
    Unit Create 1 Blade Dummy for (Owner of MB_Caster[MB_MUI]) at ((Position of MB_Caster[MB_MUI]) offset by 50.00 towards 90.00 degreesfacing Default building facing degrees Tạo 1 Dummy tại vị trí cách thằng Cast 50 góc 90 độ
     Set MB_Dummy_Blade
    [MB_MUI] = (Last created unit) / Gán biến MB_Dummy_Blade cho thằng mới tạo ra
     Unit 
    Add a 3.00 second Generic expiration timer to MB_Dummy_Blade[MB_MUI] / Cho nó 3s để sống
     Unit 
    Turn collision for MB_Dummy_Blade[MB_MUIOff
     Set MB_Real
    [MB_MUI] = 0.00 
     Set MB_Distance
    [MB_MUI] = 0.00
     Set MB_Int
    [MB_MUI] = 0
    (Đặt giá trị các biến dạng real và integer )
     
    Unit Create 1 Dummy for (Owner of MB_Caster[MB_MUI]) at (Position of MB_Caster[MB_MUI]) facing Default building facing degrees
     Unit Group 
    Add (Last created unitto MB_Group Tạo 1 unit mới là Dummy và gán nó vào Group
     Unit 
    Set the custom value of (Last created unitto MB_MUI
     Special Effect 
    Create a special effect at (Position of MB_Caster[MB_MUI]) using FireNova2.mdx
     Special Effect 
    Destroy (Last created special effect)
     
    Unit Hide MB_Caster[MB_MUI] / Ẩn Phoenix
     Trigger 
    Turn on Death Flame Loop <gen>/ Mở trigger Loop 
    PHP:
    Death Flame Loop
    Events
    Time 
    Every 0.03 seconds of game time Cứ 0,03s thì sẽ thực hiện cái này 1 lần
    Conditions
    Actions
    Unit Group 
    Pick every unit in MB_Group and do (Actions)
    Loop Actions
    Set MB_Int
    [(Custom value of (Picked unit))] = (MB_Int[(Custom value of (Picked unit))] + 1) / Tăng biến Int lên 1
    Set MB_Distance
    [(Custom value of (Picked unit))] = (MB_Distance[(Custom value of (Picked unit))] + 1.00Tăng biến Distance lên 1
    Set MB_Real
    [(Custom value of (Picked unit))] = (MB_Real[(Custom value of (Picked unit))] + 10.00Tăng góc lên 1
    Unit 
    Move MB_Dummy_Blade[(Custom value of (Picked unit))] instantly to ((Position of MB_Dummy_Blade[(Custom value of (Picked unit))]) offset by MB_Distance[(Custom value of (Picked unit))] towards MB_Real[(Custom value of (Picked unit))] degrees)
    Unit Create 1 Casting Dummy for (Owner of MB_Caster[(Custom value of (Picked unit))]) at (Position of MB_Dummy_Blade[(Custom value of (Picked unit))]) facing Default building facing degrees
    Set MB_Dummy_Damage
    [(Custom value of (Picked unit))] = (Last created unit)
    Unit Turn collision for MB_Dummy_Damage[(Custom value of (Picked unit))] Off
    Unit 
    Add a 1.25 second Generic expiration timer to MB_Dummy_Damage[(Custom value of (Picked unit))]
    Unit Add MB Damage Dealing to MB_Dummy_Damage[(Custom value of (Picked unit))]
    Unit Set level of MB Damage Dealing for MB_Dummy_Damage[(Custom value of (Picked unit))] to MB_Level[(Custom value of (Picked unit))]
    Unit Order MB_Dummy_Damage[(Custom value of (Picked unit))] to Orc Tauren Chieftain War Stomp
    Tạo 1 Dummy và chó nó dùng War Stomp tại vị trí của MB_Dummy_Blade đang đứng để gây dame )
    Special Effect Create a special effect at (Position of MB_Dummy_Blade[(Custom value of (Picked unit))]) using Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
    Special Effect 
    Destroy (Last created special effect)
    Special Effect Create a special effect at (Position of MB_Dummy_Damage[(Custom value of (Picked unit))]) using Abilities\Spells\Undead\DeathandDecay\DeathandDecayTarget.mdl
    Special Effect 
    Destroy (Last created special effect)
    Special Effect Create a special effect at (Position of MB_Dummy_Damage[(Custom value of (Picked unit))]) using Abilities\Spells\Undead\DeathandDecay\DeathandDecayDamage.mdl
    Special Effect 
    Destroy (Last created special effect)
    If (
    All Conditions are Truethen do (Then Actions) else do (Else Actions)
    If - 
    Conditions
    MB_Int
    [(Custom value of (Picked unit))] Equal to 100 Khi MB_Int 100 thì dừng trigger này
    Then 
    Actions
    Unit 
    Unhide MB_Caster[(Custom value of (Picked unit))] / Không ẩn caster nưa
    Special Effect 
    Create a special effect at (Position of MB_Caster[(Custom value of (Picked unit))]) using FireNova2.mdx
    Special Effect 
    Destroy (Last created special effect)
    Unit Group Remove (Picked unitfrom MB_Group Xóa Picked unit khỏi Group
    Unit 
    Remove (Picked unitfrom the game Xóa Picked unit khỏi game
    Else - Actions
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
    If - 
    Conditions
    (Number of units in MB_GroupEqual to 0
    Then 
    Actions
    Trigger 
    Turn off (This trigger)
    Else - 
    Actions
    Skill 2: Phoenix Strike

    PHP:
     Phoenix Strike Cast
    Events
    Unit 
    A unit Starts the effect of an ability
    Conditions
    (Ability being castEqual to Phoenix Strike
    Actions
    Set PS_MUI 
    = (PS_MUI 1)
    If (
    All Conditions are Truethen do (Then Actions) else do (Else Actions)
    If - 
    Conditions
    PS_MUI Greater than 
    or equal to 500
    Then 
    Actions
    Set PS_MUI 
    0
    Else - Actions
    Set PS_Caster
    [PS_MUI] = (Casting unit)
    Unit Hide PS_Caster[PS_MUI]
    Set PS_Select_Group[PS_MUI] = (Units currently selected by (Owner of PS_Caster[PS_MUI]))
    Set PS_Distance[PS_MUI] = 0.00
    Set PS_Level
    [PS_MUI] = (Integer((Real((Level of Phoenix Strike for MB_Caster[PS_MUI])))))
    Set PS_Real_1[PS_MUI] = ((Facing of PS_Caster[PS_MUI]) + 25.00)
    Set PS_Real_2[PS_MUI] = ((Facing of PS_Caster[PS_MUI]) + 335.00)
    Unit Create 1 Phoenix Dummy for (Owner of PS_Caster[PS_MUI]) at ((Position of PS_Caster[PS_MUI]) offset by PS_Distance[PS_MUItowards PS_Real_1[PS_MUIdegreesfacing Default building facing degrees
    Set PS_Dummy_1
    [PS_MUI] = (Last created unit)
    Unit Add a 1.00 second Generic expiration timer to PS_Dummy_1[PS_MUI]
    Unit Create 1 Phoenix Dummy for (Owner of PS_Caster[PS_MUI]) at ((Position of PS_Caster[PS_MUI]) offset by PS_Distance[PS_MUItowards PS_Real_2[PS_MUIdegreesfacing Default building facing degrees
    Set PS_Dummy_2
    [PS_MUI] = (Last created unit)
    Unit Add a 1.00 second Generic expiration timer to PS_Dummy_2[PS_MUI]
    Unit Create 1 Dummy for (Owner of PS_Caster[PS_MUI]) at ((Position of PS_Caster[PS_MUI]) offset by 0.00 towards 0.00 degreesfacing Default building facing degrees
    Unit Group 
    Add (Last created unitto PS_Group
    Unit 
    Set the custom value of (Last created unitto PS_MUI
    Set PS_Add_Or_Sub
    [PS_MUI] = 30
    Special Effect 
    Create a special effect at (Position of PS_Caster[PS_MUI]) using FireNova2.mdx
    Special Effect 
    Destroy (Last created special effect)
    Trigger Turn on Phoenix Strike Loop <gen>
    PHP:
    Phoenix Strike Loop
    Events
    Time 
    Every 0.05 seconds of game time
    Conditions
    Actions
    Unit Group 
    Pick every unit in PS_Group and do (Actions)
    Loop Actions
    Set PS_Custom_Int 
    = (Custom value of (Picked unit))
    Set PS_Distance[PS_Custom_Int] = (PS_Distance[PS_Custom_Int] + 50.00)
    Unit Move PS_Dummy_1[PS_Custom_Intinstantly to ((Position of PS_Dummy_1[PS_Custom_Int]) offset by 50.00 towards PS_Real_1[PS_Custom_Intdegrees)
    Unit Make PS_Dummy_1[PS_Custom_Intface PS_Real_1[PS_Custom_Intover 0.00 seconds
    Unit 
    Move PS_Dummy_2[PS_Custom_Intinstantly to ((Position of PS_Dummy_2[PS_Custom_Int]) offset by 50.00 towards PS_Real_2[PS_Custom_Intdegrees)
    Unit Make PS_Dummy_2[PS_Custom_Intface PS_Real_2[PS_Custom_Intover 0.00 seconds
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
    If - 
    Conditions
    PS_Distance
    [PS_Custom_IntGreater than or equal to 400.00
    Then 
    Actions
    Set PS_Real_Gan 
    PS_Real_1[PS_Custom_Int]
    Set PS_Real_1[PS_Custom_Int] = PS_Real_2[PS_Custom_Int]
    Set PS_Real_2[PS_Custom_Int] = PS_Real_Gan
    Else - Actions
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
    If - 
    Conditions
    PS_Distance
    [PS_Custom_IntGreater than or equal to 900.00
    Then 
    Actions
    Unit Group 
    Remove (Picked unitfrom PS_Group
    Unit 
    Remove PS_Dummy_1[PS_Custom_Intfrom the game
    Unit 
    Remove PS_Dummy_2[PS_Custom_Intfrom the game
    Unit 
    Unhide PS_Caster[PS_Custom_Int]
    Unit Move PS_Caster[PS_Custom_Intinstantly to ((Position of PS_Caster[PS_Custom_Int]) offset by 800.00 towards (Facing of PS_Caster[PS_Custom_Int]) degrees)
    Special Effect Create a special effect at (Position of PS_Caster[PS_MUI]) using FireNova2.mdx
    Special Effect 
    Destroy (Last created special effect)
    Selection Select PS_Select_Group[PS_Custom_Int] for (Owner of PS_Caster[PS_Custom_Int])
    Unit Remove (Picked unitfrom the game
    Else - Actions
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
    If - 
    Conditions
    (Number of units in PS_GroupEqual to 0
    Then 
    Actions
    Trigger 
    Turn off (This trigger)
    Else - 
    Actions
    Ảnh minh họa skill 1: spells_4306_screenshot.jpg

    Download http://dl.hiveworkshop.com/52b11e32fb64105f2274bdee930f7b43/4f095f33/5/spells_4306/BladeMaster.w3x
     
    Chỉnh sửa cuối: 8/1/12
  3. lg20112012

    lg20112012 Youtube Master Race

    Tham gia ngày:
    27/11/11
    Bài viết:
    22
    e cần vài skill đơn giản nhưng trình độ còn kém quá .Mấy a có ai rãnh làm giúp vài skill :D:D:D:D

    ---------- Post added at 19:21 ---------- Previous post was at 19:13 ----------

    Nếu giúp dc cho xin cái email z
     
  4. btvinh

    btvinh Donkey Kong

    Tham gia ngày:
    15/1/11
    Bài viết:
    343
    [email protected] nếu giúp đc a giúp cho
     
  5. Ăn xong dong

    Ăn xong dong Mr & Ms Pac-Man

    Tham gia ngày:
    7/6/11
    Bài viết:
    136
    Các bác zúp e spell này nha. khi hero học 1 spell thì tất cả các unit enemy khi ATK vào hero mà nằm ngoài 500 AoE thì 100% miss khi Atk hero đó. Thanks các bác :)
     
  6. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Tớ chỉ gợi ý thôi nhé, không có demo vì không có time.
    Trigger 1: khi hero learn skill thì set hero = LearnedHero.
    Trigger 2: mỗi x giây, pick every unit within 1000 range of (position of LearnedHero). Check nếu vị trí picked unit và LearnedHero nhỏ lớn hơn 500 thì tạo 1 dummy cast Drunken Haze vào picked unit, còn nếu nhỏ hơn 500 thì remove buff Drunken Haze đi.
    Chúc bạn thành công :)
     
  7. vuongkkk

    vuongkkk T.E.T.Я.I.S

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    unit enemy khi ATK vào hero mà nằm ngoài 500 AoE thì 100% miss khi Atk hero đó

    LeoNguyen mà làm thế thì mấy thằng trong range từ 1000 đến 500 khỏi đánh nhau à :)) Bạn ấy chỉ cần attack hero đó mới miss mà thôi.
    Còn thực sự cái này khó à nha. Mình ko nghĩ là với GUI có thể làm 1 spell như thế. Còn jass thì chuyện đó ko phải ko thể nhưng cũng ko dễ bạn à!
     
  8. Ice Dragon

    Ice Dragon Mega Man

    Tham gia ngày:
    6/9/04
    Bài viết:
    3,101
    Nơi ở:
    none
    Theo mình biết thì cái đó chỉ có thể dùng JASS bắt sự kiện unit mất máu rồi nếu người tấn công ở trong 500 AoE thì hồi lại cho bản thân 1 lượng máu bằng lượng máu đó (hoặc hồi trước nếu máu hiện tại thấp hơn lượng sát thương gây ra để ko bị đột tử) để giả vờ miss
    lâu rồi mình ko làm nên ko nhớ rõ chi tiết :D
     
    Chỉnh sửa cuối: 7/2/12
  9. eSm.KnighT

    eSm.KnighT Mr & Ms Pac-Man

    Tham gia ngày:
    27/7/10
    Bài viết:
    133
    Theo mình bạn nên làm thế này.
    Event : Unit is attacked
    Codition : Level of ability (Tên ability) grather than 0
    Action : If (Dítance from attacked to attacking) grather than 500 then
    Then Action: Create 1 dummy at attacking and cát drunken haze ( skill này chỉnh 100 % đánh miss, không làm unit move slow )
     
  10. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    [Tutorial] - Unit Positions, Fake Miss, Auto - Cast
     
  11. Ăn xong dong

    Ăn xong dong Mr & Ms Pac-Man

    Tham gia ngày:
    7/6/11
    Bài viết:
    136
    Cảm ơn các bác đã zup' đỡ thú thật e là newbie nên chưa rành về cách làm spell chỉ mới bik cách làm spell khi hero dùng spell này thì summon 1 e dummy cast spell thứ 2 hoặc % tỷ lệ thì cast spell khi hero đánh/bị đánh đó là tất cả những gì e bik hiện h` :(. xin các bác cho e các spell "bài tập" từ đơn giản --> trung bình để e "ôn" :P
     
  12. Ice Dragon

    Ice Dragon Mega Man

    Tham gia ngày:
    6/9/04
    Bài viết:
    3,101
    Nơi ở:
    none
    Cho hỏi nếu mình dùng 1 biến Globals để sử dụng cho việc GroupEnumUnitsInRange ví dụ
    thì sau khi xài xong mình có cần destroy group, set Group_tmp trở về null, ròi lần dùng sau lại set Group_tmp=CreateGroup() ko? Hay cứ giữ nguyên ấy lần sau chỉ GroupEnumUnitsInRange thì nó sẽ tự hủy giá trị của Group_tmp lần trước?
     
  13. 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
    bị destroy set = null thì nó đã là null rồi lần sau nhớ set Group_tmp = CreateGroup() là được.
     
  14. vuongkkk

    vuongkkk T.E.T.Я.I.S

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Cách dùng mà bạn muốn sẽ như sau:
    Mã:
    globals
    group Group_tmp = CreateGroup()
    endglobals
    Dùng với các func native GroupEnumUnits.....(group, ....., filter)
    Xử lý ngay trong trigger đó và ko có wait.
    Rồi cứ thế mà dùng.

    Sau khi dùng lại func native GroupEnumUnits.....(group, ....., filter) thì các unit trước trong group sẽ mất đi và thay bằng các unit mới lọc được
    Vì vậy chả cần làm gì khác cả ngoài lưu ý là Xử lý ngay trong trigger đó và ko có wait.
     
  15. Ice Dragon

    Ice Dragon Mega Man

    Tham gia ngày:
    6/9/04
    Bài viết:
    3,101
    Nơi ở:
    none
    @dh-g: ý hỏi là có cần thiết phải destroy, set = null ko hay là cứ để xài lại cái group đã CreateGroup() ban đầu để nó tự lọc lại thành nhóm khác ấy :D
    @vuongkkk: có wait là có gì vậy bạn T_T
     
  16. vuongkkk

    vuongkkk T.E.T.Я.I.S

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Wait hoặc PolledWait đều ko được !
    Đấy là câu lệnh nó làm trigger trễ lại 1 khoảng thời gian trước khi xử lý nốt các lệnh bên dưới câu lệnh này.
    Như vậy là cái xử lý bị kéo dài. Trong khoảng thời gian nó chưa xử lý xong mà có trigger khác cũng xử lý cái biến này thì đó là tình trạnh ghi đè và mất dữ liệu.
    Tức là ko có wait ở giữa việc xử lý biến temp là được. Còn cách dùng đã nêu trên, ko thắc mắc nữa chứ ????

    Ngoài group, các biến khác cũng có thể dùng kiểu tương tự vậy. Đó là ý nghĩa của Temp (tạm thời) tức ko xử lý về lâu dài

    à quên chưa nói. Mấy cái này chính xác là lạc đề topic rồi đấy, sau post bên Hỏi đáp nhé :D Topic huyền thoại với lịch sử lâu đời thuộc hạng nhất trên gamevn đấy ;)
     
    Chỉnh sửa cuối: 16/2/12
  17. Ice Dragon

    Ice Dragon Mega Man

    Tham gia ngày:
    6/9/04
    Bài viết:
    3,101
    Nơi ở:
    none
    Đã post reply bên topic kia :D.
    Mình hỏi cái, giả sử tạo 1 Custom Spell ví dụ khi Unit A dùng skill X, đếm số Unit 800 range quanh A là Hero, rồi gây 200 dam * số Hero đã đếm lên các hero đó. Mình dùng nhóm tạm để lọc Unit quanh A
    Code của mình sẽ đại loại là:
    Mã:
    globals
     group tmpG=CreateGroup()
    endglobals
    
    
    function Fil takes nothing returns boolean
     if IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO) then
      set bj_groupCountUnits=bj_groupCountUnits+1
      return true
     endif
      return false
    endfunction
    
    function DealDam takes nothing  returns nothing
     call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), 200*bj_groupCountUnits, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
    endfunction
    
    
    function Action takes nothing returns nothing
     set bj_groupCountUnits = 0
     call GroupEnumUnitsInRange(tmpG, GetUnitX(GetSpellAbilityUnit()),GetUnitY(GetSpellAbilityUnit()),800,Filter(function Fil))
     call ForGroup(tmpG,function DealDam)
    endfunction 
    
    function Cond takes nothing returns boolean
     return GetSpellAbilityId()== ID_CUA_SKILL_X
    endfunction
    
    
    function KhoiDau takes nothing returns nothing
     local trigger trig = CreateTrigger( )
     call TriggerRegisterAnyUnitEventBJ( trig, EVENT_PLAYER_UNIT_SPELL_FINISH )
     call TriggerAddCondition( trig, Condition( function Cond ) )
     call TriggerAddAction( trig, function Action )
    endfunction
    
    Vậy có bị leak gì ko.
    Và nếu trong 1 trigger khác (ví dụ 1 skill Y khác), mình cũng dùng group tmpG với công dụng tương tự vậy, thì có khả năng nào cả 2 trigger cùng thực hiện 1 lúc (2 cái lệnh GroupEnumUnitsInRange xài cực kỳ gần nhau) thì có làm cho tmpG bị ghi đè lộn xộn ko?
     
  18. vuongkkk

    vuongkkk T.E.T.Я.I.S

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Ko leak cũng ko có ghi đè! Tớ đã nói cách dùng cũng như giải thích ở trên rồi đó mà.
    Nếu cậu muốn chắc ăn sao ko thử đi cho biết :-? nói thế nhưng tớ cũng reply lại cái post bên đấy của cậu rồi đấy :))
     
  19. toanlove371

    toanlove371 Youtube Master Race

    Tham gia ngày:
    11/10/11
    Bài viết:
    30
    em tham gia topic lâu rồi nhưng do trình độ còn kém, chưa làm dc spell nào ra hồn, chưa có trình độ đánh giá spell của người khác nhưng em hiểu công sức của mấy anh, hiểu dc niềm vui khi làm dc 1 spell hay, khi làm dc bài tut có ích. ko cần dài dòng nữa em chỉ mong mấy anh tiếp tục giúp đỡ mấy con gà như em học về WE...
    thanks cho những bài viết bổ ích:)
     
  20. *darkman*

    *darkman* Mr & Ms Pac-Man

    Tham gia ngày:
    2/1/09
    Bài viết:
    278
    Cho mình hỏi làm spell aura. khi học spell aura rùi thì all unit enemy trong phạm vi 1000 AoE sẽ bị giảm máu từ từ ? Thanks các bác
     

Chia sẻ trang này