Topic hỏi đáp cho anh em (Về cách làm map)

Thảo luận trong 'World Editor' bắt đầu bởi Dark Gamer, 2/1/08.

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

    Dark Gamer Legend of Zelda

    Tham gia ngày:
    26/8/07
    Bài viết:
    1,125
    Nơi ở:
    Hà Nội
    @ask : Animation - Change (Unit can sua)'s vertex coloring to (100.00%, 100.00%, 100.00%) with x% transparency
    x càng to càng mờ

    show damage :
    varible :
    Dam : real
    UnitTakeDam : Unit
    UnitBiTakeDam : Unit
    Group : Unit Group
    Boolean : Boolean Array // cái nài nhằm biết xem cái play nào muốn show dam

    Đầu tiên bạn cho

    Mã:
    Initialization
        Events
            Map initialization
        Conditions
        Actions
            Melee Game - Use melee time of day (for all players)
            Set Group = (Units in (Playable map area))
            For each (Integer A) from 1 to 12, do (Actions)
                Loop - Actions
                    Set Boolean[(Integer A)] = True
            Unit Group - Pick every unit in Group and do (Actions)
                Loop - Actions
                    Trigger - Add to Cai thu 2 <gen> the event (Unit - (Picked unit) Takes damage)
    
    ở phần mở đầu của map

    cần tạo 2 trigger :
    Mã:
    Cai thu 1
        Events
            Unit - A unit enters (Playable map area)
        Conditions
            ((Triggering unit) is in Group) Equal to False
        Actions
            Unit Group - Add (Triggering unit) to Group
            Trigger - Add to Cai thu 2 <gen> the event (Unit - (Triggering unit) Takes damage)
    
    nhiệm vụ của cái nài là để add toàn bộ unit mà sau nai xuất hiện vào trong 1 group để tránh trùng lập. Đồng thời add unit thêm cái Event Take Damage


    Mã:
    Cai thu 2
        Events
        Conditions
        Actions
            Trigger - Turn off (This trigger)
            Set UnitTakeDam = (Damage source)
            Set UnitBiTakeDamage = (Triggering unit)
            Set Dam = (Damage taken)
            For each (Integer A) from 1 to 12, do (Actions)
                Loop - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            Boolean[(Integer A)] Equal to True
                        Then - Actions
                            Floating Text - Create floating text that reads (String(Dam)) above UnitTakeDam with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                            Floating Text - Show (Last created floating text) for (Player group((Player((Integer A)))))
                            Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
                            Floating Text - Change (Last created floating text): Enable permanence
                            Floating Text - Change the fading age of (Last created floating text) to 1.50 seconds
                        Else - Actions
            Set UnitBiTakeDamage = No unit
            Set UnitTakeDam = No unit
            Set Dam = 0.00
            Trigger - Turn on (This trigger)
    

    đây là phần show damage. nếu bạn muốn show cho play nào thì Set Boolean[Number của play] = true

    có gì hok hỉu thì hỏi ná
    mình có gửi file ở dưới
    nói thực mình cũng chưa test có lỗi thì sr ná :)


    thêm cái :
    @ hok nhớ tên :) : cái vụ buff tăng max life thì trigger mình hok biết cách làm multi ( tức là stack ấy ) mà bạn phải làm cooldown > duration thôi :whew:

    Mã:
    Set Max Hp
        Events
        Conditions
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Max_Hp Greater than 0
                Then - Actions
                    Set Loop_Integer = ((Max_Hp - (Max_Hp mod 100)) / 100)
                    For each (Integer A) from 1 to Loop_Integer, do (Actions)
                        Loop - Actions
                            Unit - Add Max Life Modifier  to Some_Unit
                            Unit - Set level of Max Life Modifier  for Some_Unit to 4
                            Unit - Remove Max Life Modifier  from Some_Unit
                    Set Max_Hp = (Max_Hp mod 100)
                    Set Loop_Integer = ((Max_Hp - (Max_Hp mod 10)) / 10)
                    For each (Integer A) from 1 to Loop_Integer, do (Actions)
                        Loop - Actions
                            Unit - Add Max Life Modifier  to Some_Unit
                            Unit - Set level of Max Life Modifier  for Some_Unit to 3
                            Unit - Remove Max Life Modifier  from Some_Unit
                    Set Max_Hp = (Max_Hp mod 10)
                    For each (Integer A) from 1 to Max_Hp, do (Actions)
                        Loop - Actions
                            Unit - Add Max Life Modifier  to Some_Unit
                            Unit - Set level of Max Life Modifier  for Some_Unit to 2
                            Unit - Remove Max Life Modifier  from Some_Unit
                Else - Actions
                    Set Max_Hp = (0 - Max_Hp)
                    Set Loop_Integer = ((Max_Hp - (Max_Hp mod 100)) / 100)
                    For each (Integer A) from 1 to Loop_Integer, do (Actions)
                        Loop - Actions
                            Unit - Add Max Life Modifier  to Some_Unit
                            Unit - Set level of Max Life Modifier  for Some_Unit to 7
                            Unit - Remove Max Life Modifier  from Some_Unit
                    Set Max_Hp = (Max_Hp mod 100)
                    Set Loop_Integer = ((Max_Hp - (Max_Hp mod 10)) / 10)
                    For each (Integer A) from 1 to Loop_Integer, do (Actions)
                        Loop - Actions
                            Unit - Add Max Life Modifier  to Some_Unit
                            Unit - Set level of Max Life Modifier  for Some_Unit to 6
                            Unit - Remove Max Life Modifier  from Some_Unit
                    Set Max_Hp = (Max_Hp mod 10)
                    For each (Integer A) from 1 to Max_Hp, do (Actions)
                        Loop - Actions
                            Unit - Add Max Life Modifier  to Some_Unit
                            Unit - Set level of Max Life Modifier  for Some_Unit to 5
                            Unit - Remove Max Life Modifier  from Some_Unit
    
    sytem tăng max life

    Mã:
    Set Max Mana
        Events
        Conditions
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Max_Mana Greater than 0
                Then - Actions
                    Set Loop_Integer = ((Max_Mana - (Max_Mana mod 100)) / 100)
                    For each (Integer A) from 1 to Loop_Integer, do (Actions)
                        Loop - Actions
                            Unit - Add Max Mana Modifier  to Some_Unit
                            Unit - Set level of Max Mana Modifier  for Some_Unit to 4
                            Unit - Remove Max Mana Modifier  from Some_Unit
                    Set Max_Mana = (Max_Mana mod 100)
                    Set Loop_Integer = ((Max_Mana - (Max_Mana mod 10)) / 10)
                    For each (Integer A) from 1 to Loop_Integer, do (Actions)
                        Loop - Actions
                            Unit - Add Max Mana Modifier  to Some_Unit
                            Unit - Set level of Max Mana Modifier  for Some_Unit to 3
                            Unit - Remove Max Mana Modifier  from Some_Unit
                    Set Max_Mana = (Max_Mana mod 10)
                    For each (Integer A) from 1 to Max_Hp, do (Actions)
                        Loop - Actions
                            Unit - Add Max Mana Modifier  to Some_Unit
                            Unit - Set level of Max Mana Modifier  for Some_Unit to 2
                            Unit - Remove Max Mana Modifier  from Some_Unit
                Else - Actions
                    Set Max_Mana = (0 - Max_Mana)
                    Set Loop_Integer = ((Max_Mana - (Max_Mana mod 100)) / 100)
                    For each (Integer A) from 1 to Loop_Integer, do (Actions)
                        Loop - Actions
                            Unit - Add Max Mana Modifier  to Some_Unit
                            Unit - Set level of Max Mana Modifier  for Some_Unit to 7
                            Unit - Remove Max Mana Modifier  from Some_Unit
                    Set Max_Mana = (Max_Mana mod 100)
                    Set Loop_Integer = ((Max_Mana - (Max_Mana mod 10)) / 10)
                    For each (Integer A) from 1 to Loop_Integer, do (Actions)
                        Loop - Actions
                            Unit - Add Max Mana Modifier  to Some_Unit
                            Unit - Set level of Max Mana Modifier  for Some_Unit to 6
                            Unit - Remove Max Mana Modifier  from Some_Unit
                    Set Max_Mana = (Max_Mana mod 10)
                    For each (Integer A) from 1 to Max_Hp, do (Actions)
                        Loop - Actions
                            Unit - Add Max Mana Modifier  to Some_Unit
                            Unit - Set level of Max Mana Modifier  for Some_Unit to 5
                            Unit - Remove Max Mana Modifier  from Some_Unit
    
    sytem tăng max mana

    và cách sử dụng vd :

    Mã:
    Test Set Max Hp and Mana
        Events
            Player - Player 1 (Red) types a chat message containing test as A substring
        Conditions
        Actions
            Set Group = (Units currently selected by Player 1 (Red))
            Unit Group - Pick every unit in Group and do (Actions)
                Loop - Actions
                    Set Max_Hp = 300
                    Set Max_Mana = 300
                    Set Some_Unit = (Picked unit)
                    Trigger - Run Set Max Hp <gen> (ignoring conditions)
                    Trigger - Run Set Max Mana <gen> (ignoring conditions)
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Level of Max Life Modifier  for (Picked unit)) Equal to 0
                        Then - Actions
                            Game - Display to (All players) for 30.00 seconds the text: (Set Max HP for  + (Name of (Picked unit)))
                        Else - Actions
            Wait 30.00 seconds
            Unit Group - Pick every unit in Group and do (Actions)
                Loop - Actions
                    Set Max_Hp = -300
                    Set Max_Mana = -300
                    Set Some_Unit = (Picked unit)
                    Trigger - Run Set Max Hp <gen> (ignoring conditions)
                    Trigger - Run Set Max Mana <gen> (ignoring conditions)
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            (Level of Max Life Modifier  for (Picked unit)) Equal to 0
                        Then - Actions
                            Game - Display to (All players) for 30.00 seconds the text: (Set Max HP for  + (Name of (Picked unit)))
                        Else - Actions
    

    khi bạn chat test thì sẽ có Max_Life = số life bạn muốn thêm

    coi như nó là buff dur = 30s nhé :D Some Unit là unit mún add thêm
    enjoy

    quên mất là có 3 var nhé :
    Max_Life = integer
    Max_Mana = integer
    Some_Unit = unit

    map ở dưới
     

    Các file đính kèm:

  2. lucifekit

    lucifekit The Warrior of Light

    Tham gia ngày:
    25/2/06
    Bài viết:
    2,344
    Làm như bạn tăng max life được theo % đấy,nhưng mà mỗi lần chạy trigger đấy nó lại khựng lại 1 cái nên mình nghĩ dùng nhiều sẽ lag,nên mới có í định ko tăng máu theo % nữa mà tăng theo chỉ số cố định luôn....??
     
  3. Dark Gamer

    Dark Gamer Legend of Zelda

    Tham gia ngày:
    26/8/07
    Bài viết:
    1,125
    Nơi ở:
    Hà Nội
    khựng ? mình dùng có sao đâu nhỉ ::(
    có thể nó chỉ bị khựng lần đầu tiên :-/ bạn thử dùng preload xem sao

    anh tom xóa hộ em bài nài nó bị đơ đơ nên thanh multipost
     
  4. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    DG nói dúng, lần đầu thì bị khựng lại 1 chút, còn từ lần thứ 2 trở đi thì chả sao cả. Lucifekit, em post cái trigger tăng max life của em lên xem nào, nếu post đc map thì càng tốt.
     
  5. DuongKyMinh

    DuongKyMinh The Warrior of Light

    Tham gia ngày:
    13/5/03
    Bài viết:
    2,439
    Nơi ở:
    Đào Hoa Đảo
    Tình hình là sau 6,7 năm ko đụng tới. Giờ bỗng dưng có hứng làm cái map cho anh em trong nhà chơi thì gần như quên hết :|

    Anh em ai chỉ giúp mấy thứ này, thật tình là ko nhớ, thông cảm ạ:
    - Khóa di chuyển màn hình, tức là cái map ko cho nó move ra khỏi khu vực mình cho phép. Chỉ khi gọi System này nọ nó mới move wa.
    - Một số unit ko có cái vòng sáng phía dưới (vốn chỉ có Hero mới có) làm sao thêm vào. Ngày xưa map Reaper Arena tớ thêm đủ cả mà giờ mò mãi ko ra. :(

    Ai biết chỉ giúp, thanks nhìu :)
     
  6. lucifekit

    lucifekit The Warrior of Light

    Tham gia ngày:
    25/2/06
    Bài viết:
    2,344
    Dạ đây,Set Max Life=>Finger of Death:))
     

    Các file đính kèm:

  7. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    anh thấy bình thường, chỉ khi dùng vào unit nào nhiều máu quá (caster - hình con sói đen ấy) thì bị khựng lại một tí. Để tránh cái vụ này thì nếu thấy có thể tăng/giảm hơn 10K máu thì ability MaxLifeModifier nên thêm 2 level nữa, +-10000 và tất nhiên trong trigger phải thêm vòng lặp với 10000.
     
  8. boy_shock_kute

    boy_shock_kute Mr & Ms Pac-Man

    Tham gia ngày:
    19/9/08
    Bài viết:
    241
    anh Tom cho em 1 vài ý tưởng làm nv đi , em làm map có NV nhưng cạn ý tưởng wá T_T
     
  9. DuongKyMinh

    DuongKyMinh The Warrior of Light

    Tham gia ngày:
    13/5/03
    Bài viết:
    2,439
    Nơi ở:
    Đào Hoa Đảo
    Ai biết chỉ dùm với :( Tom biết ko chỉ giúp. Ko biết Zeka với devilxxn còn chơi box này ko nữa.

    - Khóa di chuyển màn hình, tức là cái map ko cho nó move ra khỏi khu vực mình cho phép. Chỉ khi gọi System này nọ nó mới move wa.
    - Một số unit ko có cái vòng sáng phía dưới (vốn chỉ có Hero mới có) làm sao thêm vào. Ngày xưa map Reaper Arena tớ thêm đủ cả mà giờ mò mãi ko ra. :(

    Thanks ::)
     
  10. squall2006

    squall2006 Mr & Ms Pac-Man

    Tham gia ngày:
    6/3/06
    Bài viết:
    244
    cho mình tham khảo về cách chọn tướng trong DOTA!!!Click vào icon là có tướng ấy !!!
    cho mình tham khảo
     
  11. Espeon - cool

    Espeon - cool Donkey Kong

    Tham gia ngày:
    16/1/07
    Bài viết:
    314
    cái vòng sáng có share ở đằng trước kìa, chịu khó mò xem
    THế ông Tom chỉ hộ làm mấy cái skill stack coi nào? giống brístleback ý mà
     
  12. Ice Dragon

    Ice Dragon Mega Man

    Tham gia ngày:
    6/9/04
    Bài viết:
    3,101
    Nơi ở:
    none
  13. Dark Gamer

    Dark Gamer Legend of Zelda

    Tham gia ngày:
    26/8/07
    Bài viết:
    1,125
    Nơi ở:
    Hà Nội
    @Es: nhờ vả với cái giọng đó nghe đã chẳng mún làm rùi
    nếu mún làm spell stack thì lập thêm 1 varible integer rồi mỗi lần cast thì set nó + 1 ,wait 1 thời gian ( ~10s) rồi set - 1
     
  14. lucifekit

    lucifekit The Warrior of Light

    Tham gia ngày:
    25/2/06
    Bài viết:
    2,344
    Anh Tom hoặc bạn Dark Gamer có thể cho mình coi map demo về skill tăng max life và aura tăng max life được ko,MUI được thì tốt quá:(
     
  15. Dark Gamer

    Dark Gamer Legend of Zelda

    Tham gia ngày:
    26/8/07
    Bài viết:
    1,125
    Nơi ở:
    Hà Nội
    mình tưởng mình send ở bài trước rồi còn gì bạn, cái set max hp đó có 2 cái trigger 1 cái set max life và 1 cái set max mana mà bạn, bạn xem lại thử xem
     
  16. lucifekit

    lucifekit The Warrior of Light

    Tham gia ngày:
    25/2/06
    Bài viết:
    2,344
    Cái map đó mình xem ở thehelper.net rồi,đây mình muốn nó thành skill buff cho người khác/buff cho mình được và hơn hết là thành aura tăng max life cơ.MUI thì tuyệt.
     
  17. Exp1111

    Exp1111 Donkey Kong

    Tham gia ngày:
    19/9/08
    Bài viết:
    486
    Nơi ở:
    HN123
    Thử cách này đi:
    dùng 1 trigger:
    Event - Every 0.10 second ò game - time
    Condition
    Actions:
    Pick every unit(unit in Playable area matching(matching unit has buff(buf))) equal to true and do
    Loop
    Unit - Add(Hp Plus) to (Picked Unit)
    //Nếu chỉ có 1 hero có chiêu đs thì thêm cái này:
    Set level ò HP Plus for (Picked unit) to level of Aura + hp for(random unit in(unit in Playable area matching(Level ò Aura for matching unit Greater than 0)))

    Pick every unit(unit in Playable area matching(matching unit has buff(buf))) equal to false and do
    Loop
    Unit - Remove(Hp Plus) from (Picked Unit)

    Thử xem nào, có thể sẽ hơi giật.
     
  18. lucifekit

    lucifekit The Warrior of Light

    Tham gia ngày:
    25/2/06
    Bài viết:
    2,344
    Nhưng mà HP Plus đó của bạn hình như là ability chứ ko phải trigger hả? Với lại làm vậy lỡ có 2 đứa buff thì sợ máu nó cứ bị dupe lên dần dần@@.

    Mà làm map nên chọn cách mỗi người 1 type hero thì code có lẽ dễ hơn,nhưng mà giờ ít character nên mới chọn nhiều người có thể cùng type hơn....Dota cũng có mode du <duplicated mode> chắc spell nào của họ cũng MUI hết nhỉ?
     
  19. MjnWu

    MjnWu Youtube Master Race

    Tham gia ngày:
    10/9/07
    Bài viết:
    98
    Nơi ở:
    BD

    Update Reaper Arena đi DKM, hồi xưa Mjn thĩ chơi map này lắm, chỉ toàn là đánh Area map này với bạn thôi, mà update phiên bản War 1.2x thì tự nhiên stun tới sáng :) ...
     
  20. Exp1111

    Exp1111 Donkey Kong

    Tham gia ngày:
    19/9/08
    Bài viết:
    486
    Nơi ở:
    HN123
    Họ làm JASS cả đấy, nếu ko thì 2 con Void cast Unti.............

    Làm 1 type thì dễ rồi, nhưng ít thì ko hẳn phải chọn chung, có cả đống spell stardard + hiveworkshop, và có thể cả spell của bạn tự nghĩ nữa, thừa cho mỗi hero 4 spell nhòe, map tui cũng ít hero lắm, nhưng tôi cũng ko có hero nào skill giống nhau cả + mỗi hero chỉ chọn 1 lần, đỡ nhàm.
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này