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

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

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

    lonewolf020291 T.E.T.Я.I.S

    Tham gia ngày:
    16/3/07
    Bài viết:
    579
    Nơi ở:
    Toy Box
    Vào Advance > Gameplay Constants >Stick vào Use Custom Gameplay Constants
    Tìm dòng Hero XP - Global Distribution, chỉnh về False.
    Muốn chỉnh range nhận XP thì dòng Hero Maximum XP Range sẽ giải quyết.
     
  2. 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 một cái mode -ar để random hero,set các biến Hero_Array = Unit Type rồi làm như bên dưới,mà thỉnh thoảng nó cứ trùng lặp các hero giống nhau.,mình phải làm sao ?

    Mã:
    Events
        Map initialization
    Conditions
    Actions
    Set Random_Count = 78
    Set Hero_Array[1] = |cffffff00B¸ T­íc|r
    For each (Integer A) from 1 to 78, do (Actions)
        Loop - Actions
            Set Random_Data[(Integer A)] = (Integer A)
    
    

    Mã:
    Events
        Player - Player 2 (Blue) types a chat message containing -ar as An exact match
    
    Conditions
    
    Actions
    
    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
                    ((Player((Integer A))) slot status) Equal to Is playing
                Then - Actions
                    Set Random_Hero = (Random integer number between 1 and Random_Count)
                    Unit - Create 1 Hero_Array[Random_Data[Random_Hero]] for (Player((Integer A))) at ((Player((Integer A))) start location) facing Default building facing degrees
                    Selection - Select (Last created unit) for (Owner of (Last created unit))
                    Game - Display to (All players) for 10.00 seconds the text: ((Name of (Player((Integer A)))) + ( ®· chän ngÉu nhiªn ®­îc  + (Name of (Last created unit))))
                    Camera - Pan camera for (Player((Integer A))) to ((Player((Integer A))) start location) over 0.00 seconds
                    Set UnitGroupArray[140] = (Units in pickhero <gen>)
                    Unit Group - Pick every unit in UnitGroupArray[140] and do (Actions)
                        Loop - Actions
                            Unit - Remove (Picked unit) from the game
                    Custom script:   call DestroyGroup (udg_UnitGroupArray[140])
                    Set Random_Data[Random_Hero] = Random_Count
                    Set Random_Count = (Random_Count - 1)
                Else - Actions
                    Do nothing
    
     
    Chỉnh sửa cuối: 9/12/11
  3. lonewolf020291

    lonewolf020291 T.E.T.Я.I.S

    Tham gia ngày:
    16/3/07
    Bài viết:
    579
    Nơi ở:
    Toy Box
    1) Tại sao dùng đến biến Random_Data, tớ không hiểu :s
    2) Lỗi của Code sau là do: nếu P1 random ra Hero_Array[4] trong 78 biến unit types. Đến lượt P2, vì random từ 1 -> 77 nên Hero_Array[4] vẫn có thể được chọn lại. Việc Set Random_Count = (Random_Count - 1) chỉ làm cho unit type thứ 78 không được random vào.

    Theo tớ: bỏ cái Random_Data đi.
    Mã:
    [SIZE=3]Set Random_Hero = (Random integer number between 1 and Random_Count)
    Unit - Create 1 Hero_Array[Random_Hero] for......
    ..Blah blah...
    Set Hero_Array[Random_Hero] = Hero_Array[Random_Count] // Việc trên sau khi random 1 unit type (Vd là Hero_Array[4]=Mirana), trigger sẽ chuyển đổi unit type của Hero_Array[4](Mirana) với Hero_Array[78](Troll).
    Set Random_Count = (Random_Count - 1)// không còn random được Mirana nhưng Troll được vì đã trở thành Hero_Array[4] [/SIZE]
     
    Chỉnh sửa cuối: 9/12/11
  4. Dorae.Mun

    Dorae.Mun Mr & Ms Pac-Man

    Tham gia ngày:
    9/11/11
    Bài viết:
    243
    Nơi ở:
    Thế kỉ 22
    ai giúp em với ! :((
     
  5. babycat1819

    babycat1819 Youtube Master Race

    Tham gia ngày:
    28/1/10
    Bài viết:
    59
    mọi người cho em hỏi Trigger này :
    Actions
    Unit - Move BM[1] instantly to ((Position of BM[1]) offset by 100.00 towards (Facing of BM[1]) degrees), facing (Facing of BM[1]) degrees
    Set BMGroup[1] = (Units within 85.00 of (Position of BM[1]))
    Unit Group - Pick every unit in BMGroup[1] and do (Actions)
    Loop - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    ((Picked unit) is A structure) Equal to False
    ((Picked unit) belongs to an enemy of (Owner of BM[1])) Equal to True
    ((Picked unit) is alive) Equal to True
    ((Picked unit) is in BMGroup2) Not equal to True
    Then - Actions
    Unit Group - Add (Picked unit) to BMGroup2
    Unit - Cause BM[1] to damage (Picked unit), dealing (Real(((Agility of BM[1] (Include bonuses)) x 5))) damage of attack type Hero and damage type Cold
    EGUI Effect - Create an effect at (Position of (Picked unit)) using the model Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl that lasts for 1.00 seconds
    Else - Actions
    Custom script: call DestroyGroup ( udg_BMGroup[1] )
    Custom script: call DestroyGroup ( udg_BMGroup2 )
    Đây là chiêu lướt tới trước mặt cho em hỏi khi lướt 1 unit nó lướt qua có khi gây dame tới 2 lần mà em đả bỏ Picked unit vào Group rồi ?
     
  6. lonewolf020291

    lonewolf020291 T.E.T.Я.I.S

    Tham gia ngày:
    16/3/07
    Bài viết:
    579
    Nơi ở:
    Toy Box
    Lỗi là ở đây: Custom script: call DestroyGroup ( udg_BMGroup2 )
    Trong 1 lần slide, bạn hủy group2 thì nó vẫn deal damage như thường.
    Solution: bỏ dòng đó đi. Sau khi hết slide thì chỉ Unit Group - Clear BMGroup2.
    P/s: (nếu có) lần sau bạn hãy bỏ code vào khung
    Mã:
    
    
    và khung [spoil][/spoil] cho dễ nhìn.

    Chỉ làm spell đầu, còn kiếm đoàn với LMTK là cái gì tớ chả biết, và chả muốn làm
    Note: spell ko MUI. Unit bay với độ cao random và deal damage custom (mặc định sẵn 0.5x (Khoảng cách + Độ cao).
     

    Các file đính kèm:

    Dorae.Mun thích bài này.
  7. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Để trong hàm If thì là Matching Unit, Pick là dành cho Action

    Edit: Sr nhìn nhầm @@ tại ko trong code nên quên nhìn dòng Unit Group trên :D
     
    Chỉnh sửa cuối: 9/12/11
  8. game_war48

    game_war48 Dragon Quest

    Tham gia ngày:
    7/9/08
    Bài viết:
    1,320
    Nơi ở:
    Ice City
    ^: Đâu phải thế. Để Matching Unit vào những dòng ở trên đố trigger hoạt động đc.
    @lonewolf: Thực ra để DestroyGroup thì chính xác hơn. Cái Group đó khi hết slide thì chả dùng gì đến nữa nên chả cần để lại, "destroy" nó đi.
     
  9. steven113

    steven113 Youtube Master Race

    Tham gia ngày:
    18/10/09
    Bài viết:
    22
    có ai giúp mình cái trigger mỗi lần mua hero nó chuyển về chỗ hồ máu team đó như dota không mình mò mãi mà ko đc :((
     
  10. babycat1819

    babycat1819 Youtube Master Race

    Tham gia ngày:
    28/1/10
    Bài viết:
    59
    Em sr viết trigger nhằm thật ra ko có Cái dòng custom scrip cuối nhé ,và nó vẫn deal 2 lần dame
     
  11. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Thử nhét cái hàm if 4 dòng đó vào luôn lúc set Group luôn, rồi dùng Matching unit
     
  12. lonewolf020291

    lonewolf020291 T.E.T.Я.I.S

    Tham gia ngày:
    16/3/07
    Bài viết:
    579
    Nơi ở:
    Toy Box
    ^ Cậu này khoái matching unit thật =))
    Nói thế này nhé: đem cái trigger hoàn chỉnh lên giùm đi bạn, cứ úp úp mở mở cái trigger thì tớ chả biết có cái gì để sửa với chữa cả.
    P/s: sao biết deal 2 lần damage ??
    Muốn "như dota" thì gọn vào là thế này:
    + Tạo 1 Region 3 ở vùng pick hero.
    + Tạo Region1 ở hồ máu team 1, tạo Region2 ở hồ máu team 2
    + Tạo 1 trigger với Event Unit enters Region3. Condition đó là hero. Actions gồm có: nếu chủ unit là đồng đội của Sentinel (Boolean Condition), thì move về Region1. Else: move về Region2
     
  13. fantom2409

    fantom2409 Mr & Ms Pac-Man

    Tham gia ngày:
    15/8/11
    Bài viết:
    194
    Cho mình hỏi cái Geminate attack của NW trong Dota làm sao ??
     
  14. babycat1819

    babycat1819 Youtube Master Race

    Tham gia ngày:
    28/1/10
    Bài viết:
    59
    Em bik chắc chắn Là nó deal 2,3 lần dame vì Map em có trigger hiện dame khi bị đánh thấy có lúc nó hiện lên 2,3 số 1 lúc nên => nó bị deal tới 2,3 lần dame
     
  15. lonewolf020291

    lonewolf020291 T.E.T.Я.I.S

    Tham gia ngày:
    16/3/07
    Bài viết:
    579
    Nơi ở:
    Toy Box
    Tạo custom ability of the Orb of Lightning (new) 4 level và unit ability Searing Arrows 4 level có cooldown: 6/5/4/3s. Ability Orb of Lightning (new), chỉnh:
    Data - Chance to hit heros: 100%
    Data - Chance to hit summons: 100%
    Data - Chance to hit units: 100%
    Data - Effect Ability: Searing Arrows
    Cho hero học Orb of Lightning (new). Tạo trigger:
    [spoil]
    Mã:
     Events
            Unit - A unit Learns a skill
        Conditions
            (Learned Hero Skill) Equal to Geminate Attack <---- ( Orb of Lightning (new) )
        Actions
            Unit - Set level of Searing Arrows for (Triggering unit) to (Level of Geminate Attack for (Triggering unit))
    [/spoil]
    Nguồn: Tom_K

    [spoil]
    Mã:
    Events
        Every 0.04s of game time
    Actions
        Unit - Move BM[1] instantly to ((Position of BM[1]) offset by 100.00 towards (Facing of BM[1]) degrees), facing (Facing of BM[1]) degrees
        Set BMGroup[1] = (Units within 85.00 of (Position of BM[1]))
        Unit Group - Pick every unit in BMGroup[1] and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Picked unit) is A structure) Equal to False
                        ((Picked unit) belongs to an enemy of (Owner of BM[1])) Equal to True
                        ((Picked unit) is alive) Equal to True
                        ((Picked unit) is in BMGroup2) Equal to False
                    Then - Actions
                        Unit Group - Add (Picked unit) to BMGroup2
                        Unit - Cause BM[1] to damage (Picked unit), dealing (Real(((Agility of BM[1] (Include bonuses)) x 5))) damage of attack type Hero and damage type Cold
                        Special Effect - Create a special effect at (Position of (Picked unit)) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
                        Special Effect - Destroy (Last created special effect)
                    Else - Actions
        Custom script:   call DestroyGroup(udg_BMGroup[1])
    
    [/spoil]
    Sau khi hết slide thêm Unit Group - Clear all units in BMGroup2.
    Edit: Theo lời game_war thì destroygroup, cái này đúng chỉ khi khi bắt đầu slide bạn có Customscript: set udg_BMGroup2 = CreateGroup() hay Set BMGroup2 = (Create Unit Group) (USMWE). Còn nếu ko thì chỉ clear unit.
     
    Chỉnh sửa cuối: 10/12/11
  16. fantom2409

    fantom2409 Mr & Ms Pac-Man

    Tham gia ngày:
    15/8/11
    Bài viết:
    194
    anh Tom cho em xin Y!H để dễ bề học hỏi mấy cái Trigger trong WE dc ko?
     
  17. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Chắc chắn anh Tom sẽ nói câu là
    Mọi người ai biết làm skill dạng shockwave bằng trigger có thể làm giúp mình một cái được ko :-?
     
    Chỉnh sửa cuối: 10/12/11
  18. lonewolf020291

    lonewolf020291 T.E.T.Я.I.S

    Tham gia ngày:
    16/3/07
    Bài viết:
    579
    Nơi ở:
    Toy Box
    Shockwave_GUI
    _______________________________
     
  19. 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
    @Evil_Hunter Chắc chắn anh Tom sẽ nói câu là

    sao cậu sure :-ss

    sự thật anh tom bay giờ đang có 1 chuyện mà online chăm sốc WE củng hok dc :-<
     
  20. vuongkkk

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

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Các cậu off-topic kinh quá

    @fantom: anh Tom cho em xin Y!H để dễ bề học hỏi mấy cái Trigger trong WE dc ko?

    Trước hết cậu chơi war3 coi nó có những cái gì thì trong trigger nó sẽ có cái để tạo/chỉnh những cái đó
    Đừng để ý đến cái gì phức tạp mà cứ nắm rõ các cái cơ bản trong war3 như unit, item, Ability, effect, rect,....
    Trigger nó là tác dụng đến những cái đó qua event
    Ngoài các câu lệnh tương tác với những cái trên thì còn có cấc câu lệnh logic như If để phân loại các trường hợp, For để lặp...

    Kết hợp nhiều lệnh thì cậu có thể tạo ra các cái phức tạp hơn
    Ko hiểu gì thì lên đây search, ở đây ko có thì google search, ko thấy thì topic này sẽ đảm nhận trách nhiệm !
    Còn ai có tinh thần trách nhiệm, niềm đam mê , nhiệt huyết với WE + thời gian thì cho bạn ấy xin cái nick YH ....
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này