[Hướng dẫn] làm 1 skill phản 100% damage

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

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. langthangbairac

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

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    Giới thiệu về skills : Khi dùng skills ( ở đây mình làm skills ở item ) thì mọi đòn kẻ địch tấn công ( bao gồm đánh thường và magic damage.

    Đầu tiên là chuẩn bị 1 custom skills ( dạng notarget, nếu làm cho item thì nên chọn Berserk trong unit abilities ) thêm 1 cái buff tên là phan damage ( xem demo sẽ thấy )

    Làm việc trigger :
    1 . Làm 2 cái trigger add event :
    Mã:
    event add 1
        Events
            Time - Elapsed game time is 0.00 seconds
        Conditions
        Actions
            Set Unit_group = (Unit in (Playable map area))
            Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
                Loop - Actions
                    Trigger - Add to Return <gen> the event (Unit - (Picked unit) Takes damage)
    

    Mã:
    event add 2
        Events
            Unit - A unit enters (Playable map area)
        Conditions
        Actions
            Trigger - Add to Return <gen> the event (Unit - (Triggering unit) Takes damage)
    
    xong phần add event, đến phần phản damage :
    Mã:
    Return
        Events
        Conditions
            ((Triggering unit) has buff Phan damage ) Equal to True
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Triggering unit) Not equal to (Damage source)
                Then - Actions
                    Trigger - Turn off this trigger.
                    Unit - Cause (triggering unit) to damage (Damage source), dealing (Damage taken) damage of attack type Hero and damage type Normal
                    Floating Text - Create floating text that reads (+ + (String((Integer((Damage taken)))))) above (Triggering unit) with Z offset 0.00, using font size 8.50, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
                    Floating Text - Change (Last created floating text): Disable permanence
                    Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                    Floating Text - Change the lifespan of (Last created floating text) to 6.00 seconds
                    Floating Text - Change the fading age of (Last created floating text) to 3.00 seconds
                    Trigger - Turn on this trigger.
                Else - Actions
    
    Từ phần Floating bạn có thể bỏ vì đấy là phần hiển thị số damage phản lại nên không cần thiết.
    Đặc biệt chú ý đến condition
    Mã:
    ((Triggering unit) has buff Phan damage ) Equal to True
    
    Nếu ko có cái này thì zZz.. khi bị take dame thì diss war luôn :((


    Nếu ai ko hiểu thì xem demo dưới

    Lưu ý : Ở phần trigger do WE bị j ấy nên mình phải enabled trigger, các bạn down về tick vào ô enabled trong mấy cái trigger là đc


    Đã sửa lại theo code chuẩn của anh Leo rồi :)
    Demo
     
    Chỉnh sửa cuối: 7/6/12
  2. King War

    King War

    Tham gia ngày:
    23/7/10
    Bài viết:
    2,136
    Nơi ở:
    kw_corp@yh
    warcraft 3 có sẵn chiêu phản damge cả đánh thường với đánh xa rùi mà :4cool_cold:
    Spiked Carapace : gần:8cool_tire:
    Thorns Aura : xa :5cool_ops:
     
    Chỉnh sửa cuối: 6/6/12
  3. Ice_water

    Ice_water Dragon Quest

    Tham gia ngày:
    11/1/07
    Bài viết:
    1,457
    Tạo con dummy để làm vẹo gì :8cool_tire:
     
  4. 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. Skil melee map là phản đòn đánh nhưng ko phản đòn phép
    2. Tạo dummy để tránh lặp trigger dẫn đến out map
    hiểu chưa 2 ông nội
     
    Chỉnh sửa cuối: 6/6/12
  5. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Không có turn off rồi turn on thì gây ra lỗi crash map là đúng rồi,rồi leak nữa kìa +_=

    Mà sao triggering unit ko damage vào damage source luôn đi còn tạo dummy damage chi vậy

    Như trên thì những skill nhờ dummy cast vào triggering unit gây damage cũng sẽ không bị phản
     
    Chỉnh sửa cuối: 6/6/12
  6. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    Làm skill thì nên hạn chế dùng dummy không cần thiết.
     
  7. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Mã:
    event add 1
        Events
            Time - Elapsed game time is 0.00 seconds
        Conditions
        Actions
            Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions) [COLOR="#FF0000"]<- Leak group[/COLOR]
                Loop - Actions
                    Trigger - Add to Return <gen> the event (Unit - (Picked unit) Takes damage)
    
    Mã:
    Return
        Events
        Conditions
            (Unit-type of (Damage source)) Not equal to Dummy
            ((Triggering unit) has buff Phan damage ) Equal to True
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    (Triggering unit) Not equal to (Damage source)
                Then - Actions
                    Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Position of (Damage source)) facing Default building facing degrees [COLOR="#FF0000"]<- leak point, hơn nữa không cần thiết[/COLOR]
                    Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                    Unit - Cause (Last created unit) to damage (Damage source), dealing (Damage taken) damage of attack type Hero and damage type Normal
                Else - Actions
    
    Leak, thừa dòng tạo dummy.
    Với 1 skill phản damage, code nên thế này

    Mã:
    Event Trigger 1
        Events
            Time - Elapsed game time is 0.00 seconds
        Conditions
        Actions
            Set TakeDamage = (Unit in (Playable map area))
            Unit Group - Pick every unit in TakeDamage and do (Actions)
                Loop - Actions
                    Trigger - Add to Return <gen> the event (Unit - (Picked unit) Takes damage)
    Mã:
    Event Trigger 2
        Events
            Unit enters playable map area
        Conditions
            (Triggering unit) is in TakeDamage equal to false
        Actions
            Unit - Add (Triggering unit) to TakeDamage
            Trigger - Add to Return <gen> the event (Unit - (Triggering unit) Takes damage)
    Mã:
    Return
        Events
        Conditions
            ((Triggering unit) has buff Phan damage ) Equal to True
            (Triggering unit) Not equal to (Damage source)
        Actions
            Trigger - Turn off this trigger.
            Unit - Cause (Triggering unit) to damage (Damage source), dealing (Damage taken) damage of attack type Hero and damage type Normal
            Trigger - Turn on this trigger.
    

    Không nên dùng dummy deal damage, nhiệm vụ duy nhất của dummy là cast hộ skill nhằm tạo effect thôi, damage vẫn phải do unit sở hữu skill deal.
     
  8. langthangbairac

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

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    Sặc. Thế các bác có ngĩ đến trường hợp 2 thằng cùng chơi phản dame k? crash là ở trườmg hợp này đấy. ko tạo dummy và condition như kia thì sẽ Take dame nhau liên tục hoặc có thăng bị phản có thằng ko =))
     
    Chỉnh sửa cuối: 6/6/12
  9. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    1 condition là đủ .
     
  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ế bạn nghĩ là cái nào :5cool_ops:
     
  11. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    À mà quên, hình như cũng chả cần thêm một cái condition nào đâu, trigger của Leo là chuẩn rồi =]].
     
  12. HacAmChiTam1997

    HacAmChiTam1997 Mr & Ms Pac-Man

    Tham gia ngày:
    12/12/11
    Bài viết:
    116
    Nói chuyện @@ ,tất nhiên là 2 con không thể phản dame cùng lúc rồi
    (Dame Scoure has buff Phan damage ) Equal to Fasle
    Giả sử không bị crash map thì 2 tg chỉ cần đánh 1 phát là phản qua phản lại tới chết ah @@
     
  13. Meepolisk

    Meepolisk Donkey Kong

    Tham gia ngày:
    8/2/08
    Bài viết:
    336
    Trigger của Leo là chuẩn, vì Leo turn off và turn off trigger để chống lặp trigger rồi, ko cần thiết tạo dummy
     
  14. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    2 con bật phản damage thì sao? Vấn đề gì à?

    Unit A gây damage -> Unit B take + deal back + turn off trigger -> Unit A take -> turn on trigger.
    Do unit A nhận damage sau khi trigger đã off, nên không có chuyện unit liên tục nhận và gây damage đâu
     
  15. conmacabong

    conmacabong Mario & Luigi

    Tham gia ngày:
    30/5/11
    Bài viết:
    836
    Nơi ở:
    Hồ Chí Minh
    Chạy xa nhau ra sẽ không còn bị n:7cool_feel_good:
     
  16. Daric™

    Daric™ C O N T R A

    Tham gia ngày:
    7/3/12
    Bài viết:
    1,853
    Nơi ở:
    Porizon
    bỏ thử vào map mới biết đc, cả 2 trigg của 2 bên luôn
    nếu cậu còn sợ phản qua phản lại thì cũng ko cần dummy, chỉ 1 và chỉ cần 1 boolean là đủ, dummy chỉ tổ gây leak
     
  17. langthangbairac

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

    Tham gia ngày:
    19/5/12
    Bài viết:
    594
    Nơi ở:
    Thanh Chương
    tks. giờ nghĩ kỹ lại mới thấy :)
     
  18. chomap007

    chomap007 Donkey Kong

    Tham gia ngày:
    20/11/06
    Bài viết:
    402
    -chủ topic nên chỉnh lại phần damage type, vì để normal sẽ ảnh hưởng tới armor tức là armor càng cao thì damage phản gây ra cảng nhỏ
     
  19. World_Editor

    World_Editor Mr & Ms Pac-Man

    Tham gia ngày:
    6/6/12
    Bài viết:
    137
    Nơi ở:
    tpHCM
    2 thằng bật phản damage thì chuyện gì xảy ra mình thật sự cũng biết :-??
     
  20. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    cho phản cái damage phản thì rõ ràng là "ăn gạch" rồi =))
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này