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

Status
Không mở trả lời sau này.
đây là portrait của con Medusa tớ sẽ lấy hình loadingscreen của dota 6.73 cắt hình này save lại dạng .PNG 256x256
[spoil]
2714fd81a4f0b8342edc4c972e0a1da6_40335036.step1.jpg
[/spoil]

tiếp theo tớ vào BLP Laboratory save lại hình tên là medusa.blp với chất lượng 10%

[spoil]
991251a5110b6a0df8144288de0ee621_40335111.step2.jpg
[/spoil]

mình sẽ có 1 hình medusa với chất lượng 10% rồi mình open file Hero_portrait.mdx bằng MdxPather đổi tên trong đó là Medusa.blp rồi save lại file này như thế mình đã có Portrait hình medusa

[spoil]
bb1938913fbf6ae682ed0eab9db8c804_40335296.step3.jpg
[/spoil]

vậy là mình đã có thể làm được cái portrait hình cảnh. nhưng làm sao để import nó vào riêng 1 model ?

giải pháp.

ví dụ tớ muốn làm hình này là ảnh đại diện cho model Lady Vashj thì tớ vào tìm path của model Lady Vashj path nó là
Mã:
units\naga\LadyVashj\LadyVashj.mdx
tớ sẽ import cái file tớ vừa làm vào map đặt tên là
Mã:
units\naga\LadyVashj\LadyVashj[B]_portrait[/B].mdx

_portrait là ký tự bắt buộc để xác định model này sẽ làm ảnh đại diện cho model kia

đây là kết quả sau khi hoàn thành

[spoil]
860a30a7ca04fd7e01d09fcf9fd28b8a_40335434.step4.jpg
[/spoil]

Những tool yêu cầu
Map Demo
Hero_portrait.mdx
Medusa.blp


@fantom:

là cho 1 đơn vị nào đó giữ 1 giá trị riêng gọi là custom value. ví dụ như thế bạn có 10 con footman bạn đã ghi 1 giá trị riêng là số 102 vào con footman thứ 1 vậy tức là 9 con footman kia là giá trị 0 ( tại vì đây là mặc định) trong đó có 10 con footman bạn muốn tìm lại con footman đã đăng giá trị bằng 102 chỉ cần sử dụng unit pick group trên 10 con footman kia check giá trị riêng (custom value) 102 sẽ tìm được footman đã đăng giá trị riêng con đó. cái này cũng tương tự như handle mà nó là 1 giá trị tùy biến :|
Hay quá ĐK, bữa giờ định hỏi cái này mà ko biết diễn giải sao, cái map DON bữa depro ra cũng có vài file thế mà ko biết sai :))
 
Sẵn cho hỏi ai biết cách làm spell mà không stop hero lại không. Như skill 2 pudge cast mà vẫn channel, healing poiton của dota dùng trong lúc di chuyển,...

healing potion thì chịu :-?? mà cái spell 2 của con butcher là base từ Immolation skill này là 1 dạng đặc biệt khi đang channel mà vẫn có thể sử dụng nó không bị làm ngừng lúc channel
 
