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

    royal309 Youtube Master Race

    Tham gia ngày:
    21/7/09
    Bài viết:
    12
    hehe thanks cảm ơn bác để mình test lại :D

    ---------- Post added at 18:27 ---------- Previous post was at 18:12 ----------

    hehe cảm ơn bạn nhiều để mình thử lại :D
     
  2. vuongkkk

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

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Đây là simple quest system có thể phù hợp với bạn

    1 player có 1 hero thì cái swap hero của mình có thể dùng được đấy. = GUI nhá :p
     
  3. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Thanks :D Mình đang làm hero arena nên 1 người cũng chỉ sở hữu 1 hero thôi :D Để mình thử :D
     
  4. 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
    Xóa Team Glow
    (dịch từ Help file)

    Bài này sẽ hướng dẫn xóa "glow" của một model.

    Ta sẽ xóa glow của model Paladin, tất nhiên bạn có thể xóa glow ở model nào tùy thích, đây chỉ là hướng dẫn. Trước hết ta phải load model vào tool. Chỉ việc mở MPQ ra để lấy thôi.
    • Mở War3 Model Editor
    • Windows -> MPQ Browser để mở MPQ
    • Bỏ hết các "filter" (lọc), Filter \ None
    • Để lọc các model thì Filters \ Models
    • File \ War3.mpq để mở War3.mpq vì model Paladin trong mpq này
    • Tìm model paladin ở đường dẫn Units\Human\HeroPaladin
    • Click đúp vào HeroPaladin.mdx để load
    chú ý: sử dụng các filter trên sẽ tìm được model, texture nhanh hơn nhưng nếu bạn không dùng cũng ko sao, bạn có thể tìm đường dẫn rồi mở luôn :)
    [spoil][​IMG][/spoil]

    Giờ ta đã load xong model Paladin, ta có thể đóng MPQ Browser, ta không cần nữa (MPQ Browser sẽ mở cho tới khi ta click File \ Close hoặc thoát khỏi chương trình). Ta sẽ select (chọn) geoset Team Glow (khối glow) bằng cách CTRL-clicking trên ở cửa sổ chính và xóa khỏi Geoset Manager.
    • Mở Geoset Manager từ Windows \ Geoset Manager
    • Kéo cửa sổ Geoset Manager sang bên cạnh để nó ko che mất model.
    • Giữ CTRL và ấn chuột trái vào Team Glows trên ở cửa sổ chính (các glow thường là cùng một geoset nên click vào glow nào cũng được)
    • Nếu thành công thì Team Glow geoset sẽ được select trong Geoset Manager
      [spoil][​IMG][/spoil]
    • Và hãy quay camera để có góc nhìn tốt hơn
    • Ấn chuột phải vào geoset trên
    • Click vào Remove
    • Bạn sẽ gặp câu hỏi "có tháo "xương" ra không", hãy click Yes :D
    Giờ glow đã mất, bạn có thể thấy kết quả ở cửa sổ chính. Giờ chúng ta cần lưu lại và nhập vào War3 để xem.
    • Trên menu, ấn File \ Save As
    • Đặt một tên cho hợp và Save, nhớ phải gõ cả đuôi .mdx cho tên :)
    Chú ý:
    Nếu geoset bạn vừa xóa đã được gắn với một geoset animation, bạn phải xóa cả geoset animation luôn, không thì Warcraft 3 sẽ "crash" đó.
    Mở Geoset Animation Manager ( Windows \ Geoset Animation Manager) tìm các geoset animation mà có ID là "None", click chuột phải rồi xóa :)
    (model Paladin ko có Geoset Animation nào nên không cần quan tâm :D)

    Kết quả khi view trên War3 Model Editor:
    [spoil][​IMG][​IMG][/spoil]

    -------------------------------------------------------------------------------------------------
    Quote by Tom Kazansky 01-08-2009 15:26

    cái này hỏi thì trong BoX Phần mềm nha trong đây là hỏi có vẻ không thích hợp :-"
    http://www.download.com.vn/more+software+tools/7304_directx-9-0c.aspx
     
  5. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Cho mình hỏi cái dòng code này để làm gì đây:
    Mã:
    Custom script:   set bj_wantDestroyGroup = true


    ---------- Post added at 23:12 ---------- Previous post was at 23:02 ----------

    Cho mình hỏi cái dòng code này để làm gì đây:
    Mã:
    Custom script:   set bj_wantDestroyGroup = true
     
  6. 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
    dòng hàm set bj_wantDestroyGroup = true là một hành động chống rò rỉ ví dụ

    Mã:
    trigger
        Events
        Conditions
        Actions
            Set TempGroup = (Units in (Playable map area))
            Unit Group - Pick every unit in TempGroup and do (Actions)
                Loop - Actions
            Memory Leak - Destroy TempGroup
    
    mình sẽ làm như thế này

    Mã:
    trigger
        Events
        Conditions
        Actions
            Custom script:   set bj_wantDestroyGroup = true
            Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
                Loop - Actions
    
    2 cái điều giống nhau tác dụng chống rò rỉ nhân cái set bj_wantDestroyGroup = true là xác định hàm untisgroup xóa rò rỉ. còn hàm Memory Leak - Destroy TempGroup củng như vậy.

    không chỉ là 2 loại chống rò rỉ group mà có loại thứ 3 là tác dụng như 2 cái trên đoạn này để ở phần dưới unit group
    Mã:
    trigger
        Events
        Conditions
        Actions
            Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
                Loop - Actions
            Custom script:   DestroyGroup( GetLastCreatedGroup() )
    
    call DestroyGroup( GetLastCreatedGroup() )
     
  7. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Coi hộ mình luôn cái đoạn code ==! Đang làm cái wave giống morph (MUI) mà những con lướt qua sẽ bị dính dmg + slow. Slow thì có Slam rồi. Còn cái khoản gây dmg 1 lần thì... Cast được mấy phát đầu ổn, chỉ gây dmg 1 lần nhưng... mấy phát sau lại cứ 0.03s gây dmg liên tục mấy lần liền... Chả hiểu tại sao =.=! Đang thắc mắc ở chỗ bôi xanh tại trigger thứ 2...
    Mã:
    Earth Wave (Initially ON)
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Earth Wave 
    Actions
        Set EarthWaveIndex = (EarthWaveIndex + 1)
        Set EarthWaveCaster[EarthWaveIndex] = (Casting unit)
        Set EarthWaveCasterLoc[EarthWaveIndex] = (Position of EarthWaveCaster[EarthWaveIndex])
        Set EarthWavePoint[EarthWaveIndex] = (Target point of ability being cast)
        Set EarthWaveDistance[EarthWaveIndex] = (Distance between EarthWaveCasterLoc[EarthWaveIndex] and EarthWavePoint[EarthWaveIndex])
        Set EarthWaveAngle[EarthWaveIndex] = (Angle from EarthWaveCasterLoc[EarthWaveIndex] to EarthWavePoint[EarthWaveIndex])
        For each (Integer A) from 1 to GrandSBCurrentIndex, do (Actions)
            Loop - Actions
                Custom script:   call RemoveLocation(udg_EarthWaveCasterLoc[GetForLoopIndexA()])
                Custom script:   call RemoveLocation(udg_EarthWavePoint[GetForLoopIndexA()])
    
    Mã:
    Earth Wave Move (Initially ON)
    Events
        Time - Every 0.03 seconds of game time
    Conditions
    Actions
        For each (Integer A) from 1 to EarthWaveIndex, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        EarthWaveDistance[(Integer A)] Greater than 0.00
                    Then - Actions
                        Unit - Make EarthWaveCaster[(Integer A)] Invulnerable
                        Unit - Turn collision for EarthWaveCaster[(Integer A)] Off
                        Animation - Change EarthWaveCaster[(Integer A)]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency
                        Set EarthWaveLoc = (Position of EarthWaveCaster[(Integer A)])
                        Set EarthWaveLoc2 = (EarthWaveLoc offset by 45.00 towards EarthWaveAngle[(Integer A)] degrees)
                        Set EarthWaveDistance[(Integer A)] = (EarthWaveDistance[(Integer A)] - 45.00)
                        Unit - Move EarthWaveCaster[(Integer A)] instantly to EarthWaveLoc2
                        Special Effect - Create a special effect at EarthWaveLoc using Stonespear.mdx
                        Special Effect - Destroy (Last created special effect)
                        Special Effect - Create a special effect at EarthWaveLoc using Abilities\Spells\Orc\EarthQuake\EarthQuakeTarget.mdl
                        Special Effect - Destroy (Last created special effect)
                        [COLOR="#0000FF"]Set EarthWaveGroup[(Integer A)] = (Units within 225.00 of EarthWaveLoc matching ((((Matching unit) is A structure) Not equal to True) and ((((Matching unit) is Magic Immune) Not equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner 
                        Unit Group - Pick every unit in EarthWaveGroup[(Integer A)] and do (Actions)
                            Loop - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        ((Picked unit) is in EarthWaveHitGroup[(Integer A)]) Not equal to True
                                    Then - Actions
                                        Unit Group - Add (Picked unit) to EarthWaveHitGroup[(Integer A)]
                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            If - Conditions
                                                ((Picked unit) has an item of type |cff0000ffEmblem of Water|r) Equal to True
                                            Then - Actions
                                                Unit - Cause EarthWaveCaster[(Integer A)] to damage (Picked unit), dealing (55.00 + (50.00 x (Real((Level of Earth Wave  for EarthWaveCaster[(Integer A)]))))) damage of attack type Spells and damage type Normal
                                                Unit - Cause EarthWaveCaster[(Integer A)] to damage (Picked unit), dealing 150.00 damage of attack type Spells and damage type Normal
                                                Floating Text - Create floating text that reads (|cff804000+150!|r + <Empty String>) above (Picked unit) with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                                                Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                                                Floating Text - Change (Last created floating text): Disable permanence
                                                Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
                                                Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
                                            Else - Actions
                                                Unit - Cause EarthWaveCaster[(Integer A)] to damage (Picked unit), dealing (55.00 + (50.00 x (Real((Level of Earth Wave  for EarthWaveCaster[(Integer A)]))))) damage of attack type Spells and damage type Normal
                                    Else - Actions[/COLOR]                    Unit - Create 1 Earth Wave Dummy for (Owner of EarthWaveCaster[(Integer A)]) at EarthWaveLoc facing Default building facing degrees
                        Unit - Add a 0.01 second Generic expiration timer to (Last created unit)
                        Unit - Set level of Earth Wave Dummy  for (Last created unit) to (Level of Earth Wave  for EarthWaveCaster[(Integer A)])
                        Unit - Order (Last created unit) to Neutral - Slam
                        Custom script:   call DestroyGroup(udg_EarthWaveGroup[GetForLoopIndexA()])
                        Custom script:   call RemoveLocation(udg_EarthWaveLoc)
                        Custom script:   call RemoveLocation(udg_EarthWaveLoc2)
                    Else - Actions
                        Unit Group - Remove all units from EarthWaveHitGroup[(Integer A)]
                        Unit - Turn collision for EarthWaveCaster[(Integer A)] On
                        Unit - Make EarthWaveCaster[(Integer A)] Vulnerable
                        Animation - Change EarthWaveCaster[(Integer A)]'s vertex coloring to (100.00%, 100.00%, 100.00%) with 0.00% transparency[COLOR="Silver"]
    
    [SIZE=1]---------- Post added at 00:23 ---------- Previous post was at 00:21 ----------[/SIZE]
    
    [/COLOR]
    Mình đang cần cái này gấp lắm >"< Ai rảnh sửa dùm mình càng sớm càng tốt >"< Cảm ơn trước luôn :D
     
  8. Mr.Giang

    Mr.Giang Mr & Ms Pac-Man

    Tham gia ngày:
    2/2/08
    Bài viết:
    156
    Thế cho mình hỏi sound của Marine để ở đâu vậy mà mình kiếm chẳng thấy?
     
  9. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    Tăng size group lên .
     
  10. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Ý cậu là sao? Tăng số 225 range lên cao hơn ư? :|
     
  11. goldviper

    goldviper Mario & Luigi Lão Làng GVN

    Tham gia ngày:
    7/1/10
    Bài viết:
    715
    Nơi ở:
    Tổ dân phố
    tăng size cái chỗ tạo Variable ý , mặc định của variable array là 1 thì bạn tăng nó lên
    Spell wave mà dùng slam thì rất lag , nên dùng cripple lên từng picked unit thì hơn , condition thêm là con nào có buff slow rồi thì thôi ko cast buff vào nó nữa.
     
  12. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Size 12 rồi đấy mà nó vẫn phê :| Dùng slam thì có vẻ lag thật nên có lẽ mình sẽ chuyển sang cripple hoặc slow :)
     
  13. kingghot

    kingghot Mr & Ms Pac-Man

    Tham gia ngày:
    15/4/10
    Bài viết:
    290
    Nơi ở:
    Rach Gia
    Dạ là team của 2 phe luôn
     
  14. Ăn xong dong

    Ăn xong dong Mr & Ms Pac-Man

    Tham gia ngày:
    7/6/11
    Bài viết:
    136
    Sr :P hỏi ko đúng: Làm sao để Shop có thể bán item cho nhìu hero cùng 1 lúc ai zúp zùm Thanks nhìu.
     
  15. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Quay lại cái skill Earth Wave kia phát. Mình mới nhận ra là size của cái HitGroup kia = bao nhiêu thì sau bấy nhiêu lần cast nó sẽ lại về tình trạng gây dmg liên tục ==! Ví dụ mình để 12 thì 12 lần cast đầu chỉ gây dmg 1 lần và từ lần 13 trở đi là lại cứ 0.03s gây dmg 1 lần ==! Ai biết cách khắc phục ko?
    Mã:
    Unit Group - Add (Picked unit) to EarthWaveHitGroup[(Integer A)] (Size = 12)
     
  16. AzuhaSky

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

    Tham gia ngày:
    30/5/10
    Bài viết:
    550
    Nơi ở:
    WE Box
    Cậu thử đừng dùng Group Array xem và trong cái hàm 0.03s gì đó có cả hàm Unit Group - Remove all units form Group nào đó - Tớ nghĩ chắc tại cái này ý!:-?
     
  17. kingghot

    kingghot Mr & Ms Pac-Man

    Tham gia ngày:
    15/4/10
    Bài viết:
    290
    Nơi ở:
    Rach Gia
    Hỏi :

    làm sao để cho unti vào một khu unti kia được thiết lập làm sao để unti move qua là unti trong vùng đó chết?
     
  18. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    Tại dùng Integer đấy. À mà cùng lắm thì tăng max size lên đi ;)).
     
    Chỉnh sửa cuối: 8/7/11
  19. Ryanpzo9

    Ryanpzo9 Donkey Kong

    Tham gia ngày:
    20/10/08
    Bài viết:
    326
    Thôi bỏ đi :) Mình để size lên 2000 =)) 1 game chắc chả ai cast đủ 2000 lần đâu nhỉ =))

    ---------- Post added at 13:48 ---------- Previous post was at 13:46 ----------

    Bình thường shop đã bán item cho nhiều hero cùng lúc rồi :| Còn nếu 1 player có nhiều hero đứng xung quanh shop thì con hero nào có hình mũi tên ở trên đầu sẽ được ưu tiên mua trước.
     
  20. raivor

    raivor Dragon Quest Lão Làng GVN

    Tham gia ngày:
    24/7/09
    Bài viết:
    1,411
    Cẩn thận với group đấy nhé, với cái integer số to quá cũng có vấn đề đấy.

    Tom's edit: để size lên 2000 cẩn thận game ko load nhé =))
     
    Last edited by a moderator: 8/7/11
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này