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

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

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

    shin12189 Youtube Master Race

    Tham gia ngày:
    25/3/08
    Bài viết:
    64
    the con map bi protect thi sao ho bac
     
  2. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    thì KHÔNG BÀN >:D<
     
  3. btvinh

    btvinh Donkey Kong

    Tham gia ngày:
    15/1/11
    Bài viết:
    343
    Cái này thì hên xui a TOM ạ! Tại vì làm mà nó k MUI nên chịu :-??

    Có thể để vài bữa nữa thử làm cái Demo xem sao :-?
     
  4. SaitoJudokara

    SaitoJudokara Youtube Master Race

    Tham gia ngày:
    11/10/11
    Bài viết:
    30
    Nơi ở:
    ☺Tennessee☺
  5. btvinh

    btvinh Donkey Kong

    Tham gia ngày:
    15/1/11
    Bài viết:
    343
    K giống đâu. Thật sự đây là 1 dạng check Int r add spell thôi @_@
     
  6. SaitoJudokara

    SaitoJudokara Youtube Master Race

    Tham gia ngày:
    11/10/11
    Bài viết:
    30
    Nơi ở:
    ☺Tennessee☺
    ^ vớ vẩn, kô thấy chuyển lại nó còn cooldown àk? nhìn sơ qua cũng biết nó đi theo 2 biến int + boolean để rồi disable ability rồi (:|
     
  7. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Mình làm được rồi nè =_= nhưng vì chưa chơi Dota bao giờ nên ko biết có giống không,cách mình làm đơn giản lắm :">

    Đầu tiên phải dùng Ulti trước rồi mới set các Q - W - E

     
    Chỉnh sửa cuối: 13/10/11
  8. Jun Naital

    Jun Naital Mr & Ms Pac-Man

    Tham gia ngày:
    30/8/11
    Bài viết:
    169
    Nơi ở:
    Thánh địa So
    Cho mình hỏi, làm thế nào để Hero có thể lên được lvl 100 vậy?:( Không hiểu sao mình làm map mà lvl chỉ max đến 66 thôi @ @ mặc dù mình đã thay đổi thông tin trong phần Gamplay Constants rồi :(.
     
  9. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Quái khi Hero skill phải là 1 trong 1 màu, nếu để màu đen thì hay bị thế, lv ko lên đc nữa
     
  10. Jun Naital

    Jun Naital Mr & Ms Pac-Man

    Tham gia ngày:
    30/8/11
    Bài viết:
    169
    Nơi ở:
    Thánh địa So
    Ý cậu là sao, mình không hiểu lắm. Ý cậu là thay đổi màu sắc cho tên của quái hả ?
     
  11. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Ví dụ như mấy map Defense ng` ta hay cho player máu nâu là kẻ gian, còm mau xám là bên Defense, bạn làm trong map các quái train lv đều là màu nâu thì sẽ lên Lv hoài, còn nếu để quái là màu đen Neutral Hostion rì đó thì hay bị đúng Lv
     
  12. fireman12a9

    fireman12a9 Youtube Master Race

    Tham gia ngày:
    18/3/11
    Bài viết:
    11
    hmm, đến h vấn đề code trong war3, T vẫn chưa thông suốt.
     
  13. Jun Naital

    Jun Naital Mr & Ms Pac-Man

    Tham gia ngày:
    30/8/11
    Bài viết:
    169
    Nơi ở:
    Thánh địa So
    Ra là thế :)) mình hiểu rồi :) cảm ơn bạn.

    ---------- Post added at 18:28 ---------- Previous post was at 17:36 ----------

    À quên, còn một vấn đề nữa mà cái map của mình vẫn bị trục trặc. Không hiểu sao cái vụ hồi sinh creep mà mình mượn từ http://www.hiveworkshop.com/forums/...v1-7-a-131635/?prev=search=revive&d=list&r=20
    không thể sử dụng được @ @ mặc dù mình có test qua các map khác thì cái system đấy vẫn dùng được @ @.
    Còn cái system creep mình mượn từ Ryoko của bên Thehelper cũng không sử dụng được @@ mỗi lần dùng của ryoko là y như rằng đến đoạn loading game thì Đơ =)) : http://www.thehelper.net/forums/showthread.php/57735-Hero-and-Creep-Revive-Item-Combiner-2?p=178548


    Mình còn một thắc mắc nữa là, làm sao khi tạo multiboard cho các players. Làm thế nào để thay đổi một players đã thoát ra sau khi vào game là "Has left the game" ? Mình đang rất thắc mắc mấy cái này. Có ai có thể giải quyết hộ mình vụ này không :( ?
     
  14. Doom_Sage

    Doom_Sage Mr & Ms Pac-Man

    Tham gia ngày:
    24/7/11
    Bài viết:
    147
    Để tôi định nghĩa giùm chữ " vậy thôi " ở đây

    initialization nè
    PHP:
    Events
            Map initialization
        Conditions
        Actions
            Set Exort1 
    Sphere Exort 1 
            Set Exort2 
    Sphere Exort 2 
            Set Exort3 
    Sphere Exort 3 
            Set Quas1 
    Sphere Quas 1 
            Set Quas2 
    Sphere Quas 2 
            Set Quas3 
    Sphere Quas 3 
            Set Wex1 
    Sphere Wex 1 
            Set Wex2 
    Sphere Wex 2 
            Set Wex3 
    Sphere Wex 3 
            Set InvokeSpells
    [3] = Blizzard [QQQ] (Invoke)
            
    Set InvokeSpells[12] = Ghost Walk [QQW
            
    Set InvokeSpells[21] = Storm Bolt [QWW] (Invoke)
            
    Set InvokeSpells[30] = Alacrity (WWW
            
    Set InvokeSpells[102] = Siphon Mana [QQE] (Invoke)
            
    Set InvokeSpells[111] = Banish [QWE] (Invoke)
            
    Set InvokeSpells[120] = Holy Light [WWE] (Invoke)
            
    Set InvokeSpells[201] = Divine Shield [QEE] (Invoke)
            
    Set InvokeSpells[210] = Flame Strike [WEE] (Invoke)
            
    Set InvokeSpells[300] = Phoenix [EEE] (Invoke)
    Spell Book ( Ultimate )
    PHP:
    Events
            Time 
    Elapsed game time is 0.50 seconds
        Conditions
        Actions
            Unit Group 
    Pick every unit in (Units owned by Player 1 (Redmatching (((Matching unitis A HeroEqual to True)) and do (Actions)
                
    Loop Actions
                    Unit 
    Add Invoker Spell Book  to (Picked unit)
                    
    Player Disable Invoker Spell Book  for (Owner of (Picked unit))
            
    Trigger Turn off (This trigger)
    Và đây là 1 spell phụ của orb và check orb ( Nhìn lé luôn )
    PHP:
    Events
            Unit 
    A unit Starts the effect of an ability
        Conditions
            
    (Ability being castEqual to Quas 
        Actions
            
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                If - 
    Conditions
                    SphereCheck
    [(Player number of (Owner of (Triggering unit)))] Equal to 3
                Then 
    Actions
                    Set SphereCheck
    [(Player number of (Owner of (Triggering unit)))] = 1
                
    Else - Actions
                    Set SphereCheck
    [(Player number of (Owner of (Triggering unit)))] = (SphereCheck[(Player number of (Owner of (Triggering unit)))] + 1)
            If (
    All Conditions are Truethen do (Then Actions) else do (Else Actions)
                If - 
    Conditions
                    SphereCheck
    [(Player number of (Owner of (Triggering unit)))] Equal to 1
                Then 
    Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            SphereValue1
    [(Player number of (Owner of (Triggering unit)))] Equal to 0
                        Then 
    Actions
                            Set SphereValue1
    [(Player number of (Owner of (Triggering unit)))] = 1
                            Set Sphere1
    [(Player number of (Owner of (Triggering unit)))] = Quas1
                            Unit 
    Add Sphere1[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                            
    Trigger Run Instance Counting <gen> (checking conditions)
                        Else - 
    Actions
                            
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                If - 
    Conditions
                                    SphereValue1
    [(Player number of (Owner of (Triggering unit)))] Equal to 10
                                Then 
    Actions
                                    Set SphereValue1
    [(Player number of (Owner of (Triggering unit)))] = 1
                                    Unit 
    Remove Sphere1[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
                                    
    Set Sphere1[(Player number of (Owner of (Triggering unit)))] = Quas1
                                    Unit 
    Add Sphere1[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                                    
    Trigger Run Instance Counting <gen> (checking conditions)
                                Else - 
    Actions
                                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                        If - 
    Conditions
                                            SphereValue1
    [(Player number of (Owner of (Triggering unit)))] Equal to 100
                                        Then 
    Actions
                                            Set SphereValue1
    [(Player number of (Owner of (Triggering unit)))] = 1
                                            Unit 
    Remove Sphere1[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
                                            
    Set Sphere1[(Player number of (Owner of (Triggering unit)))] = Quas1
                                            Unit 
    Add Sphere1[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                                            
    Trigger Run Instance Counting <gen> (checking conditions)
                                        Else - 
    Actions
                
    Else - Actions
            
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                If - 
    Conditions
                    SphereCheck
    [(Player number of (Owner of (Triggering unit)))] Equal to 2
                Then 
    Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            SphereValue2
    [(Player number of (Owner of (Triggering unit)))] Equal to 0
                        Then 
    Actions
                            Set SphereValue2
    [(Player number of (Owner of (Triggering unit)))] = 1
                            Set Sphere2
    [(Player number of (Owner of (Triggering unit)))] = Quas2
                            Unit 
    Add Sphere2[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                            
    Trigger Run Instance Counting <gen> (checking conditions)
                        Else - 
    Actions
                            
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                If - 
    Conditions
                                    SphereValue2
    [(Player number of (Owner of (Triggering unit)))] Equal to 10
                                Then 
    Actions
                                    Set SphereValue2
    [(Player number of (Owner of (Triggering unit)))] = 1
                                    Unit 
    Remove Sphere2[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
                                    
    Set Sphere2[(Player number of (Owner of (Triggering unit)))] = Quas2
                                    Unit 
    Add Sphere2[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                                    
    Trigger Run Instance Counting <gen> (checking conditions)
                                Else - 
    Actions
                                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                        If - 
    Conditions
                                            SphereValue2
    [(Player number of (Owner of (Triggering unit)))] Equal to 100
                                        Then 
    Actions
                                            Set SphereValue2
    [(Player number of (Owner of (Triggering unit)))] = 1
                                            Unit 
    Remove Sphere2[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
                                            
    Set Sphere2[(Player number of (Owner of (Triggering unit)))] = Quas2
                                            Unit 
    Add Sphere2[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                                            
    Trigger Run Instance Counting <gen> (checking conditions)
                                        Else - 
    Actions
                
    Else - Actions
            
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                If - 
    Conditions
                    SphereCheck
    [(Player number of (Owner of (Triggering unit)))] Equal to 3
                Then 
    Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            SphereValue3
    [(Player number of (Owner of (Triggering unit)))] Equal to 0
                        Then 
    Actions
                            Set SphereValue3
    [(Player number of (Owner of (Triggering unit)))] = 1
                            Set Sphere3
    [(Player number of (Owner of (Triggering unit)))] = Quas3
                            Unit 
    Add Sphere3[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                            
    Trigger Run Instance Counting <gen> (checking conditions)
                        Else - 
    Actions
                            
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                If - 
    Conditions
                                    SphereValue3
    [(Player number of (Owner of (Triggering unit)))] Equal to 10
                                Then 
    Actions
                                    Set SphereValue3
    [(Player number of (Owner of (Triggering unit)))] = 1
                                    Unit 
    Remove Sphere3[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
                                    
    Set Sphere3[(Player number of (Owner of (Triggering unit)))] = Quas3
                                    Unit 
    Add Sphere3[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                                    
    Trigger Run Instance Counting <gen> (checking conditions)
                                Else - 
    Actions
                                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                        If - 
    Conditions
                                            SphereValue3
    [(Player number of (Owner of (Triggering unit)))] Equal to 100
                                        Then 
    Actions
                                            Set SphereValue3
    [(Player number of (Owner of (Triggering unit)))] = 1
                                            Unit 
    Remove Sphere3[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
                                            
    Set Sphere3[(Player number of (Owner of (Triggering unit)))] = Quas3
                                            Unit 
    Add Sphere3[(Player number of (Owner of (Triggering unit)))] to (Triggering unit)
                                            
    Trigger Run Instance Counting <gen> (checking conditions)
                                        Else - 
    Actions
                
    Else - Actions
    Và đây là check orb để ra spell
    PHP:
    Events
        Conditions
        Actions
            Player Group 
    Pick every player in (All players) and do (Actions)
                
    Loop Actions
                    Set InvokeInteger
    [(Player number of (Picked player))] = (SphereValue1[(Player number of (Picked player))] + (SphereValue2[(Player number of (Picked player))] + SphereValue3[(Player number of (Picked player))]))
                    If (
    All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 1
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 1
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 2
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 2
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 3
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 3
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 10
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 1
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 11
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 1
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 1
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 12
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 2
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 1
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 20
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 2
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 21
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 1
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 2
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 30
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 0
                            Set WexInstances
    [(Player number of (Picked player))] = 3
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 100
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 1
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 101
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 1
                            Set ExortInstances
    [(Player number of (Picked player))] = 1
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 102
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 2
                            Set ExortInstances
    [(Player number of (Picked player))] = 1
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 110
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 1
                            Set WexInstances
    [(Player number of (Picked player))] = 1
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 111
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 1
                            Set ExortInstances
    [(Player number of (Picked player))] = 1
                            Set WexInstances
    [(Player number of (Picked player))] = 1
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 120
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 1
                            Set WexInstances
    [(Player number of (Picked player))] = 2
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 200
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 2
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 201
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 1
                            Set ExortInstances
    [(Player number of (Picked player))] = 2
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 210
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 2
                            Set WexInstances
    [(Player number of (Picked player))] = 1
                        
    Else - Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeInteger
    [(Player number of (Picked player))] Equal to 300
                        Then 
    Actions
                            Set QuasInstances
    [(Player number of (Picked player))] = 0
                            Set ExortInstances
    [(Player number of (Picked player))] = 3
                            Set WexInstances
    [(Player number of (Picked player))] = 0
                        
    Else - Actions
                    Unit 
    Set level of Wex Attack Speed bonus  for Invoker[(Player number of (Picked player))] to (((Level of Wex  for Invoker[(Player number of (Picked player))]) x WexInstances[(Player number of (Picked player))]) + 1)
                    
    Unit Set level of Wex Movement Speed Bonus  for Invoker[(Player number of (Picked player))] to (((Level of Wex  for Invoker[(Player number of (Picked player))]) x WexInstances[(Player number of (Picked player))]) + 1)
                    
    Unit Set level of Exort Bonus Damage  for Invoker[(Player number of (Picked player))] to (((Level of Exort  for Invoker[(Player number of (Picked player))]) x ExortInstances[(Player number of (Picked player))]) + 1)
    Tiếp theo là trigger check khi bắt đầu học orb ( cái này để bắt đầu các system trên )
    PHP:
    Learning Skills
        Events
            Unit 
    A unit Learns a skill
        Conditions
            
    Or - Any (Conditionsare true
                Conditions
                    
    (Learned Hero SkillEqual to Exort 
                    
    (Learned Hero SkillEqual to Quas 
                    
    (Learned Hero SkillEqual to Wex 
        Actions
            Set Invoker
    [(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
            
    Trigger Run Instance Counting <gen> (checking conditions)
            
    Trigger Run Alternative Spell leveling <gen> (checking conditions)
    Và cuối cùng là system add skill từ ultimate invoker
    PHP:
    Events
            Unit 
    A unit Starts the effect of an ability
        Conditions
            
    (Ability being castEqual to Invoke 
        Actions
            Set Invoker
    [(Player number of (Owner of (Triggering unit)))] = (Triggering unit)
            
    Set InvokeInteger[(Player number of (Owner of (Triggering unit)))] = (SphereValue1[(Player number of (Owner of (Triggering unit)))] + (SphereValue2[(Player number of (Owner of (Triggering unit)))] + SphereValue3[(Player number of (Owner of (Triggering unit)))]))
            If (
    All Conditions are Truethen do (Then Actions) else do (Else Actions)
                If - 
    Conditions
                    
    (Level of Invoke  for (Triggering unit)) Equal to 1
                Then 
    Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeSpell1Check
    [(Player number of (Owner of (Triggering unit)))] Equal to False
                        Then 
    Actions
                            Unit 
    Add InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]] to (Triggering unit)
                            
    Set InvokeSpell1[(Player number of (Owner of (Triggering unit)))] = InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]]
                            
    Set InvokeSpell1Check[(Player number of (Owner of (Triggering unit)))] = True
                        
    Else - Actions
                            Unit 
    Remove InvokeSpell1[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
                            
    Unit Add InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]] to (Triggering unit)
                            
    Set InvokeSpell1[(Player number of (Owner of (Triggering unit)))] = InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]]
                Else - 
    Actions
                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                        If - 
    Conditions
                            InvokeSpell1Check
    [(Player number of (Owner of (Triggering unit)))] Equal to False
                        Then 
    Actions
                            Unit 
    Add InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]] to (Triggering unit)
                            
    Set InvokeSpell1[(Player number of (Owner of (Triggering unit)))] = InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]]
                            
    Set InvokeSpell1Check[(Player number of (Owner of (Triggering unit)))] = True
                        
    Else - Actions
                            
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                If - 
    Conditions
                                    InvokeSpell2Check
    [(Player number of (Owner of (Triggering unit)))] Equal to False
                                Then 
    Actions
                                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                        If - 
    Conditions
                                            InvokeSpell1
    [(Player number of (Owner of (Triggering unit)))] Not equal to InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]]
                                        
    Then Actions
                                            Set InvokeSpell2
    [(Player number of (Owner of (Triggering unit)))] = InvokeSpell1[(Player number of (Owner of (Triggering unit)))]
                                            
    Unit Add InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]] to (Triggering unit)
                                            
    Set InvokeSpell1[(Player number of (Owner of (Triggering unit)))] = InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]]
                                            
    Set InvokeSpell2Check[(Player number of (Owner of (Triggering unit)))] = True
                                        
    Else - Actions
                                
    Else - Actions
                                    
    If (All Conditions are Truethen do (Then Actions) else do (Else Actions)
                                        If - 
    Conditions
                                            InvokeSpell1
    [(Player number of (Owner of (Triggering unit)))] Not equal to InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]]
                                        
    Then Actions
                                            Unit 
    Remove InvokeSpell2[(Player number of (Owner of (Triggering unit)))] from (Triggering unit)
                                            
    Set InvokeSpell2[(Player number of (Owner of (Triggering unit)))] = InvokeSpell1[(Player number of (Owner of (Triggering unit)))]
                                            
    Unit Add InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]] to (Triggering unit)
                                            
    Set InvokeSpell1[(Player number of (Owner of (Triggering unit)))] = InvokeSpells[InvokeInteger[(Player number of (Owner of (Triggering unit)))]]
                                        Else - 
    Actions
            Trigger 
    Run Alternative Spell leveling <gen> (checking conditions)
    " Vậy thôi " =)). Mới system thôi đó . Chưa làm spell khi học đc ultimate đó

    ---------- Post added at 19:00 ---------- Previous post was at 18:54 ----------

    Đây là system invoker đủ xài .Còn một system jass và vjass nữa mang tính chất tham khảo của member trong hội của tôi làm.Không tiện post mất công ăn gạch của Mr.Tom:|
     
  15. KuKulKan

    KuKulKan T.E.T.Я.I.S

    Tham gia ngày:
    2/8/09
    Bài viết:
    629
    Nơi ở:
    Quận Thủ Đức, Thành phố Hồ Chí Minh
    OMG...quả là "vậy thôi" :))

    Không đủ kiên nhẫn để tham khảo cách làm, khó chịu nhất mấy cái đoạn Player number of (...), sao không đưa vào biến rùi dùng cho ngắn gọn, để cho đoạn mã lệnh dài lê thê ... =.=
     
  16. Doom_Sage

    Doom_Sage Mr & Ms Pac-Man

    Tham gia ngày:
    24/7/11
    Bài viết:
    147
    Dựa vào đây mới thấy đc anh " ếch băng " quả là professional =))
     
  17. vuongkkk

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

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Rất nhiều spell của dota là lấy từ hiveshop .... kể cả ulti của invoker cũng lấy trên đó và bằng jass chứ ko phải GUI

    Đây là ví dụ spell sun ray của phoenix trong dota

    Anh ấy pro ở chỗ khác
    từ 1 map của người khác thậm chí cả spell của người khác mà có thể làm thành map của mình và nổi tiếng!
     
    Chỉnh sửa cuối: 13/10/11
  18. Jun Naital

    Jun Naital Mr & Ms Pac-Man

    Tham gia ngày:
    30/8/11
    Bài viết:
    169
    Nơi ở:
    Thánh địa So
    Cho mình hỏi làm thế nào để thay đổi cái ảnh minimap trong game (đang chơi) thành hình ảnh hả các bạn?
    Làm thế nào để sửa tên của 1 người chơi khi 1 người chơi thoát khỏi game chẳng hạn? .
     
  19. Doom_Sage

    Doom_Sage Mr & Ms Pac-Man

    Tham gia ngày:
    24/7/11
    Bài viết:
    147
    Lấy cái ảnh convert qua .blp đổi tên thành war3mapMap.blp rồi import vào
    Từ một map củ chuối thành một map sử dụng để bán hành =]],phối hợp spell phải nói là thiên tài.
    mà kêu giúp tớ fix desync đâu :-??
     
  20. Jun Naital

    Jun Naital Mr & Ms Pac-Man

    Tham gia ngày:
    30/8/11
    Bài viết:
    169
    Nơi ở:
    Thánh địa So
    Haha..cảm ơn bạn, cái này làm mình bó chiếu mãi :) thế bạn biết cách làm cái thứ 2 không ? Nếu muốn sửa tên người chơi trong multiboard khi họ thoát thì liệu mình có phải làm một trigger kiểu như mỗi 0.03s của game thì nếu người chơi(....) thoát ra thì set name của người chôi trong multiboard là(...) dạng như thế có đúng không nhỉ?.

    ---------- Post added at 21:14 ---------- Previous post was at 21:11 ----------

    Có ai biết làm hệ thống Arena như trong các map ORPG không nhỉ? Cái hệ thống của nó có thể khiến nhiều đồng minh cùng một lúc tham gia mà có thể spell và attack đc nhau.
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này