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

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

  1. Daranla

    Daranla Mr & Ms Pac-Man

    Tham gia ngày:
    11/9/09
    Bài viết:
    237
    Nơi ở:
    Nhấp vào cái cân th
    ai cho mình hỏi, làm thế nào để kiểm tra một ability có đang cooldown hay không ?
     
  2. Daranla

    Daranla Mr & Ms Pac-Man

    Tham gia ngày:
    11/9/09
    Bài viết:
    237
    Nơi ở:
    Nhấp vào cái cân th
    cho mình hỏi làm sao để kiểm tra xem một ability có đang cooldown ko vậy ?
     
  3. babied

    babied Youtube Master Race

    Tham gia ngày:
    18/11/12
    Bài viết:
    67
    sử dụng trigger; cậu check unit cast skill rồi cho time variable chạy ;)) đấy là cách của mềnh ;))
     
  4. babied

    babied Youtube Master Race

    Tham gia ngày:
    18/11/12
    Bài viết:
    67
    cái này tôi nghĩ ông tự viết trigger đi;
    nghiên cứu trigger nhiều là ra mờ; cái này còn phần trigger hiện bảng tính điểm nữa thì ngon ;)
     
  5. SITUVN

    SITUVN T.E.T.Я.I.S

    Tham gia ngày:
    6/11/09
    Bài viết:
    575
    1 trigger nhận Tướng "đăng kí đánh nhau", đồng thời nó kiểm tra nếu đủ số thằng đăng kí thì khởi chạy giải đấu. Vả lại cần gì Hide, chỉ cần Pause nó thôi.
    1 trigger chạy khi có thằng trong "võ đài" chết để mà tính điểm.

    Mà đấu kiểu này thì ở khoản chia cặp đấu tính điểm thì hơi phức tạp. Nếu đấu cặp loại trực tiếp thì dễ hơn nhưng không được công bằng cho lắm ;))

    Nghĩ ra chỉ vậy.
     
    Chỉnh sửa cuối: 5/8/13
  6. Daranla

    Daranla Mr & Ms Pac-Man

    Tham gia ngày:
    11/9/09
    Bài viết:
    237
    Nơi ở:
    Nhấp vào cái cân th
    cho mình hỏi tác dụng của countdown timer và cách sử dụng ?
     
  7. babied

    babied Youtube Master Race

    Tham gia ngày:
    18/11/12
    Bài viết:
    67
    nó tạo 1 đồng hồ đếm ngược về 0 với số (s) định sẵn; 1 lần chạy về 0 hoặc về 0 thì lại tiếp tục repearting;
    cách dùng là gán cho đồng hồ đó vào 1 biến time ; cậu đã có biến này để sử dụng
    vd: có thể sử dụng event "timer expires" cho 1 trigger

    - - - Updated - - -

    quên mất nhân tiện cho tớ hỏi mở mấy cái map campaign để xem bên trong như nào thế?
    export = war3modeleditor ra mở thì nó báo lỗi ko có save gì đó :|

    - - - Updated - - -

    ai giúp thì thử open trước xemcos đc ko hộ mềnh nhé ;))
     
  8. Daranla

    Daranla Mr & Ms Pac-Man

    Tham gia ngày:
    11/9/09
    Bài viết:
    237
    Nơi ở:
    Nhấp vào cái cân th
    cho mình xin 1 demo sử dụng countdown timer đi bạn
     
  9. babied

    babied Youtube Master Race

    Tham gia ngày:
    18/11/12
    Bài viết:
    67
    éc
    vd:
    Untitled Trigger 001
    Events
    Time - Elapsed game time is 5.00 seconds
    Conditions
    Actions
    Set timer = (Create a periodic Repeating timer lasting 60.00)
    Trigger - Turn on create unit <gen>




    create unit
    Events
    Time - timer expires
    Conditions
    Actions
    Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees


    2 trigger đó -trigger 1 tạo timer expres mỗi 1 phút 1 lần, lặp đi lặp lại đồng thời gán cho timer vừa tạo vào biến -timer-
    -trigger 2 event timer expires thì tạo 1 footman cho player 1 ...
    thế là từ đó trở đi mỗi phút có 1 anh footman của player (1) xuất hiện ở trung tâm map
    :) :6cool_beat_brick:

    ps: ai trả lời dùm câu hỏi trên của mình
     
  10. Val.N

    Val.N Youtube Master Race

    Tham gia ngày:
    8/1/11
    Bài viết:
    66
    Hix :3cool_nosebleed: à mà có lẽ cũng nghĩ ra dc cách làm :7cool_feel_good: dù sao cũng tks :5cool_big_smile:
     
  11. Val.N

    Val.N Youtube Master Race

    Tham gia ngày:
    8/1/11
    Bài viết:
    66
    À mọi người cho mình hỏi , có cái trigger loop này . thuộc dạng Drill đâm tới trước . Phải sửa thế nào để nó ko xuyên được địa hình và Unit

    Mã:
        Events
            Time - Every 0.03 seconds of game time
        Conditions
        Actions
            Set GDB_Count = (GDB_Count + 1)
            If ((GDB_Caster has buff Stunned (Pause)) Equal to (==) True) then do (Trigger - Run GDB Death Check <gen> (ignoring conditions)) else do (Do nothing)
             Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    GDB_Count Equal to (==) 40
                Then - Actions
                    Animation - Change GDB_Caster's animation speed to 0.00% of its original speed
                    Set GDB_Position[1] = (GDB_Position[0] offset by 40.00 towards (GDB_Angle + 20.00) degrees)
                    Unit - Create 1 Drill for (Owner of GDB_Caster) at GDB_Position[1] facing GDB_Angle degrees
                    Set GDB_Drill = (Last created unit)
                    Custom script:   call RemoveLocation(udg_GDB_Position[0])
                    Custom script:   call RemoveLocation(udg_GDB_Position[1])
                Else - Actions
             Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    GDB_Count Equal to (==) 80
                Then - Actions
                    Animation - Change GDB_Drill's size to (900.00%, 900.00%, 900.00%) of its original size
                Else - Actions
             Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    GDB_Count Greater than or equal to (>=) 140
                    GDB_Count Less than or equal to (<=) 240
                Then - Actions
                    Set GDB_Position[0] = (Position of GDB_Drill)
                    Set GDB_Position[1] = (GDB_Position[0] offset by 80.00 towards (GDB_Angle - 90.00) degrees)
                    Custom script:   call RemoveLocation(udg_GDB_Position[0])
                    Set GDB_Position[0] = (GDB_Position[1] offset by 50.00 towards (GDB_Angle + 180.00) degrees)
                    Unit - Create 1 Ex 2 for (Owner of GDB_Caster) at GDB_Position[0] facing (GDB_Angle + 180.00) degrees
                    Unit Group - Add (Last created unit) to GDB_Fire
                    Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
                    Custom script:   call RemoveLocation(udg_GDB_Position[0])
                    Custom script:   call RemoveLocation(udg_GDB_Position[1])
                     Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                             Multiple ConditionsAnd - All (Conditions) are true
                                Conditions
                                    GDB_Count Greater than or equal to (>=) 160
                        Then - Actions
                             Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                If - Conditions
                                    GDB_Count Equal to (==) 160
                                Then - Actions
                                    Animation - Change GDB_Caster's vertex coloring to (100.00%, 100.00%, 100.00%) with 60.00% transparency
                                    Camera - Lock camera target for (Owner of GDB_Caster) to GDB_Drill, offset by (0.00, 0.00) using Default rotation
                                    Selection - Clear selection for (Owner of GDB_Caster)
                                Else - Actions
                            Set GDB_Speed = (GDB_Speed + 1.00)
                            Set GDB_Position[0] = (Position of GDB_Drill)
                            Set GDB_Position[1] = (GDB_Position[0] offset by GDB_Speed towards GDB_Angle degrees)
                            Unit - Move GDB_Drill instantly to GDB_Position[1]
                            Unit - Move GDB_Caster instantly to GDB_Position[1]
                            Set GDB_Targets = (Units within 200.00 of GDB_Position[1] matching ((((Matching unit) belongs to an enemy of (Owner of GDB_Caster)) Equal to (==) True) and (((Matching unit) is alive) Equal to (==) True)))
                            Unit Group - Pick every unit in GDB_Targets and do (Actions)
                                Loop - Actions
                                     Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        If - Conditions
                                            ((Picked unit) is in GDB_Damaged) Equal to (==) False
                                        Then - Actions
                                            Unit - Cause GDB_Caster to damage (Picked unit), dealing (100.00 x (Real((Level of Drill Breaker  for GDB_Caster)))) damage of attack type Spells and damage type Normal
                                            Unit Group - Add (Picked unit) to GDB_Damaged
                                            Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Human\Thunderclap\ThunderClapCaster.mdl
                                            Special Effect - Destroy (Last created special effect)
                                        Else - Actions
                            Unit Group - Remove all units from GDB_Targets
                            Set GDB_Position[2] = (GDB_Position[1] offset by 80.00 towards (GDB_Angle - 90.00) degrees)
                            Set GDB_Position[3] = (GDB_Position[2] offset by 50.00 towards (GDB_Angle + 180.00) degrees)
                            Unit Group - Pick every unit in GDB_Fire and do (Actions)
                                Loop - Actions
                                    Unit - Move (Picked unit) instantly to GDB_Position[3]
                            Custom script:   call RemoveLocation(udg_GDB_Position[2])
                            Custom script:   call RemoveLocation(udg_GDB_Position[3])
                             Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                If - Conditions
                                    GDB_Count Equal to (==) 240
                                Then - Actions
                                    Set GDB_IsCasted = False
                                    Camera - Reset camera for (Owner of GDB_Caster) to standard game-view over 0.00 seconds
                                    Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
                                    Unit Group - Remove all units from GDB_Damaged
                                    Unit - Create 1 Ex 6 for (Owner of GDB_Caster) at GDB_Position[1] facing Default building facing (270.0) degrees
                                    Player Group - Pick every player in (All players) and do (Actions)
                                        Loop - Actions
                                            Camera - Shake the camera for (Picked player) with magnitude 5.00
                                    Set GDB_Targets = (Units within 400.00 of GDB_Position[1] matching ((((Matching unit) belongs to an enemy of (Owner of GDB_Caster)) Equal to (==) True) and (((Matching unit) is alive) Equal to (==) True)))
                                    Unit Group - Pick every unit in GDB_Targets and do (Actions)
                                        Loop - Actions
                                            Unit - Cause GDB_Caster to damage (Picked unit), dealing (200.00 x (Real((Level of Drill Breaker  for GDB_Caster)))) damage of attack type Spells and damage type Normal
                                    Unit Group - Remove all units from GDB_Targets
                                    Selection - Select GDB_Caster for (Owner of GDB_Caster)
                                    Unit - Unpause GDB_Caster
                                    Animation - Change GDB_Caster's animation speed to 100.00% of its original speed
                                    Animation - Change GDB_Caster's vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency
                                    Unit - Remove GDB_Drill from the game
                                Else - Actions
                            Custom script:   call RemoveLocation(udg_GDB_Position[0])
                            Custom script:   call RemoveLocation(udg_GDB_Position[1])
                        Else - Actions
                Else - Actions
             Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    GDB_Count Equal to (==) 280
                Then - Actions
                    Trigger - Turn off (This trigger)
                    Player Group - Pick every player in (All players) and do (Actions)
                        Loop - Actions
                            Camera - Stop swaying/shaking the camera for (Picked player)
                Else - Actions
    
    
     
  12. babied

    babied Youtube Master Race

    Tham gia ngày:
    18/11/12
    Bài viết:
    67
    đọc xong tôi cũng chưa biết được, không thấy xóa size hay add fly mà nó xuyên địa hình đc, ông thử điều chỉnh mấy lệnh move unit xem
    vd như tách lệnh move 80 ranger thành 4 cái 20 ranger xem có đc hay ko 8-}

    - - - Updated - - -

    hình như trigger này đc dẫn từ tgrigger khác thì phải ông thử tìm xem trong cái kia có lệnh xóa size hay add fly cho nó ko!

    - - - Updated - - -

    ặc quote nhầm 8-}
    mà ai trả lời câu hỏi trang trước của tôi mới
     
  13. Val.N

    Val.N Youtube Master Race

    Tham gia ngày:
    8/1/11
    Bài viết:
    66
    Thua lun rùi , h chỉ có nước tạo ra thủ thuật thôi :))
     
  14. cherylpat123

    cherylpat123 Youtube Master Race

    Tham gia ngày:
    6/8/13
    Bài viết:
    3
    :)) buồn cười mà chảy hết cả nước mắt
     
  15. Daranla

    Daranla Mr & Ms Pac-Man

    Tham gia ngày:
    11/9/09
    Bài viết:
    237
    Nơi ở:
    Nhấp vào cái cân th
    cho 1 condition để kiểm tra cái point hướng đến có unit hay ko và 1 cái condition "Terrain pathing at <point> of type <walkability> is off Equal to True".
     
  16. Daranla

    Daranla Mr & Ms Pac-Man

    Tham gia ngày:
    11/9/09
    Bài viết:
    237
    Nơi ở:
    Nhấp vào cái cân th
    à, làm sao để tạo Fade Filter cho 1 player thôi nhỉ ?
     
  17. babied

    babied Youtube Master Race

    Tham gia ngày:
    18/11/12
    Bài viết:
    67
    xin hỏi cách mở các map campaign như nào vậy
    tớ dùng w3modeleditor export ra thì mở ra nó bị error ko có save gì gì ấy :2cool_burn_joss_sti
    --hỏi từ hôm qua mà không ai đả động gì :(--
     
  18. SITUVN

    SITUVN T.E.T.Я.I.S

    Tham gia ngày:
    6/11/09
    Bài viết:
    575
    Bản đồ dạng chiến dịch tùy khách của Warcaft 3 gồm nhiều bản đồ thường thôi. Bản thân tập tin *.w3n chứa các tập tin cấu hình cho chiến dịch và mấy tập tin bản đồ riêng rẽ (*.w3x)
    Campaign Editor của WE để trích xuất từng bản đồ trong đó ra. Rồi thích chôm model gì hay gì đó thì tùy :|
    Nếu bản đồ đó không bị bảo vệ (protect) thì có thể mở được bằng WE. Còn nếu nó bị bảo vệ thì =)) ngồi nhìn.
     
  19. babied

    babied Youtube Master Race

    Tham gia ngày:
    18/11/12
    Bài viết:
    67
    ặc cơ bản mình muốn xem nó làm thế nào về trigger với doodad thôi chứ bác nói vậy thì chệu :(
     
  20. babied

    babied Youtube Master Race

    Tham gia ngày:
    18/11/12
    Bài viết:
    67
    cho hỏi:
    -1 map campaign của undead có 1 cảnh gồm nhiều khối hình hộp chữ nhật xếp cạnh nhau.
    và tất cả random nhấc lên, hạ xuống; đồng thời unit trên đó cũng bị nâng hạ theo hình hộp.
    khi 2 hình hộp cùng độ cao thì unit mới di chuyển giữa 2 hình đó đc;
    cho hỏi đó là doodad nào và sử dụng trigger nào vậy
    thank

    - - - Updated - - -

    p/s: nhìn chữ ký SITUVN nhớ battle realm quá :( công nhận đồ họa rất đc
    ...
    nhân tiện =)) ai có model battle realm ko cho tôi với
    hay có cách nào đổi mấy file model đó sang mdx k ;)) hình như là dạng H2O hay gì gì ấy
     

Chia sẻ trang này