Mọi người cho hỏi mặc dù đã dùng Unit Group nhưng Unit trong trigger này sao chỉ bị remove 1 lần???
Mã:
Darkness Aura
    Events
        Unit - A unit Is attacked
    Conditions
        ((Attacking unit) has buff Endurance Aura) Equal to True
        (Random integer number between 1 and 100) Less than or equal to 19
        ((Unit-type of (Attacking unit)) is A Hero) Equal to True
        ((Attacked unit) belongs to an enemy of (Owner of Caster[1])) Equal to True
    Actions
        Set Caster[1] = (Attacking unit)
        Unit - Create 1 Dummy Darkness Power for (Owner of Caster[1]) at (Position of (Attacked unit)) facing Default building facing degrees
        Unit Group - Add (Last created unit) to Temp_Group[1]
        Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 75.00% transparency
        Animation - Play (Last created unit)'s Animation - Attack Alternate animation
        Unit - Cause (Last created unit) to damage (Attacked unit), dealing (((Real((Level of Darkness Power  for Caster[1]))) x 100.00) / 2.00) damage of attack type Spells and damage type Normal
        Special Effect - Create a special effect attached to the chest of (Attacked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
        Special Effect - Destroy (Last created special effect)
        Wait 0.50 seconds
        Unit Group - Pick every unit in Temp_Group[1] and do (Actions)
            Loop - Actions
                Unit - Remove (Picked unit) from the game
        EGUI Leak - Destroy Temp_Group[1]

Trong trigger này, khi thằng Caster đánh sẽ có % tạo ra một unit gây dam thằng bị đánh. Mình mún remove thằng đù Dummy nhưng chỉ dc một lần còn lần thứ 2 thì nó cứ thế xuất hiện
 
Mọi người cho hỏi mặc dù đã dùng Unit Group nhưng Unit trong trigger này sao chỉ bị remove 1 lần???
Mã:
Darkness Aura
    Events
        Unit - A unit Is attacked
    Conditions
        ((Attacking unit) has buff Endurance Aura) Equal to True
        (Random integer number between 1 and 100) Less than or equal to 19
        ((Unit-type of (Attacking unit)) is A Hero) Equal to True
        ((Attacked unit) belongs to an enemy of (Owner of Caster[1])) Equal to True
    Actions
        Set Caster[1] = (Attacking unit)
        Unit - Create 1 Dummy Darkness Power for (Owner of Caster[1]) at (Position of (Attacked unit)) facing Default building facing degrees
        Unit Group - Add (Last created unit) to Temp_Group[1]
        Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 75.00% transparency
        Animation - Play (Last created unit)'s Animation - Attack Alternate animation
        Unit - Cause (Last created unit) to damage (Attacked unit), dealing (((Real((Level of Darkness Power  for Caster[1]))) x 100.00) / 2.00) damage of attack type Spells and damage type Normal
        Special Effect - Create a special effect attached to the chest of (Attacked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
        Special Effect - Destroy (Last created special effect)
        Wait 0.50 seconds
        Unit Group - Pick every unit in Temp_Group[1] and do (Actions)
            Loop - Actions
                Unit - Remove (Picked unit) from the game
            [COLOR="#FF0000"][B]EGUI Leak - Destroy Temp_Group[1][/B][/B][/COLOR]

Trong trigger này, khi thằng Caster đánh sẽ có % tạo ra một unit gây dam thằng bị đánh. Mình mún remove thằng đù Dummy nhưng chỉ dc một lần còn lần thứ 2 thì nó cứ thế xuất hiện

- Đã remove leak rồi thì cái Temp_Group kia không còn nữa. Và, cái Temp_Group kia không gây leak do bạn không tạo nó, bạn chỉ mới add unit vào thôi. Thế nên chỉ cần Remove pick unit là được rồi, không cần xóa leak.
- Với lại, dummy đã tạo ra mà muốn nó chết sau 0.5s thì dùng Unit - Add a 0.5 second Generic expiration timer to (Last created unit) nhé
 
Mọi người cho hỏi mặc dù đã dùng Unit Group nhưng Unit trong trigger này sao chỉ bị remove 1 lần???
Mã:
Darkness Aura
    Events
        Unit - A unit Is attacked
    Conditions
        ((Attacking unit) has buff Endurance Aura) Equal to True
        (Random integer number between 1 and 100) Less than or equal to 19
        ((Unit-type of (Attacking unit)) is A Hero) Equal to True
        ((Attacked unit) belongs to an enemy of (Owner of Caster[1])) Equal to True
    Actions
        Set Caster[1] = (Attacking unit)
        Unit - Create 1 Dummy Darkness Power for (Owner of Caster[1]) at (Position of (Attacked unit)) facing Default building facing degrees
        Unit Group - Add (Last created unit) to Temp_Group[1]
        Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 75.00% transparency
        Animation - Play (Last created unit)'s Animation - Attack Alternate animation
        Unit - Cause (Last created unit) to damage (Attacked unit), dealing (((Real((Level of Darkness Power  for Caster[1]))) x 100.00) / 2.00) damage of attack type Spells and damage type Normal
        Special Effect - Create a special effect attached to the chest of (Attacked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
        Special Effect - Destroy (Last created special effect)
        Wait 0.50 seconds
        Unit Group - Pick every unit in Temp_Group[1] and do (Actions)
            Loop - Actions
                Unit - Remove (Picked unit) from the game
        EGUI Leak - Destroy Temp_Group[1]

Trong trigger này, khi thằng Caster đánh sẽ có % tạo ra một unit gây dam thằng bị đánh. Mình mún remove thằng đù Dummy nhưng chỉ dc một lần còn lần thứ 2 thì nó cứ thế xuất hiện

Có leak point kìa 8-| Mà sao ko add cho con dummy 0.5s generic luôn?
 
mình tưởng cái này nó sẽ laa85p theo một trình tự là khi cast -> tạo ra group -> xóa group chứ?
 
Mấy bác cho e hỏi, những item mà có skill tốn mana và có cooldown, chỉnh làm sao cho nó hiện lên như số lượng Gold bán lại
 
mình tưởng cái này nó sẽ laa85p theo một trình tự là khi cast -> tạo ra group -> xóa group chứ?

sai rồi, cái của bạn chỉ có xóa group thôi chứ không có tạo group.
Biến của TempGroup trong Variables đã đk khởi tạo sẵn group, vì vậy bạn chỉ việc add vào TempGroup đó rồi Remove dummy, tuy nhiên cuối dòng có hàng Destroy TempGroup => group bị phá bỏ, mà chưa có hàm khởi tạo!
Vì vậy để khởi tạo lại group ở đầu dòng bạn phải thêm dòng: Set TempGroup = (Create Group)
 
ah cho mình hỏi luôn, skill Fervor của Troll trong dota, mình đang làm một skill giống thì nhưng tăng dam. Làm dc dam tăng lên nhưng ko giảm dc!!! Mọi người giúp giùm
 
Map em đang làm sao khi chơi online 1 số người chơi bị diss zậy ? làm sao để bik map mình đang làm thuộc 1.23 1.24 hay 1.24e ?
 
Map em đang làm sao khi chơi online 1 số người chơi bị diss zậy ? làm sao để bik map mình đang làm thuộc 1.23 1.24 hay 1.24e ?

1. bạn đã bỏ vào dữ liệu điều kiện (Local player) chả hạng? đặc điểm của nó là có thể làm cho một Local player chỉ riêng player đó có được, thấy được mà một số player không nằm trong điều kiện sẽ không thấy được. Bởi vì dữ liệu của trò chơi giống như truyền từ một host xuống vậy, tuy nhiên nếu một khi dữ liệu nhận đk lệch với dữ liệu phản hồi thì sẽ bị ngắt kết nối máy chủ, y như bạn đang sài hack trong một game Online nào đó.
Còn các lý do khác thì mình chưa biết tới.
2. Cách để phân biệt map mình đang làm thuộc 1.23,1.24,1.24e:
Mở Warcraft 3 lên
.
.
.
chọn map và thử...
 
cho hỏi muốn cho Nhà chống skill thì phải làm sao ví dụ : như Nhà đang Avatar đó skill đánh vô không mất máu ko đc :|
 
cho hỏi muốn chó 1 skill trong Abilites x20 agi , stre, inll thì làm sao ạ ^^
 
cho hỏi muốn chó 1 skill trong Abilites x20 agi , stre, inll thì làm sao ạ ^^


Mã:
Unit - Cause (Triggering unit) to damage (Triggering unit), dealing ((Real((Level of Agility of Water  for (Triggering unit)))) x (Real((Strength of (Triggering unit) (Include bonuses))))) damage of attack type Spells and damage type Normal
Đại loại như thế này.
 
làm sao để bik map mình đang làm thuộc 1.23 1.24 hay 1.24e ?

Nếu map cậu làm chỉ dùng GUI thì 90% là 1.23 đổ lại chơi được
khi nào dùng hashtable là phải chơi trên 1.24 trở lên dù là GUI(10%) hay code = jass
Còn nếu dùng jass thì cũng chưa chắc đã phải chơi trên 1.24 nhưng vjass thì chắc chắn phải chơi trên 1.24
Ai dùng EGUI thì chắc chắn phải chơi map trên 1.24 đổ lên vì code của EGUI dùng vjass
 
Chỉnh sửa cuối:
Mã:
events
  time - Elapsed game time is 0.00 seconds
Conditions
Actions
  For each (Integer A) from 1 to 12, do (Actions)
       Loop - Actions
           Trgger - add to HeroRevive <gen> the (Time - HS_ReviveTimer[(Integer A)] expires)
Mã:
Events
     Unit - A Dies
Conditions
      ((Triggering unit) í A hero) Equal to True
Actions
Set HS_TempUnit = (Triggering unit)
Set HS_TempInt = (Player number of (Owner ò HS_TempUnit))
Set  HS_TempReal = 15
Countdown Timer - Start HS_ReviveTimer[HS_TempInt} as a One-shot time that will expire in HS_TempReal seconds
Countdown Timer - Create a timer window for HS_ReviveTimer[HS_TempInt] with title (Name of HS_TempUnit)
Set -  HS_ReviveTimerWindow[HS_TempInt] = (last created timer window)
Countdown Timer - Show HS_ReviveTimerWindow[HS_TempInt]
Set - HS_HeroFor Revive[HS_TempInt] = HS_TempUnit
Mã:
Events
Conditions
Actions
    For each (Integer A) from 1 to 12, do (Actions)
       Loop - Actions
           Set HS_TempInt = (Integer A)
           Custom script: set udg_HS_TempCheck = ( GetExpiredTimer() == udg_HS_ReviveTimer[ udg_HS_TempInt ] )
           If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                   HS_TempCheck Equal to True
              Then - Actions
                  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                     If - Conditions
                           (HS_HeroForRevive[HS_TempInt] belongs to an ally ò player 2 (blue) Equal to True
                    Then - Actions
                           Set HS_TempLoc = (Center ò Hero Hoi Sinh <gen>)
                    Else - Actions
                           Set HS_TempLoc = (Center ò Hero Hoi Sinh 2 <gen>)
                 Hero - Isntantly revive HS_HeroForRevive[HS_TempInt] at HS_TempLoc, Show revival graphics
                 Camera - Pan camera for (player(HS_TempInt)) to HS_TempLoc over 0.00 seconds
                 Custom script: call RemoveLocation( udg_HS_TempLoc )
                 Countdown Timer - Destroy HS_ReviveTimerWindow[HS_TempInt]
              Else - Actions

Trigger hồi sinh cho hero nhưng lâu lâu hero khi chết lại không xuất hiện số thời gian giảm dần => hero quẻ lun bác nào zúp mình với :( Thanks nhìu
 
Status
Không mở trả lời sau này.
Back
Top