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

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

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

    *darkman* Mr & Ms Pac-Man

    Tham gia ngày:
    2/1/09
    Bài viết:
    278
    Làm sao khi tắt skill Metamorphosis hoặc hết Duration - hero thì hero sẽ chưỡng 1 đường thẳng dài như skill Shockwave hay Carrion Swarm lúc mở ko active mấy spell này ? Thanks nhìu.
     
  2. DylandKyo

    DylandKyo Donkey Kong

    Tham gia ngày:
    28/10/10
    Bài viết:
    358
    Cho em hỏi cái này, đây là trigger Spell của em, cho em hỏi 3 trigger ở dưới có leak hay lỗi gì hok mà khi dùng spell gây lag rất khó chịu và nếu có thì phải chỉnh như thế nào????/
    Trigger 1
    Mã:
    Amaterasu
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Amaterasu 
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Amaterasu_Integer[1] Equal to 0
                Then - Actions
                    Trigger - Turn on Amaterasu Loop <gen>
                Else - Actions
            Set Amaterasu_Integer[1] = (Amaterasu_Integer[1] + 1)
            Set Amaterasu_Integer[2] = (Amaterasu_Integer[2] + 1)
            Set Amaterasu_Caster[Amaterasu_Integer[2]] = (Triggering unit)
            Set Amaterasu_Target[Amaterasu_Integer[2]] = (Target unit of ability being cast)
            Set Amaterasu_CasterPosition[Amaterasu_Integer[2]] = (Position of Amaterasu_Caster[Amaterasu_Integer[2]])
            Set Amaterasu_ExplosionTime[Amaterasu_Integer[2]] = 0.25
            Set Amaterasu_Distance[Amaterasu_Integer[2]] = 500.00
            Set Amaterasu_DamageRange[Amaterasu_Integer[2]] = 300.00
            Set Amaterasu_CreateTime[Amaterasu_Integer[2]] = 0.50
            Set Amaterasu_Damage[Amaterasu_Integer[2]] = ((Real((Level of Amaterasu  for Amaterasu_Caster[Amaterasu_Integer[2]]))) x ((Real((Strength of Amaterasu_Caster[Amaterasu_Integer[2]] (Include bonuses)))) x 5.00))
            Set Amaterasu_AttackType[Amaterasu_Integer[2]] = Spells
            Set Amaterasu_DamageType[Amaterasu_Integer[2]] = Mind
            Unit - Pause Amaterasu_Target[Amaterasu_Integer[2]]
            Custom script:   call RemoveLocation (udg_Amaterasu_CasterPosition[udg_Amaterasu_Integer[3]])
    
    Trigger 2
    Mã:
    Amaterasu Die
        Events
            Unit - A unit Dies
        Conditions
            (Unit-type of (Dying unit)) Equal to Amaterasu Dummy
        Actions
            Unit - Remove (Dying unit) from the game
    
    Trigger 3
    Mã:
    Amaterasu Loop
        Events
            Time - Every 0.01 seconds of game time
        Conditions
        Actions
            For each (Integer Amaterasu_Integer[3]) from 1 to Amaterasu_Integer[2], do (Actions)
                Loop - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        If - Conditions
                        Then - Actions
                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                If - Conditions
                                    Amaterasu_CreateTime[Amaterasu_Integer[3]] Greater than 0.00
                                Then - Actions
                                    Set Amaterasu_CreateTime[Amaterasu_Integer[3]] = (Amaterasu_CreateTime[Amaterasu_Integer[3]] - 0.01)
                                    Set Amaterasu_TargetPosition[Amaterasu_Integer[3]] = (Position of Amaterasu_Target[Amaterasu_Integer[3]])
                                    Set Amaterasu_CreatePoint2[Amaterasu_Integer[3]] = (Amaterasu_TargetPosition[Amaterasu_Integer[3]] offset by Amaterasu_Distance[Amaterasu_Integer[3]] towards (Random angle) degrees)
                                    Unit - Create 1 Amaterasu Dummy for (Owner of Amaterasu_Caster[Amaterasu_Integer[3]]) at Amaterasu_CreatePoint2[Amaterasu_Integer[3]] facing (Random angle) degrees
                                    Set Amaterasu_Dummy[Amaterasu_Integer[3]] = (Last created unit)
                                    Custom script:   call RemoveLocation (udg_Amaterasu_TargetPosition[udg_Amaterasu_Integer[3]])
                                    Custom script:   call RemoveLocation (udg_Amaterasu_CreatePoint2[udg_Amaterasu_Integer[3]])
                                Else - Actions
                                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        If - Conditions
                                            Amaterasu_Distance[Amaterasu_Integer[3]] Greater than 50.00
                                        Then - Actions
                                            Set Amaterasu_DummyGroup[Amaterasu_Integer[3]] = (Units of type (Unit-type of Amaterasu_Dummy[Amaterasu_Integer[3]]))
                                            Unit Group - Pick every unit in Amaterasu_DummyGroup[Amaterasu_Integer[3]] and do (Actions)
                                                Loop - Actions
                                                    Set Amaterasu_TargetPosition[Amaterasu_Integer[3]] = (Position of Amaterasu_Target[Amaterasu_Integer[3]])
                                                    Set Amaterasu_MovePoint2[Amaterasu_Integer[3]] = (Amaterasu_TargetPosition[Amaterasu_Integer[3]] offset by Amaterasu_Distance[Amaterasu_Integer[3]] towards (Random angle) degrees)
                                                    Set Amaterasu_Distance[Amaterasu_Integer[3]] = (Amaterasu_Distance[Amaterasu_Integer[3]] - 0.02)
                                                    Set Amaterasu_SpinDummy[Amaterasu_Integer[3]] = (Picked unit)
                                                    Unit - Move Amaterasu_SpinDummy[Amaterasu_Integer[3]] instantly to Amaterasu_MovePoint2[Amaterasu_Integer[3]]
                                                    Custom script:   call RemoveLocation (udg_Amaterasu_TargetPosition[udg_Amaterasu_Integer[3]])
                                                    Custom script:   call RemoveLocation (udg_Amaterasu_MovePoint2[udg_Amaterasu_Integer[3]])
                                                    Custom script:   call DestroyGroup (udg_Amaterasu_DummyGroup[udg_Amaterasu_Integer[3]])
                                        Else - Actions
                                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                                If - Conditions
                                                    Amaterasu_ExplosionTime[Amaterasu_Integer[3]] Greater than 0.00
                                                Then - Actions
                                                    Set Amaterasu_ExplosionTime[Amaterasu_Integer[3]] = (Amaterasu_ExplosionTime[Amaterasu_Integer[3]] - 0.01)
                                                    Set Amaterasu_DummyGroup[Amaterasu_Integer[3]] = (Units of type (Unit-type of Amaterasu_Dummy[Amaterasu_Integer[3]]))
                                                    Unit Group - Pick every unit in Amaterasu_DummyGroup[Amaterasu_Integer[3]] and do (Actions)
                                                        Loop - Actions
                                                            Set Amaterasu_RemoveDummy[Amaterasu_Integer[3]] = (Picked unit)
                                                            Unit - Remove Amaterasu_RemoveDummy[Amaterasu_Integer[3]] from the game
                                                    Set Amaterasu_TargetPosition[Amaterasu_Integer[3]] = (Position of Amaterasu_Target[Amaterasu_Integer[3]])
                                                    Unit - Create 1 Amaterasu Explosion Dummy for (Owner of Amaterasu_Caster[Amaterasu_Integer[3]]) at Amaterasu_TargetPosition[Amaterasu_Integer[3]] facing Default building facing degrees
                                                    Set Amaterasu_ExplosionDummy[Amaterasu_Integer[3]] = (Last created unit)
                                                    Animation - Play Amaterasu_ExplosionDummy[Amaterasu_Integer[3]]'s birth animation
                                                    Unit - Add a 3.00 second Generic expiration timer to Amaterasu_ExplosionDummy[Amaterasu_Integer[3]]
                                                    Custom script:   call RemoveLocation (udg_Amaterasu_TargetPosition[udg_Amaterasu_Integer[3]])
                                                    Custom script:   call DestroyGroup (udg_Amaterasu_DummyGroup[udg_Amaterasu_Integer[3]])
                                                Else - Actions
                                                    Set Amaterasu_TargetPosition[Amaterasu_Integer[3]] = (Position of Amaterasu_Target[Amaterasu_Integer[3]])
                                                    Set Amaterasu_DamageGroup[Amaterasu_Integer[3]] = (Units within Amaterasu_DamageRange[Amaterasu_Integer[3]] of Amaterasu_TargetPosition[Amaterasu_Integer[3]] matching (((Matching unit) belongs to an enemy of (Owner of Amaterasu_Caster[Amaterasu_Integer[3]])) Equal to True))
                                                    Unit Group - Pick every unit in Amaterasu_DamageGroup[Amaterasu_Integer[3]] and do (Actions)
                                                        Loop - Actions
                                                            Set Amaterasu_DamagedUnits[Amaterasu_Integer[3]] = (Picked unit)
                                                            Unit - Cause Amaterasu_Caster[Amaterasu_Integer[3]] to damage Amaterasu_DamagedUnits[Amaterasu_Integer[3]], dealing Amaterasu_Damage[Amaterasu_Integer[3]] damage of attack type Amaterasu_AttackType[Amaterasu_Integer[3]] and damage type Amaterasu_DamageType[Amaterasu_Integer[3]]
                                                    Unit - Unpause Amaterasu_Target[Amaterasu_Integer[3]]
                                                    Custom script:   call RemoveLocation (udg_Amaterasu_TargetPosition[udg_Amaterasu_Integer[3]])
                                                    Set Amaterasu_Integer[1] = 0
                        Else - Actions
                            Unit - Unpause Amaterasu_Target[Amaterasu_Integer[3]]
                            Set Amaterasu_Integer[1] = 0
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Amaterasu_Integer[1] Equal to 0
                Then - Actions
                    Set Amaterasu_Integer[2] = 0
                    Trigger - Turn off (This trigger)
                Else - Actions
    
    và cho e hỏi thêm làm thế nào để phân thân đánh mất máu được
     
  3. shark321

    shark321 Donkey Kong

    Tham gia ngày:
    17/5/07
    Bài viết:
    488
    làm thế nào để creep ban ngày cũng ngủ
     
  4. [Yami]

    [Yami] Donkey Kong

    Tham gia ngày:
    29/12/07
    Bài viết:
    313
    Nơi ở:
    Ha Noi, Vietnam,
    Cho mình hỏi là mình muốn làm 1 cái script nho nhỏ, để khi mình mua 1 món đồ, thì nó sẽ create 1 món đồ khác tương ứng với món đồ đó (mình set từ trước, ví dụ mua đồ I000 thì ra thêm I001), thì bây giờ mình nên sử dụng liên tiếp mấy cái If then (textmacro) hay nên xài Hashtable để check?

    Edited:
    Em xài Table3.0 ngon rồi ^^
     
    Chỉnh sửa cuối: 18/2/11
  5. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Dùng 3 biến là đủ:
    - Item1[array]: item type.
    - Item2[array]: item type.
    - TotalItem: integer.
    Item1 là các item khi mua, Item2 là các item sẽ tạo tương ứng với Item1. TotalItem là tổng số item mà bạn có.
    Ví dụ mình buy Sword, sẽ tạo thêm Shield, buy Armor, sẽ create thêm Helmet, thì sẽ có trigger sau:
    Mã:
        Item Setup
    Event:
    - Elapes 0s game time
    Action:
    - Set [COLOR="Red"]Item1[/COLOR][1] = Sword
    - Set [COLOR="Blue"]Item2[/COLOR][1] = Shield
    - Set [COLOR="Red"]Item1[/COLOR][2] = Armor
    - Set [COLOR="Blue"]Item2[/COLOR][2] = Helmet
    - Set TotalItem = 2 // vì chỉ có 2 item
    
    Mã:
         Create Item
    Event:
    - Unit acquired a item
    Action:
     For loop integer A from 1 to TotalItem do action
         If/then/else
           If - Condition:
              Item type of Item being manipulated equal to Item1[integerA]
           Then - Action:
              Hero - Create Item2[integerA] and give it to triggering unit.  
    Lưu ý là Item1 và Item2 phải tương ứng với nhau.

    Edited: mãi mê viết không để ý bạn ấy đã edited :|
     
  6. King War

    King War

    Tham gia ngày:
    23/7/10
    Bài viết:
    2,136
    Nơi ở:
    kw_corp@yh
    1 cách đơn giản : khi create cho nó dính skill ăn ngũ 4ever :"> đập rùi là nó tỉnh giấc :-j
     
  7. shark321

    shark321 Donkey Kong

    Tham gia ngày:
    17/5/07
    Bài viết:
    488
    chán bác này quá =.=, thế k đập nữa nó cũng thức k ngủ nữa :)) chán nhỉ k biết chỉnh cái time sleep ấy ở đâu mò mãi k ra
     
  8. [Yami]

    [Yami] Donkey Kong

    Tham gia ngày:
    29/12/07
    Bài viết:
    313
    Nơi ở:
    Ha Noi, Vietnam,
    @LeoNguyen: Tức là dùng Loop huh :D. Cám ơn bạn ^^
     
  9. faustviii

    faustviii Mr & Ms Pac-Man

    Tham gia ngày:
    28/1/09
    Bài viết:
    110
    có ai biết cách load WE nhanh hơn ko -_-
    cả cái chuyển skill từ active sag passive luôn nhé
    thanks nhiều ^:)^
     
    Chỉnh sửa cuối: 19/2/11
  10. *darkman*

    *darkman* Mr & Ms Pac-Man

    Tham gia ngày:
    2/1/09
    Bài viết:
    278
    Mình down icon trên hive, tên Icon bị trùng với tên icon trong war khi cho icon vô thì icon down zề chẳng khác gì icon trong war down như ko. Các bác khắc phục dùm, Thanks
     
  11. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    bỏ đánh dấu Window \ Brush List
    vẫn chậm thì chịu, xem lại máy
    việc chuyển thì, cụ thể là chuyển ability, thường thì vụ này không khả thi

    đổi tên icon down về.
     
  12. Gh0stR|der

    Gh0stR|der Youtube Master Race

    Tham gia ngày:
    15/11/10
    Bài viết:
    21
    AI làm hộ mình cái demo skill 3 của súng với nhỉ?
     
  13. AzuhaSky

    AzuhaSky T.E.T.Я.I.S

    Tham gia ngày:
    30/5/10
    Bài viết:
    550
    Nơi ở:
    WE Box
    Các bạn có ai có system Talent Tree không cho mình xin với!Chơi map Tkok mà thấy phát thèm!:">
     
  14. [Yami]

    [Yami] Donkey Kong

    Tham gia ngày:
    29/12/07
    Bài viết:
    313
    Nơi ở:
    Ha Noi, Vietnam,
    Có cách nào để skill passive thể hiện là đang xoay cooldown không ạ =))
     
  15. goldviper

    goldviper Mario & Luigi Lão Làng GVN

    Tham gia ngày:
    7/1/10
    Bài viết:
    721
    Nơi ở:
    Tổ dân phố
    cho mình hỏi vài câu :
    + Có thể add vĩnh viễn 1 ability cho Hero hay Unit có ability dạng Metamorphsis từ trước . Mình đã thử add 1 ability và sau khi hóa lên rồi trở về hình dạng bt thì mất ability đã add này :|
    + 2 skill Evasion có stack vs nhau :-? .VD: của item và skill có sẵn.
    + Skill "phá nhà" của Tinker ( đại loại là đánh vào nhà thì thấm hơn ) có thể áp dụng trên Unit , và nó có stack vs critical strike :-? ?
    + Dota con Medusa có skill bắn ra 3 mũi tên ( Barage kiểu active / deactive ) , nếu active sẽ bị giảm damage theo % nhưng bắn được 3 con một lúc ( thấy tooltip nó viết vậy chả biết nó có giảm hay ko :D ) . Làm thế nào để giảm damage được như vậy :-?
    + ability Spellbook , nếu sử dụng nhiều ability Spellbook này trên 1 unit (vd: book1 có : a , b , c ; book2 có : d , e , f ) thì nó bị trùng các ability trong spell vào nhau vì đây là 1 spell duy nhất và khá đặc biệt , ai sử dụng nhiều chắc hiểu trùng là như thế nào .Làm thế nào để khắc phục.:|
    + Mình tạo 1 unit có 1 skill autocast và 1 skill critical strike , thỉnh thoảng đang dùng autocast thì nó critical strike , nghe thì thấy thích đấy nhưng đòn critical strike này ko có tác dụng của skill autocast 8-}.Vd Hero này nhặt được 1 item có ability Critical Strike , thì nó chỉ Crit của skill ban đầu chứ item chả có tác dụng gì , tắt autocast thì Crit của skill lẫn item đều hoạt động bt .Có ai bị như mình ko :D và tại sao lại có sự khác biệt này ?
     
    Chỉnh sửa cuối: 19/2/11
  16. meomeo3101

    meomeo3101 Mr & Ms Pac-Man

    Tham gia ngày:
    3/2/07
    Bài viết:
    246
    Nơi ở:
    Hà Nội
    Mình nghĩ là làm như sau. Tạo skill active bình thường. nghĩa là có cooldown. Sau đó tạo một trigger khi unit tự begin cast thì bắt unit stop. Và tạo trigger để sử dụng skill khi cần thiết là xong.

    Goldviper hỏi nhưng mình chỉ biết vài cái. Trả lời bạn vài cái vậy.
    Có thể add vĩnh viễn 1 ability cho Hero hay Unit có ability dạng Metamorphsis từ trước . Mình đã thử add 1 ability và sau khi hóa lên rồi trở về hình dạng bt thì mất ability đã add này
    - Có. Bạn add ability đó ở cả unit gốc và unit chuyển thành.
    Dota con Medusa có skill bắn ra 3 mũi tên ( Barage kiểu active / deactive ) , nếu active sẽ bị giảm damage theo % nhưng bắn được 3 con một lúc ( thấy tooltip nó viết vậy chả biết nó có giảm hay ko ) . Làm thế nào để giảm damage được như vậy
    - Mình sẽ add skill + damage theo % và cho nó dấu "-" (Shift và -10%)
     
    Chỉnh sửa cuối: 19/2/11
  17. Stork[gm]

    Stork[gm] Donkey Kong

    Tham gia ngày:
    29/5/09
    Bài viết:
    438
    Nơi ở:
    서울한국
    AI cho hỏi cách làm skill 1 của tiny với? mình đã dùng thử base từ cluster nhưng ko phải, skill này của tiny (avalanche) ko phải là 1 skill channel mà nó dùng hàm loop nhưng mình k biết dùng thế nào
     
  18. ShadowThanatos

    ShadowThanatos -|--Soul Reaper--|-

    Tham gia ngày:
    23/2/09
    Bài viết:
    2,119
    Nơi ở:
    Horror Depht
    ->Về vụ Evasion
    -Nếu như mình không nhầm thì evasion không stack với nhau. 1 unit, giả sử có 3 skill evasion thì khi bị đánh, nó sẽ check qua % của 3 skill riêng biệt, nếu không dính % thằng này thì sẽ có khả năng dính % thằng khác.

    Con Tiny có fake skill (là skill trưng ra cho hero), khi cast skill này, nó sẽ tạo ra 1 dummy dùng cluster.
     
  19. vuongkkk

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

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Mình chỉ biết 2 skill có khả năng này.

    "Orb of Lightning (new)" : Trong đó quay cooldown là skill trong phần Data - Effect Ability. Nhưng skill "orb of lightning (new)" là skill được tự động active khi unit mang skill này attack.
    Reincarnation: cũng là passive và tự cooldown (chỉ khi unit die)
    Còn như trong dota có skill cuối của con Abaddon chả hiểu nó quay kiểu gì, kể cả lúc đang đứng đơ ...
    Ai chỉ giùm thắc mắc này ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
     
  20. ShadowThanatos

    ShadowThanatos -|--Soul Reaper--|-

    Tham gia ngày:
    23/2/09
    Bài viết:
    2,119
    Nơi ở:
    Horror Depht
    Skill cuối Abaddon là skill active mà?
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này