A.G
C O N T R A
- 16/4/07
- 1,937
- 14
Hello all, tham gia box đã lâu mà chẳng có đóng góp gì, làm cái Tut cho Newb vậy :p ( vì dành cho Newb nên hơi tỉ mỉ 1 chút, các phờ râu xin đừng ý kiến =.= )
Ở trong bài này mình sẽ hướng dẫn mọi ng` làm các skill trong Dota là Craggy Exterior ( skill 3 của Tiny ) và Counter Helix ( múa cột của Axe :'> ).
Yên tâm, đây đều là những skill đơn giản, chú ý 1 chút thì mỗi skill bạn sẽ chỉ mất 10' để hiểu và làm đc
Craggy Exterior
Đầu tiên, bật WE lên ( tất nhiên :devil: ).
[Làm việc với Object Editor]
Buff/Effects:
Ta sẽ tạo 1 buff mới bằng cách chuột phải lên Custom Buffs/Effects => New custom Buffs/Effects.
Chọn cái buff Endurance Aura, đổi tên thành Craggy Exterior ( Bạn có thể chọn buff khác, tùy, nhưng tôi chọn Endurance Aura ^^ )
Ta sẽ thay đổi các thông số của nó:
[+] Đổi Art - Icon thành Resitant Skin
[+] Art - Target: xóa sạch đi ( bỏ cái hiệu ứng hình ảnh về Aura này )
Abilities:
Ở phần Abilities, tạo 1 skill mới bằng cách chuột phải vào Standard Abilities => New Custom Ability.
Ta chọn skill Endurance Aura trong danh sách bên dưới, đặt tên là Craggy Exterior. ( Bạn có thể chọn skill khác, tùy, nhưng tôi chọn Endurance Aura ^^ )
Ta sẽ thay đổi các thông số của skill mới này:
[+] Stats - Level: đổi thành 4 cho nó giống Dota
[+] AS, MS increase: cho về 0 hết
[+] Stats - Buffs: đổi thành Craggy Exterior ( cái buff vừa mới tạo xong ở trên )
[+] Stats - Target Allowed: Đổi thành Self, để skill này chỉ có tác dụng với bản thân thôi.
Ok, ta lại tạo 1 skill mới nữa, tên là Stun, dựa trên Skill Storm Bolt ( của Mountain King ). Skill này sẽ dùng cho Dummy Unit.
Đổi các thông số:
[+]Art - Missile Art: xóa đi ( để ko còn hình cái búa bay )
[+]Stats - Hero Ability: False ( do Dummy ko phải là Hero )
[+]Stats - Level: 4
[+]Data - Damage: lần lượt là 25, 35, 45, 55
[+]Stats- Duration: cả normal lẫn hero, đổi hết thành 1,2s
Units:
Tạo 1 unit mới, có tên là Dummy Craggy Exterior, dựa trên Wisp ( nông dân của Night Elf )
Thay đổi thông số:
[+]Abbilities - Normal: Stun ( skill vừa mới tạo ), Locust ( skill này giúp unit trở thành invu, ko thể attack, ko thể điều khiển )
[+]Art - Animation - Cast Backswing: 0 ( bỏ animation )
[+]Art - Model File: Zone Indicator
[+]Stats - Mana: 75, quan trọng đấy, để chắc chắn unit có thể cast Stun ( tốn 75 mana ), và chỉ cast đc 1 lần duy nhất
[+]Stats - Unit Classification: xóa đi
Well done, thế là đi đc 1 nửa chặng đường rồi
.
[Làm việc với Trigger Editor]
Trước khi vào vấn đề chính, tôi nói qua 1 chút về những khái niệm cơ bản mà ta sẽ sử dụng:
- Attacked unit: thằng bị đánh T_T
- Attacking unit: chính là thằng đánh thằng bị đánh
Bây giờ ta sẽ tạo 1 trigger như sau:
Easy, right
?
Giải thích:
- Events
Unit - A unit Is attacked
Sự kiện xảy ra khi 1 unit bị tấn công
- Conditions
((Triggering unit) has buff Craggy Exterior ) Equal to True
(Random integer number between 1 and 100) Less than or equal to ((Level of Craggy Exterior for (Triggering unit)) x 6)
((Attacking unit) is A melee attacker) Equal to True
Điều kiện:
Thằng bị tấn công có buff Craggy Exterior
Với dòng này, ta sẽ có khả năng xảy ra Trigger là level của skill x 6, tương đương level 1 = 6 %, level 2 = 12 %, .v.v...
Thằng tấn công phải là meele ( nếu bỏ dòng này thì kể cả range bắn vào tiny cũng bị stun => imba
)
- Actions
Unit - Create 1 Dummy Craggy Exterior for (Owner of (Triggering unit)) at (Position of (Attacking unit)) facing Default building facing degrees
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Attacking unit)
Khi các điều kiện trên khớp, sẽ thực hiện những hành động sau:
Tạo 1 Dummy Craggy Exterior ( là unit mà ta vừa tạo ở trên ), với chủ sở hữu là Triggering Unit ( cũng là thằng bị đánh >.< )
Đặt thời gian tồn tại của Dummy là 2s ( nếu để nó tồn tại vĩnh viễn thì sẽ gây lag map )
Ra lệnh cho nó ném stun thằng bố láo vừa đánh Tiny :'>
Vậy là bạn đã hoàn thành rồi, lấy 1 hero bất kỳ add skill này vào để test, GL, hy vọng ko có bug :devil:
Counter Helix
Tiếp tục, skill này khó hơn 1 chút
. Nếu hoàn thành skill đầu tiên thì những cái cơ bản bạn đã nắm đc rồi, nên ta sẽ lướt nhanh hơn.
[Làm việc với Object Editor]
Tạo 1 buff mới có tên là Counter Helix ( vẫn tiếp tục dựa vào Endurance Aura ). Buff này giống hệt buff Craggy Exterior bên trên, chỉ đổi tên
Tạo 1 skill mới, tên là Counter Helix, dựa trên Endurance Aura. Bạn cũng chỉnh sửa các thông số như bên trên.
[Làm việc với Trigger Editor]
Events
Unit - A unit Is attacked
Sự kiện: tiếp tục bị đánh T_T
Conditions
((Triggering unit) has buff Counter Helix ) Equal to True
(Random integer number between 1 and 100) Less than or equal to 17
Điều kiện: thằng bị đánh có buff Counter Helix, và khả năng xảy ra Trigger là 17 %.
Set TriggerLoc = (Position of (Triggering unit))
Tạo 1 biến tên là TriggerLoc, Type: Point. Dòng nãy nghĩa là bạn đặt vị trí của thằng bị đánh thành TriggerLoc.
Set GroupCH = (Units within 250.00 of TriggerLoc matching ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is alive) Equal to True)))) ( dài vãi lúa T_T )
Tạo 1 biến tên GroupCH, type: Unit Group.
Dòng nãy nghĩa là bạn tạo 1 group, gồm các unit, với các điều kiện sau:
Các unit trong 250 AOE xung quanh thằng bị đánh
Các unit là kẻ thù của thằng bị đánh
Các unit ko phải là công trình
Các unit phải còn sống ( bạn ko muốn thấy cảnh lúc bạn múa cột mấy cái xác cũng tóe cả máu ra đâu T_T )
Custom script: call RemoveLocation(udg_TriggerLoc)
Remove Leak
Unit Group - Pick every unit in GroupCH and do (Actions)
Chọn các unit thuộc về GroupCH, và thực hiện các hành động.
Unit - Cause (Triggering unit) to damage (Picked unit), dealing (((Real((Level of Counter Helix for (Triggering unit)))) x 25.00) + 75.00) damage of attack type Hero and damage type Normal
Gây dmg vào chúng nó, lượng dmg = ( level của CH x 25 ) + 75. Thế tức là lv 1 = 100 dmg, lv 2 = 125 ....
Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
Tạo Effect tóe máu ở kẻ thù khi dính đòn múa cột của bạn
. Note: vị trí trong tình huống này là chest, có các vị trí khác nhau trên người: overhead ( trên đầu ), origin ( giữa người, tôi ko hiểu chest với origin khác nhau ở đâu =.= ), foot ( dưới chân ).
Special Effect - Destroy (Last created special effect)
Remove Leak
Animation - Play (Triggering unit)'s spin animation
Chính là động tác múa cột của axe
.
Custom script: call DestroyGroup(udg_GroupCH)
Remove Leak
Trigger - Turn off (This trigger)
Wait 0.60 game-time seconds
Trigger - Turn on (This trigger)
Khi xong rồi thì tắt trigger đi, cũng là 1 cách remove Leak
Đợi 0.6s chủ yếu là để axe ko quay liên tục. Quay 1 phát phải nghỉ 0.6s.
Nghỉ xong thì lại bật Trigger lên, thế thôi
If (((Triggering unit) is alive) Equal to True) then do (Animation - Reset (Triggering unit)'s animation) else do (Do nothing)
Nếu axe còn sống, còn tiếp tục múa cột :'>
==============
Xong 2 skill này, nếu bạn chán với các skill của Dota, hãy thử làm 1 passive skill theo ý mình, tôi sẽ ví dụ = skill ở dưới
Passive Polymorph
Khi tấn công đối phương, có 20 % cơ hội biến chúng nó thành gà qué
, thời gian theo lv lần lượt là 2s, 3s, 4s, 5s
Tương tự như skill Craggy Exterior:
- Tạo 1 Dummy Passvie Polymorph
- Tạo 1 skill dựa trên Endurance Aura
- Tạo 1 skill Polymorph ( hóa cừu ), nhưng thay đổi Morphs Unit thành gà, và thời gian tác dụng mỗi level = 2s, 3s, 4s, 5s
- Tạo 1 buff Passive Polymorph.
Trigger:
P/S: khi làm Map ( cũng như khi lập trình ), nhớ 1 quy tắc: KISS ( keep it simple stupid ), trigger càng ngắn, càng đơn giản thì càng nhanh, càng ít bug :devil:
=========================
Demo Map
Ở trong bài này mình sẽ hướng dẫn mọi ng` làm các skill trong Dota là Craggy Exterior ( skill 3 của Tiny ) và Counter Helix ( múa cột của Axe :'> ).
Yên tâm, đây đều là những skill đơn giản, chú ý 1 chút thì mỗi skill bạn sẽ chỉ mất 10' để hiểu và làm đc

Craggy Exterior
Tiny's body is made of solid granite, causing great pain to those who attack it. Whenever a melee unit attacks Tiny, there is a chance that they will be stunned for 1.2 seconds.
Level 1 - 6% chance, 25 stun damage.
Level 2 - 12% chance, 35 stun damage.
Level 3 - 18% chance, 45 stun damage.
Level 4 - 24% chance, 55 stun damage.
Đầu tiên, bật WE lên ( tất nhiên :devil: ).
[Làm việc với Object Editor]
Buff/Effects:
Ta sẽ tạo 1 buff mới bằng cách chuột phải lên Custom Buffs/Effects => New custom Buffs/Effects.
Chọn cái buff Endurance Aura, đổi tên thành Craggy Exterior ( Bạn có thể chọn buff khác, tùy, nhưng tôi chọn Endurance Aura ^^ )
Ta sẽ thay đổi các thông số của nó:
[+] Đổi Art - Icon thành Resitant Skin
[+] Art - Target: xóa sạch đi ( bỏ cái hiệu ứng hình ảnh về Aura này )
Abilities:
Ở phần Abilities, tạo 1 skill mới bằng cách chuột phải vào Standard Abilities => New Custom Ability.
Ta chọn skill Endurance Aura trong danh sách bên dưới, đặt tên là Craggy Exterior. ( Bạn có thể chọn skill khác, tùy, nhưng tôi chọn Endurance Aura ^^ )
Ta sẽ thay đổi các thông số của skill mới này:
[+] Stats - Level: đổi thành 4 cho nó giống Dota
[+] AS, MS increase: cho về 0 hết
[+] Stats - Buffs: đổi thành Craggy Exterior ( cái buff vừa mới tạo xong ở trên )
[+] Stats - Target Allowed: Đổi thành Self, để skill này chỉ có tác dụng với bản thân thôi.
Ok, ta lại tạo 1 skill mới nữa, tên là Stun, dựa trên Skill Storm Bolt ( của Mountain King ). Skill này sẽ dùng cho Dummy Unit.
Đổi các thông số:
[+]Art - Missile Art: xóa đi ( để ko còn hình cái búa bay )
[+]Stats - Hero Ability: False ( do Dummy ko phải là Hero )
[+]Stats - Level: 4
[+]Data - Damage: lần lượt là 25, 35, 45, 55
[+]Stats- Duration: cả normal lẫn hero, đổi hết thành 1,2s
Units:
Tạo 1 unit mới, có tên là Dummy Craggy Exterior, dựa trên Wisp ( nông dân của Night Elf )
Thay đổi thông số:
[+]Abbilities - Normal: Stun ( skill vừa mới tạo ), Locust ( skill này giúp unit trở thành invu, ko thể attack, ko thể điều khiển )
[+]Art - Animation - Cast Backswing: 0 ( bỏ animation )
[+]Art - Model File: Zone Indicator
[+]Stats - Mana: 75, quan trọng đấy, để chắc chắn unit có thể cast Stun ( tốn 75 mana ), và chỉ cast đc 1 lần duy nhất
[+]Stats - Unit Classification: xóa đi
Well done, thế là đi đc 1 nửa chặng đường rồi
.[Làm việc với Trigger Editor]
Trước khi vào vấn đề chính, tôi nói qua 1 chút về những khái niệm cơ bản mà ta sẽ sử dụng:
- Attacked unit: thằng bị đánh T_T
- Attacking unit: chính là thằng đánh thằng bị đánh

Bây giờ ta sẽ tạo 1 trigger như sau:
Easy, right
?Giải thích:
- Events
Unit - A unit Is attacked
Sự kiện xảy ra khi 1 unit bị tấn công
- Conditions
((Triggering unit) has buff Craggy Exterior ) Equal to True
(Random integer number between 1 and 100) Less than or equal to ((Level of Craggy Exterior for (Triggering unit)) x 6)
((Attacking unit) is A melee attacker) Equal to True
Điều kiện:
Thằng bị tấn công có buff Craggy Exterior
Với dòng này, ta sẽ có khả năng xảy ra Trigger là level của skill x 6, tương đương level 1 = 6 %, level 2 = 12 %, .v.v...
Thằng tấn công phải là meele ( nếu bỏ dòng này thì kể cả range bắn vào tiny cũng bị stun => imba
)- Actions
Unit - Create 1 Dummy Craggy Exterior for (Owner of (Triggering unit)) at (Position of (Attacking unit)) facing Default building facing degrees
Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Attacking unit)
Khi các điều kiện trên khớp, sẽ thực hiện những hành động sau:
Tạo 1 Dummy Craggy Exterior ( là unit mà ta vừa tạo ở trên ), với chủ sở hữu là Triggering Unit ( cũng là thằng bị đánh >.< )
Đặt thời gian tồn tại của Dummy là 2s ( nếu để nó tồn tại vĩnh viễn thì sẽ gây lag map )
Ra lệnh cho nó ném stun thằng bố láo vừa đánh Tiny :'>
Vậy là bạn đã hoàn thành rồi, lấy 1 hero bất kỳ add skill này vào để test, GL, hy vọng ko có bug :devil:
Counter Helix
Mogul Kahn counters some blows made to him dealing damage to all nearby enemy units.
Level 1 - 17% chance to counter with 100 damage.
Level 2 - 17% chance to counter with 125 damage.
Level 3 - 17% chance to counter with 150 damage.
Level 4 - 17% chance to counter with 175 damage.
Tiếp tục, skill này khó hơn 1 chút
. Nếu hoàn thành skill đầu tiên thì những cái cơ bản bạn đã nắm đc rồi, nên ta sẽ lướt nhanh hơn.[Làm việc với Object Editor]
Tạo 1 buff mới có tên là Counter Helix ( vẫn tiếp tục dựa vào Endurance Aura ). Buff này giống hệt buff Craggy Exterior bên trên, chỉ đổi tên
Tạo 1 skill mới, tên là Counter Helix, dựa trên Endurance Aura. Bạn cũng chỉnh sửa các thông số như bên trên.
[Làm việc với Trigger Editor]
Events
Unit - A unit Is attacked
Sự kiện: tiếp tục bị đánh T_T
Conditions
((Triggering unit) has buff Counter Helix ) Equal to True
(Random integer number between 1 and 100) Less than or equal to 17
Điều kiện: thằng bị đánh có buff Counter Helix, và khả năng xảy ra Trigger là 17 %.
Set TriggerLoc = (Position of (Triggering unit))
Tạo 1 biến tên là TriggerLoc, Type: Point. Dòng nãy nghĩa là bạn đặt vị trí của thằng bị đánh thành TriggerLoc.
Set GroupCH = (Units within 250.00 of TriggerLoc matching ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and ((((Matching unit) is A structure) Not equal to True) and (((Matching unit) is alive) Equal to True)))) ( dài vãi lúa T_T )
Tạo 1 biến tên GroupCH, type: Unit Group.
Dòng nãy nghĩa là bạn tạo 1 group, gồm các unit, với các điều kiện sau:
Các unit trong 250 AOE xung quanh thằng bị đánh
Các unit là kẻ thù của thằng bị đánh
Các unit ko phải là công trình
Các unit phải còn sống ( bạn ko muốn thấy cảnh lúc bạn múa cột mấy cái xác cũng tóe cả máu ra đâu T_T )
Custom script: call RemoveLocation(udg_TriggerLoc)
Remove Leak
Unit Group - Pick every unit in GroupCH and do (Actions)
Chọn các unit thuộc về GroupCH, và thực hiện các hành động.
Unit - Cause (Triggering unit) to damage (Picked unit), dealing (((Real((Level of Counter Helix for (Triggering unit)))) x 25.00) + 75.00) damage of attack type Hero and damage type Normal
Gây dmg vào chúng nó, lượng dmg = ( level của CH x 25 ) + 75. Thế tức là lv 1 = 100 dmg, lv 2 = 125 ....
Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\Stampede\StampedeMissileDeath.mdl
Tạo Effect tóe máu ở kẻ thù khi dính đòn múa cột của bạn
. Note: vị trí trong tình huống này là chest, có các vị trí khác nhau trên người: overhead ( trên đầu ), origin ( giữa người, tôi ko hiểu chest với origin khác nhau ở đâu =.= ), foot ( dưới chân ).Special Effect - Destroy (Last created special effect)
Remove Leak
Animation - Play (Triggering unit)'s spin animation
Chính là động tác múa cột của axe
.Custom script: call DestroyGroup(udg_GroupCH)
Remove Leak
Trigger - Turn off (This trigger)
Wait 0.60 game-time seconds
Trigger - Turn on (This trigger)
Khi xong rồi thì tắt trigger đi, cũng là 1 cách remove Leak
Đợi 0.6s chủ yếu là để axe ko quay liên tục. Quay 1 phát phải nghỉ 0.6s.
Nghỉ xong thì lại bật Trigger lên, thế thôi
If (((Triggering unit) is alive) Equal to True) then do (Animation - Reset (Triggering unit)'s animation) else do (Do nothing)
Nếu axe còn sống, còn tiếp tục múa cột :'>
==============
Xong 2 skill này, nếu bạn chán với các skill của Dota, hãy thử làm 1 passive skill theo ý mình, tôi sẽ ví dụ = skill ở dưới
Passive Polymorph
Khi tấn công đối phương, có 20 % cơ hội biến chúng nó thành gà qué
, thời gian theo lv lần lượt là 2s, 3s, 4s, 5sTương tự như skill Craggy Exterior:
- Tạo 1 Dummy Passvie Polymorph
- Tạo 1 skill dựa trên Endurance Aura
- Tạo 1 skill Polymorph ( hóa cừu ), nhưng thay đổi Morphs Unit thành gà, và thời gian tác dụng mỗi level = 2s, 3s, 4s, 5s
- Tạo 1 buff Passive Polymorph.
Trigger:
P/S: khi làm Map ( cũng như khi lập trình ), nhớ 1 quy tắc: KISS ( keep it simple stupid ), trigger càng ngắn, càng đơn giản thì càng nhanh, càng ít bug :devil:
=========================
Demo Map


? Có cái Map Demo ở trên đấy, down thử về xem có bị ko.

. Mấy bác chỉ giáo dùm ^^