[ spells ]

Thảo luận trong 'World Editor' bắt đầu bởi langthangbairac, 18/7/12.

  1. 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 đâu, 7 con dummy còn để giữ sight nữa đấy.
    Dam tốt nhất là dùng Group - Pick Units để deal dam. Như vậy nếu ai dùng system jass deal dam thì có thể kiểm soát được nhiều hơn
    Còn slide mà cậu ấy nói nghĩa là chọn lần lượt các điểm để tạo dummy chứ ko phải để cho unit di chuyển

    Edit: Skill Incinerate nếu ko phải là chính skill base thì ko có tác dụng (đã thử)
    Đừng copy skill đó làm gì. Custom skill đó ko chạy đâu....
     
    Chỉnh sửa cuối: 19/7/12
  2. langthangbairac

    langthangbairac T.E.T.Я.I.S

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    Nếu dùng slide thì mìng ngĩ dame deal và spels sẽ không khớp nhau, tốt nhất đi đến đâu deal tới đấy
     
  3. game_war48

    game_war48 Dragon Quest

    Tham gia ngày:
    7/9/08
    Bài viết:
    1,320
    Nơi ở:
    Ice City
    Đúng rồi... Mỗi lần tạo dummy unit thì gây damage xung quanh đó.

    Skill 3 của súng dùng upgrade mất vài dòng code, và chỉ tốn đúng 1 Upgrade, làm gì phải tạo nhiều Hero rồi add skill, order nó lung tung thế kia. Nhỡ nó learn skill trong lúc bị Silence thì thọt à =)) ? Dùng Upgrade Long Rifles 'Rhri'.

    -------------

    Cái ability Incinerate buồn cười nhỉ, chỉ ability gốc mới có tác dụng, custom thì k có tác dụng =)). Trong DotA có mình con Ursa là có skill đấy nên chắc là nó dùng Base luôn rồi.
     
    Chỉnh sửa cuối: 19/7/12
  4. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    Bạn langthangbairac suy ngĩ vấn đề cao cấp wá, có nhiều cái base rất có ích nhưng lại k biết, như cái skill nhảy damg của Luna cũng là từ UPGRADE đó. Mý cái này mà chạy = GUI thì kiểm soát s dc =.=''
     
  5. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Vừa slide vừa tạo Dummy vừa gây dmg. Chứ tạo Dummy rồi pick 200 xung quanh mỗi con rồi gây dmg á? Thử vẽ ra xem là thấy chắc chắn có chỗ địch nằm trên đường wave nhưng không dính dmg. Còn slide sẽ pick liên tục từng khoảng cách nhỏ 1 quanh con missile dummy đc slide nên sẽ k bị sót như hình dưới.
     

    Các file đính kèm:

  6. langthangbairac

    langthangbairac T.E.T.Я.I.S

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    Không phải vậy đâu, mà là phải thế này cơ :D
    untitled.JPG
     
  7. frostwyrm_9x

    frostwyrm_9x Mr & Ms Pac-Man

    Tham gia ngày:
    12/7/09
    Bài viết:
    190
    Nơi ở:
    Warcraft III
    thực ra cái của bạn là cứ 600 range thì deal dam trong khoảng 300 aoe thì nó thế, nếu mõi 300 range mà deal dam trong khoảng 300 aoe thì sẽ khác (VD thế) khó giải thích
     
  8. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Như thế thì đâu có giống cái wave trong Dota =.=! Khoảng giao của 2 cái vòng kia dmg sẽ gấp 2?
     
  9. frostwyrm_9x

    frostwyrm_9x Mr & Ms Pac-Man

    Tham gia ngày:
    12/7/09
    Bài viết:
    190
    Nơi ở:
    Warcraft III
    bạn nhầm r, khi deal dam, add unit bị deal dam vào 1 unitgroup, trigger if unit ý ở trong unitgroup kia thì sẽ ko deal dam
     
  10. langthangbairac

    langthangbairac T.E.T.Я.I.S

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    thế tôi làm cái Howl_Group_Total để làm cảnh hả :8cool_amazed:
    Và theo cách nghĩ của bạn thì chả phải gấp đôi mà còn gấp x ??? lần đấy



    ----------------------------------------------------------------
    Up cái Toss
     
  11. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    Mã:
    Toss Cast
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Toss 
        Actions
            Set Toss_Unit[1] = (Casting unit)
            Set Toss_Unit[2] = (Target unit of ability being cast)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Toss_Unit[2] belongs to an ally of (Owner of Toss_Unit[1])) Equal to False
                Then - Actions
                    Set Toss_Pos[1] = (Position of Toss_Unit[2])
                    Set Toss_Group = (Units within 275.00 of [COLOR="#FF0000"][B](Position of Toss_Unit[1])[/B][/COLOR] matching (((((Matching unit) is alive) Equal to True) and ((Level of Toss  for (Matching unit)) Not equal to 1)) and (((Matching unit) Not equal to Toss_Unit[1]) and (((Matching unit) is A structure) Equal to
                    Set Toss_Unit[3] = (Random unit from Toss_Group)
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Toss_Unit[3] Equal to No unit) or ((Owner of Toss_Unit[3]) Equal to (Owner of Toss_Unit[1]))
                        Then - Actions
                            Cinematic - Clear the screen of text messages for [B][COLOR="#FF0000"](Player group((Owner of Toss_Unit[1])))[/COLOR][/B]
                            [COLOR="#FF0000"]Unit - Order Toss_Unit[1] to Stop
                            Wait 0.00 seconds
                            Unit - Set mana of Toss_Unit[1] to ((Mana of Toss_Unit[1]) + 120.00)[/COLOR]
                            If (Toss_Unit[3] Equal to No unit) then do (Game - Display to [B][COLOR="#FF0000"](Player group((Owner of Toss_Unit[1])))[/COLOR][/B] for 2.00 seconds the text:                    ...) else do (Game - Display to (Player group((Owner of Toss_Unit[1]))) for 2.00 seconds the text:                    ...)
                        Else - Actions
                            Unit - Add Crow Form to Toss_Unit[3]
                            Unit - Remove Crow Form from Toss_Unit[3]
                            Unit - Pause Toss_Unit[3]
                            Unit - Turn collision for Toss_Unit[3] Off
                            Set Toss_Counter = 0
                            Countdown Timer - Start Toss_Timer as a Repeating timer that will expire in 0.02 seconds
                            [COLOR="#FF0000"][B]Special Effect - Create a special effect attached to the origin of Toss_Unit[3] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl[/B][/COLOR]
                    Custom script:   call DestroyGroup (udg_Toss_Group)
                Else - Actions
                    [COLOR="#FF0000"]Unit - Order Toss_Unit[1] to Stop
                    Wait 0.00 seconds
                    Unit - Set mana of Toss_Unit[1] to ((Mana of Toss_Unit[1]) + 120.00)[/COLOR]
    
    đỏ đậm là leak
    đỏ sẽ gây lỗi nếu skill được cast 2 lần một lúc, wait 0.0s tương đương wait 0.1s
    nếu không muốn target vào ally thì đặt Target Allowed của ability Toss là xong, sao lại phải "if" ?
    nếu muốn dừng spell trước khi mất mana hay cooldown thì dùng event: Begin casting an ability

    Mã:
    Toss start
        Events
            Time - Toss_Timer expires
        Conditions
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Toss_Counter Greater than 50
                Then - Actions
                    Countdown Timer - Pause Toss_Timer
                    Unit - Unpause Toss_Unit[3]
                    Unit - Turn collision for Toss_Unit[3] On
                    Animation - Change Toss_Unit[3] flying height to (Default flying height of Toss_Unit[3]) at 0.00
                    [COLOR="#FF0000"][B]Special Effect - Create a special effect attached to the origin of Toss_Unit[3] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl[/B][/COLOR]
                    Unit - Cause Toss_Unit[1] to damage Toss_Unit[3], dealing (0.20 x (75.00 x (Real((Level of Toss  for Toss_Unit[1]))))) damage of attack type Spells and damage type Fire
                    Set Toss_Group = (Units within 300.00 of [B][COLOR="#FF0000"](Position of Toss_Unit[3])[/COLOR][/B] matching ((((Matching unit) belongs to an enemy of (Owner of Toss_Unit[1])) Equal to True) and (((Matching unit) is A structure) Equal to False)))
                    Unit Group - Pick every unit in Toss_Group and do (Unit - Cause Toss_Unit[1] to damage (Picked unit), dealing (75.00 x (Real((Level of Toss  for Toss_Unit[1])))) damage of attack type Spells and damage type Fire)
                    Custom script:   call DestroyGroup (udg_Toss_Group)
                    Custom script:   call RemoveLocation (udg_Toss_Pos[1])
                    Custom script:   call RemoveLocation (udg_Toss_Pos[3])
                Else - Actions
                    Set Toss_Counter = (Toss_Counter + 1)
                    Animation - Change Toss_Unit[3] flying height to (775.00 - ((((Real(Toss_Counter)) - 25.00) x ((Real(Toss_Counter)) - 25.00)) - 25.00)) at 0.00
                    Set Toss_Pos[2] = (Position of Toss_Unit[2])
                    If ((Distance between Toss_Pos[1] and Toss_Pos[2]) Greater than 1000.00) then do (Set Toss_Pos[3] = Toss_Pos[3]) else do (Set Toss_Pos[3] = Toss_Pos[2])
                    Set Toss_Pos[4] = (Position of Toss_Unit[3])
                    Set Toss_Pos[5] = (Toss_Pos[4] offset by ((Distance between Toss_Pos[4] and Toss_Pos[3]) / (50.00 - (Real(Toss_Counter)))) towards (Angle from Toss_Pos[4] to Toss_Pos[3]) degrees)
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Distance between Toss_Pos[4] and Toss_Pos[3]) Greater than or equal to ((Distance between Toss_Pos[4] and Toss_Pos[3]) / (50.00 - (Real(Toss_Counter))))
                        Then - Actions
                            Unit - Move Toss_Unit[3] instantly to Toss_Pos[5]
                        Else - Actions
                            Unit - Move Toss_Unit[3] instantly to Toss_Pos[3]
            [COLOR="#00FF00"]Custom script:   call RemoveLocation (udg_Toss_Pos[2])
            Custom script:   call RemoveLocation (udg_Toss_Pos[4])
            Custom script:   call RemoveLocation (udg_Toss_Pos[5])[/COLOR]
    
    đỏ đậm là leak
    xanh sao lại để ở ngoài? nó phải ở trong Else chứ? nếu để ở ngoài thì khi (Toss_Counter Greater than 50) Then - Actions chạy xong lại remove Toss_Pos 2, 4 ,5 lần nữa? trong khi nó không có giá trị gì? (không sao nhưng việc này không nên)
     
  12. frostwyrm_9x

    frostwyrm_9x Mr & Ms Pac-Man

    Tham gia ngày:
    12/7/09
    Bài viết:
    190
    Nơi ở:
    Warcraft III
    nhìn ko giống skill Toss của anh Tom làm cho lắm, riêng cái change flying height đã thấy hơi lạ r, nếu toss kỉu của bạn làm chắc đột ngột bay lên trời xong từ từ rơi xuống quá
     
    Chỉnh sửa cuối: 19/7/12
  13. WorldCyberGames

    WorldCyberGames Youtube Master Race

    Tham gia ngày:
    27/6/12
    Bài viết:
    99
    khoe...tài...năng...vượt...trội...về...vjass...của...mình...hả? =))
    cho em hỏi cách làm skill này: đẩy 1 unit lên (giống force staff) 250/500/750/1000 range
     
  14. game_war48

    game_war48 Dragon Quest

    Tham gia ngày:
    7/9/08
    Bài viết:
    1,320
    Nơi ở:
    Ice City
    Cái skill dạng này dễ mà... chỉ là move rất cơ bản. Nếu không biết tốt nhất vào đây để học, hiểu thì sau này dạng move kiểu này vẩy tay cái là xong :-@.
    Force Staff khi cast thì move target theo hướng của unit đó đang nhìn:
    Mã:
    Unit - Move tempUnit instantly to ((Position of tempUnit) offset by [B]50.00[/B] towards (Facing of tempUnit) degrees)
    
    Cái dòng code đó sẽ chạy mỗi 0.04s (hoặc 0.0325s,...). Mỗi lần chạy thế thì trừ tick đi (tick tối đa lấy 250/500/750/1000 chia cho 50 trên kia). Tick hết thì dừng move.

    ------------------------

    @thegioiran1: Không hiểu thể loại spam này là như thế nào ? Spam để lên post hay là để bị chém ? Spam mang mục đích phá hoại ? Hoặc là bị thiểu năng trí tuệ ?
     
    Chỉnh sửa cuối: 20/7/12
  15. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Force Staff thì demo đây (xem phần ability thôi)
    View attachment Demo - Double-click Item.zip
     
  16. langthangbairac

    langthangbairac T.E.T.Я.I.S

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    sao lại từ từ rơi? Tốc độ lên xuống bằng nhau mà.
    @ Tom_Kazansky để trưa về xem lại rồi sửa.
     
  17. WorldCyberGames

    WorldCyberGames Youtube Master Race

    Tham gia ngày:
    27/6/12
    Bài viết:
    99
    rồi hướng dẫn em làm 2 skill này với:
    1. khi giết đc 1 unit thì +1 soul (1 soul = 1 damage). khi chết giải phóng 100/75/50/25% số soul đã có. soul maximum gain: 99999
    2. khi giết đc unit +1 agi. maximum agi gain: 25/50/75/100. khi cheest giải phóng 50% số agi đã có
    cám ơn!!
     
  18. langthangbairac

    langthangbairac T.E.T.Я.I.S

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    1. Max 99999 thì kêu anh Tom làm đi, mình chả làm được :D
    2. Cái này dễ quá mà :
    Event unit die ( là hero hay unit ) rồi add agi thôi

    ---------- Post added at 13:39 ---------- Previous post was at 12:51 ----------

    Update ba cái spells của pudge và kunka \m/
     
  19. truongdzuy

    truongdzuy Mr & Ms Pac-Man

    Tham gia ngày:
    25/1/09
    Bài viết:
    274
    Nơi ở:
    Tp.HCM
    wan trọng là fần in đậm đó bạn :) .... chứ nếu chỉ +1agi thì dễ thôi :)
     
  20. langthangbairac

    langthangbairac T.E.T.Я.I.S

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    zzz? cái này rất dễ mà ? cậu andy sao chả chịu suy nghĩ gì hết vậy ?
    2 cái trigger này
    Mã:
    Add and Subtract
        Events
            Unit - A unit Dies
        Conditions
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Triggering unit) Equal to Agi_Unit
                Then - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            Agi_Int Greater than 1
                        Then - Actions
                            Set Agi_Int = (Agi_Int / Subtract)
                            Hero - Modify Agility of (Killing unit): Subtract Agi_Int
                        Else - Actions
                Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Killing unit) Equal to Agi_Unit
                        Then - Actions
                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                If - Conditions
                                    ((Triggering unit) is A Hero) Equal to False
                                Then - Actions
                                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        If - Conditions
                                            Agi_Int Less than Agi_Max
                                        Then - Actions
                                            Hero - Modify Agility of (Killing unit): Add 1
                                        Else - Actions
                                Else - Actions
                        Else - Actions
    

    Mã:
    Unit
        Events
            Unit - A unit Learns a skill
        Conditions
            (Learned Hero Skill) Equal to Human Archmage - Blizzard
        Actions
            Set Agi_Unit = (Triggering unit)
    
    Chỉnh max agi ở phần Agi_max chắc hiểu được nhỉ. Đặt trong event thứ 2 ấy
     

Chia sẻ trang này