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. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    à mọi người cho hỏi khi sử dụng events như thế này

    Events
    Player - Player 1 (Red) types a chat message containing 001 as An exact match
    Player - Player 2 (Blue) types a chat message containing 001 as An exact match
    Player - Player 3 (Teal) types a chat message containing 001 as An exact match
    Player - Player 4 (Purple) types a chat message containing 001 as An exact match
    Player - Player 5 (Yellow) types a chat message containing 001 as An exact match
    Player - Player 7 (Green) types a chat message containing 001 as An exact match
    Player - Player 8 (Pink) types a chat message containing 001 as An exact match
    Player - Player 9 (Gray) types a chat message containing 001 as An exact match
    Player - Player 10 (Light Blue) types a chat message containing 001 as An exact match
    Player - Player 11 (Dark Green) types a chat message containing 001 as An exact match
    thì action phải thế nào để phù hợp với events, ví dụ người nào ghi 001 thì sẽ tạo cho nó 1 con này
    Unit - Create 1 Pokemon for Neutral Victim at (Center of Region 001 <gen>) facing Default building facing degrees
    Lệnh này ko biết phải tạo 1 pokemon cho ai hết @@
     
  2. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    1. Skill 3 của balanar không dùng Condition, mà nó dùng event.
    Mã:
    Event: Game - Time of day equal to 18.00
    -> event để buff
    Mã:
    Event: Game - Time of day equal to 6.00
    -> event để remove buff
    phần action bạn tự tìm hiểu nhé :)
    2. ......
    3. Đợi demo nhé bạn :D
    4. MUI là Multi Units Instants, là khả năng mà nhiều units có thể cast cùng lúc 1 spell. Tại sao phải dùng MUI? Vì nếu không có MUI, chỉ cần 2 units cùng cast 1 spell sẽ xảy ra lỗi ngay (lỗi này thường gặp với waits). Các map lớn đều cần có MUI. Nếu bạn làm 1 map nhỏ và không có ý định phát triển tiếp thì khỏi MUI cũng được (đang chơi gặp vài lỗi cũng vui =)) )
    5. Leak check là chương trình kiểm tra leak của 1 trigger, do đó để sử dụng bạn cần coppy trigger:
    - Mở Leak Check, WE
    - Trong WE mở Trigger Editor
    - Chọn trigger muốn kiểm tra, trong phần Trigger Fuctions, nhấn chọn tên trigger -> chuột phải -> coppy as text
    - Paste qua Leak Check rồi nhấn Scans (hay check gì đó)
    - Chương trình sẽ thống kê các leak đã remove và chưa remove, rồi dựa theo đó là remove leak lại thôi.
     
    Chỉnh sửa cuối: 2/10/11
  3. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Neutral Victim cho thành Owner of Triggering Unit, thằng player nào nhập 001 sẽ xuất hiện con Pokemon của thằng nhập đó
    P.S: Trường hợp nếu 2+ trở lên nhập cùng lúc thì chưa rõ nữa @@!
     
  4. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Thank, còn trường hợp đó thì khi một thằng chọn turn off trigger :-?
     
  5. taolahien00

    taolahien00 Mr & Ms Pac-Man

    Tham gia ngày:
    6/11/08
    Bài viết:
    108
    Nơi ở:
    Q.Bình Tân TP.
    không ý mình là cái Title của map ý chứ 0 phải ở hàng và cột
     
  6. Doom_Sage

    Doom_Sage Mr & Ms Pac-Man

    Tham gia ngày:
    24/7/11
    Bài viết:
    147
    Đây là 1 ví dụ đơn giản : http://www.mediafire.com/?jsc89dga6kib4ih


    Nethertoxin Events 1
    Events
    Map initialization
    Conditions
    Actions
    Set DmgAdd = 1
    Set DmgAddLvl = 1
    Set TempGroup = (Units in (Playable map area))
    Unit Group - Pick every unit in TempGroup and do (Actions)
    Loop - Actions
    Trigger - Add to Nethertoxin <gen> the event (Unit - (Picked unit) Takes damage)
    Custom script: call DestroyGroup(udg_TempGroup)


    Nethertoxin Events 2
    Events
    Unit - A unit enters (Playable map area)
    Conditions
    Actions
    Trigger - Add to Nethertoxin <gen> the event (Unit - (Triggering unit) Takes damage)


    Nethertoxin
    Events
    Conditions
    (Level of Sega4Revenge for (Damage source)) Greater than 0
    ExtraDmg Less than 128
    Actions
    Set Caster = (Damage source)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    (Level of +1 for Caster) Equal to 0
    Then - Actions
    Unit - Add +1 to Caster
    Unit - Add +10 to Caster
    Unit - Add +100 to Caster
    Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    Target Equal to No unit
    Then - Actions
    Set Target = (Triggering unit)
    Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    Target Not equal to (Triggering unit)
    Then - Actions
    Set Target = (Triggering unit)
    Set ExtraDmg = 0
    Else - Actions
    Set ExtraDmg = (ExtraDmg + (DmgAdd + (DmgAddLvl x ((Level of Sega4Revenge for Caster) - 1))))
    Set TempI[1] = ExtraDmg
    Set TempI[2] = 100
    For each (Integer A) from 1 to 3, do (Actions)
    Loop - Actions
    Set TempI[3] = (TempI[1] / TempI[2])
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    (Integer A) Equal to 1
    Then - Actions
    Unit - Set level of +100 for Caster to (TempI[3] + 1)
    Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    If - Conditions
    (Integer A) Equal to 2
    Then - Actions
    Unit - Set level of +10 for Caster to (TempI[3] + 1)
    Else - Actions
    Unit - Set level of +1 for Caster to (TempI[3] + 1)
    Unit - Set level of +1 for Caster to (TempI[3] + 1)
    Set TempI[1] = (TempI[1] - (TempI[2] x TempI[3]))
    Set TempI[2] = (TempI[2] / 10)

    Đây là ví dụ đơn giản.Chưa làm phức tạp.có thể còn leak và khiếm khuyết là chưa lưu damage dồn trên 1 unit ( thi thay đổi target rồi quay lại target cũ thì damage trở lại từ đầu,không thể tiếp tục dồn damage trên unit đó )
     
  7. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Lệnh này để làm gì :-w
    Mã:
    Multiboard - Change the title of (Last created multiboard) to ABC
    À mà mọi người ai rảnh check giùm mình một số spell này xem còn leak ko....
    [spoil]
    Mã:
    
    Ember
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Ember 
        Actions
            Set Caster_Ember = (Casting unit)
            Set Toward_Ember = 0.00
            Set Target_Ember = (Target point of ability being cast)
            Unit - Create 1 Dummy_Ember for (Owner of Caster_Ember) at (Position of Caster_Ember) facing (Facing of Caster_Ember) degrees
            Set Dummy_Ember = (Last created unit)
            Unit - Add a 1.00 second Generic expiration timer to Dummy_Ember
            Trigger - Turn on Loop Ember <gen>
    Mã:
    Loop Ember
        Events
            Time - Every 0.02 seconds of game time
        Conditions
        Actions
            Set Toward_Ember = (Toward_Ember + 20.00)
            Unit - Move Dummy_Ember instantly to ((Position of Caster_Ember) offset by Toward_Ember towards (Angle from (Position of Caster_Ember) to Target_Ember) degrees)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Toward_Ember Greater than or equal to (Distance between (Position of Caster_Ember) and Target_Ember)
                Then - Actions
                    Trigger - Turn off (This trigger)
                    Special Effect - Create a special effect at (Position of Dummy_Ember) using FireStomp.mdx
                    Special Effect - Destroy (Last created special effect)
                    Unit Group - Pick every unit in (Units within 500.00 of (Position of Dummy_Ember) matching (((Matching unit) belongs to an enemy of (Owner of Caster_Ember)) Equal to True)) and do (Actions)
                        Loop - Actions
                            Unit - Cause Caster_Ember to damage (Picked unit), dealing ((Real((Level of Ember  for Caster_Ember))) x 75.00) damage of attack type Spells and damage type Fire
                    Destructible - Pick every destructible within 500.00 of (Position of Dummy_Ember) and do (Actions)
                        Loop - Actions
                            Destructible - Kill (Picked destructible)
                    Custom script:   call RemoveLocation(udg_Target_Ember)
                Else - Actions
    [/spoil]
    [spoil]
    Mã:
    Flaming Throw
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Flaming Throw 
        Actions
            Set Caster_Flaming_Throw = (Casting unit)
            For each (Integer A) from 1 to 10, do (Actions)
                Loop - Actions
                    Unit - Create 1 Dummy_Flaming_Throw for (Owner of Caster_Flaming_Throw) at ((Position of Caster_Flaming_Throw) offset by (Random real number between 200.00 and 500.00) towards ((Real((Integer A))) x 36.00) degrees) facing Default building facing degrees
                    Set Dummy_Flaming_Throw[(Integer A)] = (Last created unit)
                    Unit - Add a 0.50 second Generic expiration timer to Dummy_Flaming_Throw[(Integer A)]
                    Unit Group - Pick every unit in (Units within 200.00 of (Position of Dummy_Flaming_Throw[(Integer A)]) matching (((Matching unit) belongs to an enemy of (Owner of Caster_Flaming_Throw)) Equal to True)) and do (Actions)
                        Loop - Actions
                            Unit - Cause Caster_Flaming_Throw to damage (Picked unit), dealing ((Real((Level of Flaming Throw  for Caster_Flaming_Throw))) x 90.00) damage of attack type Spells and damage type Fire
                    Destructible - Pick every destructible within 100.00 of (Position of Dummy_Flaming_Throw[(Integer A)]) and do (Actions)
                        Loop - Actions
                            Destructible - Kill (Picked destructible)
    
    [/spoil]
    [spoil]
    Mã:
    Bubbles
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to Bubbles 
        Actions
            Set Caster_Bubbles = (Casting unit)
            Set Toward_Bubbles = 0.00
            Set Target_Bubbles = (Target point of ability being cast)
            Unit - Create 1 Dummy_Bubbles for (Owner of Caster_Bubbles) at (Position of Caster_Bubbles) facing Default building facing degrees
            Set Dummy_Bubbles = (Last created unit)
            Unit - Add a 2.00 second Generic expiration timer to Dummy_Bubbles
            Trigger - Turn on Loop Bubbles <gen>
    
    Mã:
    Loop Bubbles
        Events
            Time - Every 0.03 seconds of game time
        Conditions
        Actions
            Set Toward_Bubbles = (Toward_Bubbles + 22.00)
            Unit - Move Dummy_Bubbles instantly to ((Position of Caster_Bubbles) offset by Toward_Bubbles towards (Angle from (Position of Caster_Bubbles) to Target_Bubbles) degrees)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Toward_Bubbles Greater than or equal to (Distance between (Position of Caster_Bubbles) and Target_Bubbles)
                Then - Actions
                    Trigger - Turn off (This trigger)
                    For each (Integer A) from 1 to 10, do (Actions)
                        Loop - Actions
                            Special Effect - Create a special effect at ((Position of Dummy_Bubbles) offset by 200.00 towards ((Real((Integer A))) x 36.00) degrees) using BasicWaterFlash.mdx
                            Set SE_Bubbles[(Integer A)] = (Last created special effect)
                    Wait 1.00 seconds
                    For each (Integer A) from 1 to 10, do (Actions)
                        Loop - Actions
                            Special Effect - Destroy SE_Bubbles[(Integer A)]
                    Unit Group - Pick every unit in (Units within 500.00 of (Position of Dummy_Bubbles) matching (((Matching unit) belongs to an enemy of (Owner of Caster_Bubbles)) Equal to True)) and do (Actions)
                        Loop - Actions
                            Unit - Cause Caster_Bubbles to damage (Picked unit), dealing ((Real((Level of Bubbles  for Caster_Bubbles))) x 75.00) damage of attack type Spells and damage type Cold
                    Custom script:   call RemoveLocation(udg_Target_Bubbles)
                Else - Actions
    
    [/spoil]
     
  8. LeoNguyen112

    LeoNguyen112 Dragon Quest

    Tham gia ngày:
    22/5/10
    Bài viết:
    1,438
    Nơi ở:
    TP.HCM
    Demo đây. Nhận tiện cho phép mình sử dụng spell này trong map mình nhé WildWolf :)
     
  9. mvcthinh

    mvcthinh Mr & Ms Pac-Man

    Tham gia ngày:
    18/8/11
    Bài viết:
    140
    Nơi ở:
    HCM
    Có đấy..
    các (Position of Caster_Ember[unit]) thì nên đặt vào Var type Point sau đó dùng RemoveLocation xóa đi

    Unit Group cũng thế .
    Cái này nên set TempGroup [Type UnitGroup] = (Units within 200.00 of (Position of Dummy_Flaming_Throw[(Integer A)]) rồi xóa nó bằng Call DestroyGroup.
     
  10. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    @Evil Hunter: Cậu viết event thế kia tôi đảm bảo chưa đủ :) Giờ nếu hero học skill từ 18:01 thì sao nhỉ? :-? Lúc đấy suốt từ 18:01~5.99 skill ko hề có tác dụng. Tôi nghĩ là phải check liên tục từng giây 1. Nếu vẫn là đêm thì add skill phụ cho nó. Còn ban ngày thì remove đi.
     
  11. 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
    Ban ngày:
    Mã:
       Events
            Game - The in-game time of day becomes Greater than or equal to 6.00
            Game - The in-game time of day becomes Less than 18.00
        Conditions
        Actions

    Ban đêm:
    Mã:
    Events
            Game - The in-game time of day becomes Greater than or equal to 18.00
            Game - The in-game time of day becomes Less than 6.00
        Conditions
        Actions
    Lúc học skill thêm đk là ngày hay đêm:
    Mã:
       Events
            Unit - A unit Learns a skill
        Conditions
            (Learned Hero Skill) Equal to ABCD
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    And - All (Conditions) are true
                        Conditions
                            (In-game time of day) Greater than or equal to 6.00
                            (In-game time of day) Less than 18.00
                Then - Actions
                Else - Actions
    
    
     
  12. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Muốn làm cái skill Aura ngày đêm thì cần 3 skill, 1 skill là cho Hero học ( skill này nên dùng channel và làm cho chỉ tác dụng bấm học skill chứ skill ko hiện nhá - 1 dạng bù nhìn qua mắt thiên hạ), 1 skill aura cho ban ngày ( skill của Unit ) 1 skill aura cho ban đêm ( skill của Unit )
    Cần 2 trigger:

    Trigger 1
    Event: Khi học skill
    Condition:
    - Skill đó là skill Hero bù nhìn
    - Người học là Hero
    Action:
    - Tạo 1 biến unit variable học skill bù nhìn, để lưu lại vì cần dùng đến khi end game ( nên set = Triggering Unit )
    - Hàm if với Condition: gắn 2 cái điệu kiện less than or equal to = 6.00greater than equal to = 18.00 vào
    thì Action: Add skill Aura unit ngày vì khoảng thời gian điều kiện là ban ngày và set Lv của skill Aura unit ngày theo Lv skill Hero và Remove skill Aura đêm ( tất cả cho biến variable unit )
    ngược lại Else: Add skill Aura unit đêm và set Lv của skill Aura unit đêm theo Lv skill Hero và Remove skill Aura ngày ( tất cả cho biến variable unit )

    Trigger 2
    Event: Every 0.50 seconds ( tùy thôi vì cái map trước tôi làm skill này thấy 0.50 là ổn định )
    Conditon:
    Action: Chỉ copy nguyên dàn hàm If trên xuống ( nhớ là ko sửa + copy biến unit set đầu trigger 1 )

    P.S: Có thể dùng cho các Hero biến hình đặc biệt ( như từ Demon biến Demon đen )
     
    Chỉnh sửa cuối: 2/10/11
  13. dragonx_90

    dragonx_90 Youtube Master Race

    Tham gia ngày:
    1/3/10
    Bài viết:
    40
    Nơi ở:
    Hà Nội
    loop < 0.1s là như nào bạn có thể giải thích rõ hơn được không? (nếu trong map có sử dụng nhiều event - every 1s of game time thì có phải leak hoặc dẫn đến lag ko ?)
    mà nếu skill này cast liên tục thì 5s sau nó vẫn xóa dummy cũ đi chứ, hay nó chỉ xóa dummy ở giây thứ 5 ?
     
  14. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Với dạng skill mà có vòng Loop mà Event mà là Every x seconds, thì x này bạn nên cho từ 0.04 trở lên chứ để dưới 0.04 thì lag tung máy :D
    Cái đó ko sao đâu, chắc bác đó nhìn ko rõ, chứ cái đó là định cho Dummy sống 5 giây rồi tự động chết
     
  15. huanvinhhb

    huanvinhhb Youtube Master Race

    Tham gia ngày:
    5/9/11
    Bài viết:
    26
    có ai biết làm spell tính dame = point dame của hero ko, point dame hero càng nhiều spell đó dame càng cao ai biết làm hướng dẫn mình mới nhé ( cám ơn nhiều ) mình đang cần gấp
     
  16. Doom_Sage

    Doom_Sage Mr & Ms Pac-Man

    Tham gia ngày:
    24/7/11
    Bài viết:
    147
    Những skill passive này tớ xài thường xuyên trong map tớ nên tớ biết . vd bác cho là 5s sau mới remove dummy . vậy nếu cast skill này liên tục ( vì là passive nên có thể spam cực nhanh ) thì trong 5s đó có thể tạo ra hơn 30 dummy chưa kịp remove nếu 0.6s cast skill 1 lần phụ thuộc vào attack speed.Nếu dummy mà có effect thì 30 dummy không lag là chuyện lạ ( chưa kể có khi nhiều unit đều xài skill này )
    Theo tớ thì không đc để dummy sống quá 1>2s.không thì sau này + thêm những skill khác lag giật tung chảo .
     
  17. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Ai có thể làm giúp mình một skill passive khi đánh có 20% tạo một effect chỗ kẻ thù bị đánh nhé.
    Thanks trước
     
  18. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Set 2 variable dạng Unit
    Attacking là thằng đánh
    Attacker là thằng bị đánh

    Rồi set Point xong cho tạo Effect
     
  19. huanvinhhb

    huanvinhhb Youtube Master Race

    Tham gia ngày:
    5/9/11
    Bài viết:
    26
    ai cho mình xin kái map có hướng dẫn làm trigger quest kái ( GUI )
     
  20. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Quest thì cậu phải nói rõ cái quest đó như thế nào chứ...:|
    còn đây là một số lệnh tôi thường dùng
    Quest - Flash the quest dialog button (Làm nút quest có viền sáng chạy quanh)
    Quest - Create a Required quest titled ' with the description ád, using icon path ReplaceableTextures\CommandButtons\BTNAmbush.blp (Đây là tạo quest đây)
    Quest - Destroy (Last created quest) (Phá Quest)
    Quest - Mark (Last created quest) as Discovered
    Quest - Mark (Last created quest) as Failed
    Quest - Mark (Last created quest) as Completed
    Ba lệnh này theo thứ tự là ẩn, thất bại và hoàn thành. (Chưa rõ nhé)
    Quest - Change the title of (Last created quest) to ABC (Thay đổi tên quest)
    Quest - Change the description of (Last created quest) to Hãy diệt quỷ (Thay đổi miêu tả quest)
    Quest - Display to (All players) the Quest Update message: Hoàn thành!!!! (Để ý mấy map campaign, khi qua màn cinematic nó sẽ hiện ra dòng chữ trên màn hình ấy)
     
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này