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

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

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

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Mình xin phép code lại cái trigger đó
    Mã:
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Mind Burn 
        Actions
            [COLOR="#4B0082"]Set TempUnit = (Triggering unit)
            Set TempInt = (Level of Mind Burn  for TempUnit)
            Set TempUnit2 = (Target unit of ability being cast)
            Set TempLoc = (Position of TempUnit2)[/COLOR]
            [COLOR="#FF0000"]Unit Group - Add TempUnit2 to TempGroup[/COLOR] //mục tiêu chắc chắn là bị burn rồi nên add vào group luôn
            For each (Integer LoopInteger) from 1 to 4, do (Actions) //1 -> 4 -> jump 4 lần
                Loop - Actions
                    Wait 0.10 seconds //đợi 1 tí :)
                    [COLOR="#FF0000"]Custom script:   set bj_wantDestroyGroup = true[/COLOR] //cái này để group mà sau khi pick random sẽ bị destroy, remove leak thôi
                    Set TempUnit2 = (Random unit from [COLOR="#006400"](Units within 600.00 of TempLoc matching ((((((Matching unit) is alive) Equal to True) and (((Matching unit) is in TempGroup) Equal to False)) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) belongs to an enemy[/COLOR]
    //Chú ý điều kiện nha
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                            TempUnit2 Equal to No unit
                        Then - Actions
                            Set LoopInteger = 10 //ko có unit nào thì thoát khỏi vòng lặp
                            Custom script:   call RemoveLocation( udg_TempLoc )
                        Else - Actions
    //Có unit, pick đc, vậy thì tạo dummy unit ở vị trí unit cũ đã bị burn (TempLoc) và burn unit này
                            Unit - Create 1 Dummy Unit for (Owner of TempUnit) at TempLoc facing 0.00 degrees  // tạo dummy unit
                            Set Dummy = (Last created unit)
                            Unit - Add a 1.00 second Generic expiration timer to Dummy
                            Unit - Add Mana Burn (Dummy) to Dummy
                            Unit - Set level of Mana Burn (Dummy) for Dummy to (((TempInt - 1) x 5) + LoopInteger)
                            Unit - Order Dummy to Night Elf Demon Hunter - Mana Burn TempUnit2  //cast mana burn
                            Custom script:   call RemoveLocation( udg_TempLoc )
                            Unit Group - Add TempUnit2 to TempGroup //bị burn thì add vào group
                            Set TempLoc = (Position of TempUnit2) //lưu lại vị trí unit vừa bị burn
            [COLOR="#FF0000"]Unit Group - Remove all units from TempGroup  //xóa các unit trong TempGroup[/COLOR]
    
    Phần màu tím ko hề có set 1 biến Unit Group nào, nhưng trong vòng loop thì lại xóa leak :|
    Phần màu đó là 1 biến Unit Group ẩn ko hề đc set mà chỉ dùng ẩn vậy thì cần gì remove
    Biến Unit random mà sao dính Unit Group trong đó ( xanh lá cây)
    Nên mình ko biết remove leak là remove cái nào trong này :| phương thức xóa leak này cũng ko ghi rõ tên biến nên ko biết mà lần :|
    Mong các ĐK HD kỹ phần leak này T_T
     
    Chỉnh sửa cuối: 23/7/11
  2. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    >Phần màu đó là 1 biến Unit Group ẩn ko hề đc set mà chỉ dùng ẩn vậy thì cần gì remove

    unit group TempGroup mà tôi dùng ở đây như là một giá sách, các unit là các quyển sách, khi add vào -> đặt sách lên giá
    vì giá sách này tôi sẽ dùng lại nên tôi ko phá nó đi (call DestroyGroup) mà chỉ bỏ các quyển sách trên đó xuống (Remove all units from TempGroup)
    ok?

    vì sao phải "xóa" unit khỏi unit group? đó là do điều kiện pick unit để "burn" có điều kiện matching unit không ở trong TempGroup, nếu không "xóa" các unit đã pick được lần cast trước thì lần cast sau sẽ ko pick đc

    >Biến Unit random mà sao dính Unit Group trong đó ( xanh lá cây)

    phải pick để lấy unit group trước sau đó mới từ unit group đó lấy random ra một unit rồi cho vào biến, ok?
    và unit group trên được tạo ra nên phải xóa

    > Nên mình ko biết remove leak là remove cái nào trong này phương thức xóa leak này cũng ko ghi rõ tên biến nên ko biết mà lần

    Mã:
    [COLOR="#0000FF"]Custom script:   set bj_wantDestroyGroup = true[/COLOR]
    Set TempUnit2 = (Random unit from [COLOR="#FF0000"](Units within 600.00 of TempLoc matching ((((((Matching unit) is alive) Equal to True) and (((Matching unit) is in TempGroup) Equal to False)) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) belongs to an enemy[/COLOR]
    
    cái dòng xanh để xóa group màu đỏ ấy
    cái hàm "random unit" sau khi lấy được random unit sẽ kiểm tra "bj_wantDestroyGroup", nếu là "true" thì sẽ destroy cái group mà unit vừa đc random ra
    không hiểu cái này thì cứ dùng biến mà xóa như thường đi

    cái bj_wantDestroyGroup còn dùng được cho Unit Group - Pick Every Units In Unit Group...
     
    Chỉnh sửa cuối: 23/7/11
  3. minh_pro_hy

    minh_pro_hy Donkey Kong

    Tham gia ngày:
    30/6/11
    Bài viết:
    487
    Nơi ở:
    Mặt Trời
    Anh Tom giúp em với. Làm sao để làm skill overload hay tide bringer sao cho effect xảy ra ngay khi vừa gây dame cho enemy unit :-?.
     
  4. vuongkkk

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

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    ^^^
    TempGroup là biến lưu những thằng đã bị manaburn và được tạo sẵn ở nơi quản lý biến của WE
    Tổng cộng luôn chỉ có 5 thằng trong đó
    thằng đầu tiên là thằng bị cast
    Mã:
    Unit Group - Add TempUnit2 to TempGroup
    4 thằng tiếp theo bị dính manaburn là trong vòng loop: lấy ra 1 thằng nào đó khớp điều kiện trong range 600 tính từ thằng bị burn
    Mã:
    Set TempUnit2 = (Random unit from (Units within 600.00 of TempLoc matching ((((((Matching unit) is alive) Equal to True) and (((Matching unit) is in TempGroup) Equal to False)) and (((Matching unit) is Magic Immune) Equal to False)) and ((((Matching unit) belongs to an enemy
    )
    Câu lệnh trên tạo ra 1 group mới chứa tất cả các unit khớp điều kiện, trong range 600không nằm trong TempGroup.
    Để tránh leak group do câu lệnh trên gây ra thì cần có câu lệnh này trước câu lệnh nói trên
    Mã:
    Custom script:   set bj_wantDestroyGroup = true
    như thế này thì trước khi kết thúc câu lệnh lấy unit trong range 600 nói trên thì sẽ DestroyGroup đó luôn vì trong câu lệnh đó có kiểm tra biến bj_wantDestroyGroup để destroy
    Cuối cùng thì
    Mã:
    Unit Group - Remove all units from TempGroup
    để remove hết unit trong group lưu những thằng đã bị manaburn để kết thúc spell và chuẩn bị cho lần cast tiếp theo

    P/S: Công nhận anh Tom ko giỏi phần explain cho lắm :))
     
    Chỉnh sửa cuối: 23/7/11
  5. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Hĩu rồi cám ơn ĐK, luôn tiện chỉ mình luôn phần Unit
    Mã:
        Events
            Time - Elapsed game time is 5.00 seconds
        Conditions
        Actions
            Set Point = (Center of Creep <gen>)
            For each (Integer A) from 1 to 12, do (Actions)
                Loop - Actions
                    Unit - Create 1 Footman for (Player((Integer A))) at Point facing Default building facing degrees
                    [COLOR="#FF0000"]Set UnitDummy[(Integer A)] = (Last created unit)[/COLOR]
            Custom script:   call RemoveLocation(udg_Point)
    
    Cái dòng màu đỏ này có ảnh hưởng leak gì đến map ko, tại theo HD của ĐK Tom thì phải nt này ( xanh bên dưới) hoặc ko có 2 dòng xanh đỏ, nhưng dạng mình làm ko phải là Dummy ( ra cái chút chết liền) mà Set cho 12 Hero dùng đến cuối map ( tiện việc đi lại)
    Mã:
        Events
            Time - Elapsed game time is 5.00 seconds
        Conditions
        Actions
            Set Point = (Center of Creep <gen>)
            For each (Integer A) from 1 to 12, do (Actions)
                Loop - Actions
                    Unit - Create 1 Footman for (Player((Integer A))) at Point facing Default building facing degrees
                    [COLOR="#000080"]Set UnitDummy[(Integer A)] = (Last created unit)[/COLOR]
                    [COLOR="#000080"]Unit - Add a 2.00 second Generic expiration timer to UnitDummy[(Integer A)][/COLOR]
            Custom script:   call RemoveLocation(udg_Point)
    
     
    Chỉnh sửa cuối: 23/7/11
  6. hieu2525

    hieu2525 Mr & Ms Pac-Man

    Tham gia ngày:
    23/3/09
    Bài viết:
    111
    Nơi ở:
    HN
    Em down về rồi nhưng ko biết làm sao để sửa, anh có thể cho em biết tính danh được ko ạ? Em muốn nhờ anh chỉ giúp em :D
     
  7. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    dùng đến cuối map thì thôi, xóa leak gì nữa?
     
  8. totusieu

    totusieu Guest

    Tham gia ngày:
    3/7/09
    Bài viết:
    11
    Tiện đây hỏi luôn về cách làm item tăng spell damage khi mang vào đc không.Mới chỉ thấy item tăng spell damage theo value chứ chưa bao giờ tăng theo %.
     
  9. zzchaolegionzz

    zzchaolegionzz T.E.T.Я.I.S

    Tham gia ngày:
    27/9/07
    Bài viết:
    606
    Nơi ở:
    Black Parade
    ai giúp em miếng mồ. hix đang cần gấp mờ. mà muốn tự viết thì ai có link hướng dẫn nào cụ thể cho" Gấu mới" như em tập viết được không ạ.
     
  10. Mr.Giang

    Mr.Giang Mr & Ms Pac-Man

    Tham gia ngày:
    2/2/08
    Bài viết:
    156
    Cho mình hỏi làm thế nào để khi chuẩn bị nhận quest thì thằng quest giver sẽ nói một câu gì đó như trong phần campaign mà không cần để cinamatic vậy?
     
  11. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Các pro cho hỏi hàm If nào, khi trong 1 Region ko còn Hero thì tự động tắt 1 trigger
     
  12. 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
    như vậy ư :-ss
    PHP:
    Region
        Events
        Conditions
        Actions
            
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                If - 
    Conditions
                    
    (Number of units in (Units in (Playable map areamatching (((Matching unitis A HeroEqual to True))) Less than 1
                Then 
    Actions
                    Trigger 
    Turn off (This trigger)
                Else - 
    Actions
                    
    Do nothing
    @Tom: bấm M nhầm P một hồi loạn luôn =))
     
    Chỉnh sửa cuối: 24/7/11
  13. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    "matching" mà lại "picked unit" ? =))

    "tắt" thì turn off thôi chứ destroy để khỏi dùng nữa à?
     
  14. cauxevd

    cauxevd Mr & Ms Pac-Man

    Tham gia ngày:
    22/1/10
    Bài viết:
    176
    Trong các skill base của war , skill nào là khóa phép ? Như kiểu Fear của Balanar trong DotA
     
  15. 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
    Soul Burn trong Neutral Hosite/Special đó AoE thì xài Slient
     
  16. cauxevd

    cauxevd Mr & Ms Pac-Man

    Tham gia ngày:
    22/1/10
    Bài viết:
    176
    Silent là stop casting mà
    còn Soul Burn trong Neutral Hosite/Special thì ko tìm thấy ... Hay là của Elf ?

    ---------- Post added at 13:43 ---------- Previous post was at 13:39 ----------

    Trong Trigger , Event để Order unit dùng skill theo ý muốn như thế nào ?
    Chỉ thấy cái order nhưng chỉ có vài skill cơ bản. Skill ko có ở đó thì làm sao ?
     
  17. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    mỗi stop cast?
    thử lại xem có gì ngoài "stop cast" không

    không thấy thì có cái: Edit \ Find (Ctrl + F) đó, thể nào cũng thấy.
     
  18. cauxevd

    cauxevd Mr & Ms Pac-Man

    Tham gia ngày:
    22/1/10
    Bài viết:
    176
    Skill Meta của Demon Hunter mặc dù là 0 s casting time nhưng sao vẫn mất mấy giây đơ đơ ... Và làm cách nào khắc phục
     
  19. hieu2525

    hieu2525 Mr & Ms Pac-Man

    Tham gia ngày:
    23/3/09
    Bài viết:
    111
    Nơi ở:
    HN
    Em đang tìm cách làm hệ thống tarven như DotA mà ko làm được, em xin hỏi những câu như sau, mong mọi người trả lời giúp :D
    1/ Làm sao để khi bắt đầu game, có 1 khoảng sight ở vùng tarven, khi mua unit thì nó biến mất.
    2/Khi pick hero thì sẽ thông báo: "abcxyz đã pick Zeratul" ?
    3/Khi pick hero xong thì hero sẽ bay thẳng về "Team1revive region" ?

    Mong được giúp đỡ :D
     
  20. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    đặt Duration - Normal: 0.00

    tìm order của skill gốc. (gốc là Chain Lightning thì dùng Orc - Far Seer - Chain Lightning)
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này