PDA

View Full Version : Hướng dẫn làm 1 số passive skill trong Dota



A.G
20-07-2008, 02:36
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 :D



Craggy Exterior
http://www.dota-allstars.com/images/lists/PASBTNResistantSkin.gif


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 :D.


[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:

http://img526.imageshack.us/img526/3511/trig4pf5.png

Easy, right :x ?

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
http://www.dota-allstars.com/images/lists/BTNStaffOfSanctuary.gif

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 :D. 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]

http://img262.imageshack.us/img262/7088/trig2ju4.png

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
http://www.hiveworkshop.com/forums/resource_images/1/icons_611_btn.jpg

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:

http://img210.imageshack.us/img210/6417/trig5oo0.png



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

Tom_Kazansky
20-07-2008, 07:52
Nhận xét:
- Craggy Exterior: leak point: (Position of (Attacking unit)) . Và bạn quên ko set level (đặt level) của ability Stun (dùng bởi dummy) theo level của Craggy Exterior mà hero đang có.
- Counter Helix: ok rồi
- Passive Polymorph: leak point: (Position of (Attacked unit))

Chú ý: Dummy unit dùng để cast spells nên chỉnh các thông số sau:

Art - Animation Cast Backswing = 0.000
Art - Animation Cast Point = 0.000
Các thông số trên là "thời gian cast". tức là khi spell đc cast (begin casting) phải chờ bao lâu mới có effect (start effect). Dummy unit thì ko cần thời gian này, cái này liên quan đến animation, dummy thì ko có animation nên để là 0.000

A.G
20-07-2008, 09:46
Ờ nhỉ làm vội vội vàng vàng nên quên :p , edited

god_of_the_noob
20-07-2008, 09:59
anh trai làm hay wá...cho em làm chung đc ko .....guide aura của em đêk đứa nào đọc cả=((=((=((=((=((=((

Jin Axl
20-07-2008, 11:27
anh trai làm hay wá...cho em làm chung đc ko .....guide aura của em đêk đứa nào đọc cả=((=((=((=((=((=((

Ăn nói cho cẩn thận nhé ?
Đứa là đứa nào ? Lớn hơn ai mà xách mé kiểu đấy ?
Đek là đek gì ? Thích là nói à ?:-/
Ông Tom hiền hiền thì dễ ngươi, nhỉ ?

Mantime
20-07-2008, 12:34
cho hỏi.....sao cái random nó ki` quá....tui dánh 2 lần nó biến cóc...rùi tui reset map lại...đánh 2 cái cũng thế....reset tiếp :D cũng thế ...^^.....sao nó giống nhau quá....nếu vậy khi giao chiến tui cũng canh tới phát thứ 2 rùi bup 1 cái thành cóc lun...^^có cách nào khắc phục ko

A.G
20-07-2008, 12:43
Ăn nói cho cẩn thận nhé ?
Đứa là đứa nào ? Lớn hơn ai mà xách mé kiểu đấy ?
Đek là đek gì ? Thích là nói à ?:-/
Ông Tom hiền hiền thì dễ ngươi, nhỉ ?

Cãi nhau mời đi chỗ khác
Tôi chẳng thấy đek với đứa nào có vấn đề gì cả, nếu có ng` xách mé + gây sự ở đây thì đấy là cậu !
.
___________Auto Merge________________

.

cho hỏi.....sao cái random nó ki` quá....tui dánh 2 lần nó biến cóc...rùi tui reset map lại...đánh 2 cái cũng thế....reset tiếp :D cũng thế ...^^.....sao nó giống nhau quá....nếu vậy khi giao chiến tui cũng canh tới phát thứ 2 rùi bup 1 cái thành cóc lun...^^có cách nào khắc phục ko

Lạ nhỉ, sao lại đánh 2 lần nó mới biến cóc :| ? Có cái Map Demo ở trên đấy, down thử về xem có bị ko.

Cái trigger này, thực tế khi hero tung ra 1 đòn, đạn bay chưa tới thì unit bị đánh đã biến thành gà rồi, có lẽ vì khi đạn bắt đầu bay ra, unit kia đc tính là bị đánh luôn. Muốn chỉnh để khi đạn chạm vào ng` mới biến thành gà thì chỉnh lại casting time của Dummy khoảng 0,5s là xong.

Jin Axl
20-07-2008, 17:24
Cãi nhau mời đi chỗ khác
Tôi chẳng thấy đek với đứa nào có vấn đề gì cả, nếu có ng` xách mé + gây sự ở đây thì đấy là cậu !
.

Tưởng cậu biết tôi từ hồi ở VLTK thì tôi là chúa ghét cái loại mở miệng ra là nói, ko cần biết ai lớn ai nhỏ, đại loại như cái kiểu đấy. Và tôi ghét là tôi nói.
Tất nhiên nói trong topic của cậu thì cậu ko vừa ý, nhưng tôi vẫn ko cảm thấy có vấn đề gì vì người đang dc nói đến ko phản ứng thì thôi chứ cậu có gì mà phải nóng dùm nhỉ ?
Btw ko thích thì thôi, nhưng tôi vẫn ko sử dụng phong cách PM riêng để chửi đâu nhé :>

Tom_Kazansky
20-07-2008, 17:29
Mấy ông thôi ngay, xóa hết đi bây giờ :-w
------
Chơi single thì cái random thường nó giống nhau lắm nên cũng chả phải lo đâu. Tui test map cũng vậy, random hero gì mà đến 5 lần cũng ra 1 hero :|

[s]tarboy
20-07-2008, 19:06
Cái skill cuối hay ah =))
Giờ tôi muốn làm 1 skill knock back , khi đối phương đánh mình thì sẽ bị % chance bị lùi lại ( stun ) , chừng 100-150 range gì đó :)). Mấy bác chỉ giáo dùm ^^

A.G
20-07-2008, 22:40
tarboy;8381656']Cái skill cuối hay ah =))
Giờ tôi muốn làm 1 skill knock back , khi đối phương đánh mình thì sẽ bị % chance bị lùi lại ( stun ) , chừng 100-150 range gì đó :)). Mấy bác chỉ giáo dùm ^^

Uhm, skill này gần giống skill 3 của Tiny, chỉ cần đổi spell Stun của con Dummy thành Knockback là xong.

Tuy nhiên Knockback ko phải là bất kỳ spell cơ bản nào của War3 nên phải tự làm. Đợi chút để thử xem, chưa bao giờ làm spell knockback = trigger :D

=======

Done, cần 3 trigger thế này :|

http://img155.imageshack.us/img155/746/knock1jp4.png

http://img155.imageshack.us/img155/7705/knock2bp3.png

http://img520.imageshack.us/img520/3703/knock3cc8.png

[s]tarboy
23-07-2008, 13:01
Cậu xem lại dùm .Chiêu knock back cậu đưa hình như bị sai . Vô test chả thấy gì ráo @_@

A.G
23-07-2008, 13:28
tarboy;8414132']Cậu xem lại dùm .Chiêu knock back cậu đưa hình như bị sai . Vô test chả thấy gì ráo @_@

Thử với mấy con đánh Melee ấy, range đánh vào mà cũng bị knockback thì nó ...vô lý quá =.=. Đánh thử mấy con Orge béo béo ở bên trái bản đồ thì rõ :D. Còn nếu xui xẻo quá mà thử mãi nó ko ra knockback (=))) thì vào WE chỉnh lại dòng:


(Random integer number between 1 and 100) Less than or equal to 25

Chỉnh 25 thành 100 là xong, hoặc xóa luôn dòng đấy đi =)).

Dark_DragonKing
23-07-2008, 21:43
tham khảo thử spell greater bash của anh Tom ấy http://forum.gamevn.com/showthread.php?t=472748 có cả MUI đó

god_of_the_noob
25-07-2008, 10:43
anh A.G có bít làm spell Geminate Attack của con kiến Nerubian Weaver trong dota ko...chỉ god với:D:D:D:D:D:D

ĐạiGiaBảyBò
25-07-2008, 10:46
đã là god mà không biết làm thì sao hả?

A.G
25-07-2008, 23:03
anh A.G có bít làm spell Geminate Attack của con kiến Nerubian Weaver trong dota ko...chỉ god với:D:D:D:D:D:D

À, cái Spell này thực tế ko làm bằng Trigger :|

Tạo 1 spell mới dựa trên Orb of Lightning ( new ) hoặc Orb of Slow đặt tên là Geminate Attack.
Mấy cái Data - Chance đưa hết lên 100 %, cái Data - Effect Ability đổi thành Cold Arrow hoặc Searing Arrow. Missile Art đổi lại thành đạn của con NW.

Vào Cold Arrow hoặc Searing Arrow, chỉnh lại cooldown cho nó là 6s/5s/4s/2.5s ... theo mỗi lv. Remove % slow với dmg đi

Tạo 1 trigger set level của Cold Arrow = level của Geminate Attack

( Có thể đổi Cold Arrow bằng ...Fire Bolt, như thế sau mỗi 2,5s nó sẽ bắn chay + ném stun => vô đối :'> )

YAN[asian]
26-07-2008, 05:39
Xin hướng dẫn cụ thể cách làm skill chém tóe máu gây slow của song kiếm (tức là cách làm 1 phép mới có 4 lvl dựa trên skill chém slow), % lần lượt là 10/13/16/19% :)

A.G
26-07-2008, 17:21
;8445712']Xin hướng dẫn cụ thể cách làm skill chém tóe máu gây slow của song kiếm (tức là cách làm 1 phép mới có 4 lvl dựa trên skill chém slow), % lần lượt là 10/13/16/19% :)

spell này có thể làm tương tự như Passive Polymorph, thay skill cho Dummy Unit thành slow là ok.

Nhưng thực tế, ko cần mất nhiều thời gian như thế, trong War3 đã có sẵn skill effect tương tự rồi, đó là Orb of Slow ( lại là nó T_T ), vào chỉnh lại các thông số là xong.

Nếu ko biết tìm nó ở đâu thì nó đây:

http://img413.imageshack.us/img413/9543/oosdy4.png

Dark_DragonKing
27-07-2008, 07:43
còn cái tóe máu lên là effect ở trong phần spawned effect

[s]tarboy
27-07-2008, 16:54
Đây là 2 spell = trigger Meat Hook và time Stop trong Dota , với 1 số spell khác = Jass, là tư liêu lấy trên hiveshop về nên ai quan tâm thì hỏi mấy pro chứ đừng hỏi tôi :D , càng hỏi càng ngu . Hỏi bác sweet VN ấy =))

Meat Hook (http://www.mediafire.com/?ts55zve3kln)
Time Stop (http://www.mediafire.com/?3gdjyvid3dg)

VanBaoPhong
11-08-2008, 16:46
Các anh cho em hỏi làm cách nào thay đổi được thông số mặc định của melee attack ?
Ví dụ như em thấy khi chỉnh range của unit thành 120 thì vào game vẫn là melee, nhưng khi chỉnh range lên 150 thì unit không còn là melee nữa. Nếu em muốn unit có range 150 vẫn thuộc type melee thì phải làm sao ?

thuyvuong7
11-08-2008, 16:57
Các anh cho em hỏi làm cách nào thay đổi được thông số mặc định của melee attack ?
Ví dụ như em thấy khi chỉnh range của unit thành 120 thì vào game vẫn là melee, nhưng khi chỉnh range lên 150 thì unit không còn là melee nữa. Nếu em muốn unit có range 150 vẫn thuộc type melee thì phải làm sao ?

0 đc đâu bạn ơi, từ 120 trở về thì sẽ đánh tiếp cận, còn 130 trở đi thì thành range rồi

YAN[asian]
12-08-2008, 14:02
Vậy làm cái skill đánh lan của Luna thì làm thế nào?

thinhlord
12-08-2008, 15:10
Ở đây có ai biết làm campaign không???;;)

thuyvuong7
12-08-2008, 19:25
;8627235']Vậy làm cái skill đánh lan của Luna thì làm thế nào?

Moon Glaive
...................................
..................................
..................................

YAN[asian]
13-08-2008, 15:13
Moon Glaive
...................................
..................................
..................................

:-/:-/:-/ Có ai hiểu j ko :-/:-/:-/

kissofaries
14-08-2008, 16:39
Ặc....lấy cái skill moon glavie (của con huntress ý) mà xài...viết thêm mấy dòng trigger giảm dam và jumps là xong

thuyvuong7
24-08-2008, 17:08
ai chỉ em làm skill của con Phantom với, chiu giống tàng hình ý, nhưng nó chỉ mờ đi 70% thôi :D

strongwindp
25-01-2009, 09:25
Có ai chỉ mình cách làm chieu ulti của Venomancer trong Dota với.Bắn độc ra hình vòng tròn.Ghiền chiêu đó wa mà làm hoài ko dc (chắc tại còn gà WE ^^ :'>:'>)

lucifekit
25-01-2009, 09:42
Có ai chỉ mình cách làm chieu ulti của Venomancer trong Dota với.Bắn độc ra hình vòng tròn.Ghiền chiêu đó wa mà làm hoài ko dc (chắc tại còn gà WE ^^ :'>:'>)
http://forum.gamevn.com/showthread.php?t=548446

Dark Gamer
25-01-2009, 16:39
ai chỉ em làm skill của con Phantom với, chiu giống tàng hình ý, nhưng nó chỉ mờ đi 70% thôi :D

Dùng câu lệnh : Animation - Change Unit can doi's vertex coloring to (100.00%, 100.00%, 100.00%) with 70.00% transparency
bạn cho event learn <~ khi học thì nó sẽ chuyển , 70.00 là số % mờ đóa

NickyHwang
25-01-2009, 16:54
hơ có bác nào chỉ mình cách làm chiêu nó giống chiêu cuối của blademaster khi đanhs thì tạo ra lốc xung quanh quấn tất cả ênmy quay quanh song rồi ném ra xa y, thằng Tom nó hứa chỉ mà không chỉ nên phải lêt lên đây để hỏi

Dark Gamer
25-01-2009, 21:59
ủa anh Kid đóa hả, skill đó a Tom làm rồi mà

ghostman1887
27-01-2009, 03:06
Cái Skill đánh bounce như con Huntress thì bạn phải làm như thế này:
- Cho cái type attack của con hero mà bạn mún nó đánh bounce thành missile bounce, chình thêm 1 vài thứ khác ở phần Attack của con hero bạn như là con Huntress.
http://img338.imageshack.us/img338/3043/13985301zm7.png
- Tạo 1 custom skill base từ skill Moon Glaive của Huntress (ko cần phải điều chỉnh gì hết. Thích thì chỉnh cái tooltip và cái Icon,
- Tạo 1 cái custom upgrade base từ Upgrade moon glaive
http://img338.imageshack.us/img338/2849/11716986vb2.png
- Đến phần trigger, bạn làm 1 trigger như sau:

Moon Glaive
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to Moon Glaive
Actions
Player - Set the current research level of Moon Glaives Upgrade for Hero to (Level of Moon Glaive for (Triggering unit)) for (Owner of (Triggering unit))


Và như thế là bạn có thế cho 1 hero có thể đánh bounce sau khi learn skill. Ah wên, cái skill moon glaive đó bạn chỉnh thành hero rồi add cho con hero đó cho nó learn.
______________Merge____________
Wên mất cái map test, nà. Có mấy cái spell nhảm nhí cậu đừng wan tâm nhe.

caotranthevinh
27-01-2009, 15:10
Cho em hỏi thay vì cho thằng Axe xoay (spin) thì làm sao cho nó nhảy lên bổ xuống đầu đối thủ vậy :-/:-/

lucifekit
27-01-2009, 22:47
Thì thay animation spin = attack slam.

strongwindp
13-02-2009, 20:47
Cho mình tất cả các animation (dùng để play trong trigger) của Blademaster và CryptLord đi.Thanks :hug:

DarkDevil3535
13-02-2009, 21:35
Cho mình tất cả các animation (dùng để play trong trigger) của Blademaster và CryptLord đi.Thanks :hug:

Blade master

stand victory
Walk
attack
attack slam
spin

CryptLord

attack
attack alernate
morph
morph defend
spell
spell alernate
Spell Channel
spell throw
mình chỉ biết nhiêu đó thôi :D

[GP]Huy_Anh
14-02-2009, 00:13
xin chỉ cho em skill 3 của PL trong dota :D , cặn kẻ như bài 1 nha ^^ ( tại em gà WE lắm )

Thanks mọi ng`

lucifekit
14-02-2009, 08:35
Lỡ 2 hay 20,200 hero có counter helix thì sao,trong lúc 1 hero counter thì trong 0.6s sau đó ko hero nào counter được à?

strongwindp
14-02-2009, 14:03
ủa ani attack là nó attack kiểu nào vậy ?mình đang muốn ani đâm kiếm của blademaseter.dù sao cũng thanks bạn nhìu

strongwindp
14-02-2009, 15:22
Sẵn tiện cho mình hỏi làm sao để cho unit dash(lướt)

YAN[asian]
15-02-2009, 19:44
Hướng dẫn mình tạo skill Multicast 1 spell bất kì nhé (x% cast x lần spell x), cụ thể vào nhé :).

lucifekit
15-02-2009, 20:20
Muốn tạo skill Multicast cho bất kì skill nào bạn cần :
+1 dummy unit<model _none.mdl>
+1 unit ability giống y hệt ability của hero,khác mỗi cái nó là ability của unit thôi.
Trong dota thì multicast hình như là base trên chiêu engineer upgrade ,có bao nhiều lv thì phải tạo bấy nhiêu abilities tương ứng<hơi mệt>

Ví dụ như trong skill này chẳng hạn,học 1 skill MC thì có 30% khả năng cast 2 lần.

a


a
Events
Unit - A unit Starts the effect of an ability
Conditions
(Level of MultiCast for (Triggering unit)) Greater than or equal to 1
Actions
Set TempLv = (Level of MultiCast for (Triggering unit))
Set TempLoc = (Position of (Triggering unit))
Set TempUnit = (Target unit of ability being cast)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TempLv Equal to 1//MC có nhiêu lv thì có bây nhiêu cái iF này và có bây nhiêu skill đi kèm.
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 100) Less than or equal to 30//30% cơ hội multicast.
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Ability being cast) Equal to Firebolt (Warlock)
Then - Actions
For each (Integer A) from 1 to (TempLv + 1), do (Actions)
Loop - Actions
Unit - Create 1 Dummy Unit for (Owner of (Triggering unit)) at TempLoc facing Default building facing degrees
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
Unit - Add Firebolt (Neutral Hostile) to (Last created unit)
Unit - Set level of Firebolt (Neutral Hostile) for (Last created unit) to (Level of Firebolt (Warlock) for (Triggering unit))
Unit - Order (Last created unit) to Neutral - Firebolt TempUnit
Else - Actions
Else - Actions
Else - Actions
Custom script: call RemoveLocation(udg_TempLoc)

YAN[asian]
16-02-2009, 09:54
Uhm...vậy bây giờ thế này : Mình có 1 chiêu Nova như sau :
lvl1 - 100% cast 1 lần Nova 100 dam
lvl2 - 50% cast 1 lần Nova, 50% cast 2 lần Nova
lvl3 - 50% cast 2 lần Nova, 50% cast 3 lần Nova
lvl4 - 50% cast 3 lần Nova, 50% cast 4 lần Nova
(Mỗi lần Nova cách nhau 0.01s, khi xảy ra 50% ở vế sau thì có dòng chữ Super Nova!! màu xanh bay lên)
thì làm thế nào? ::)

dante cvn
16-02-2009, 10:48
Mấy anh chỉ em cách làm Omnislash chiêu cuối của Jungernault dc không.Chỉ kĩ giùm em nhé.

doan_hao15
30-08-2010, 17:39
Các bác ơi ai biết làm skill 2 "Stone gaint" cua Tiny ko? Làm ơn giúp em với. Thank!

tunghamtien
31-08-2010, 19:19
Wa topic post spell hay topic hỏi đáp mà hỏi . Mà skill 2 là toss hả ?

dh-g
01-09-2010, 12:50
@A.G
cái lệnh
http://img262.imageshack.us/img262/7088/trig2ju4.png
sau cùng thì mình ê là bị lỗi cái này
If (((Triggering unit) is alive) Equal to True) then do (Animation - Reset (Triggering unit)'s animation) else do (Do nothing)
bạn xài từ Triggering unit làm giá trị ví dụ là Triggering_unit[-max number of player = Triggering unit]
đặt giá trị trước cho nó chắc hơn chứ ví dụ mình xài Triggering unit đễ lỗi lắm,
Triggering unit chỉ xài cho lợi ích không có wait nếu có wait sẽ gây ra lỗi nghiêm trọng :-??

canhchua1
01-09-2010, 16:00
ai làm cho em 1 cái skils
20% xác xuất
ai đánh mình bị stun kẻ nó với :((

Ice_water
01-09-2010, 16:21
ai làm cho em 1 cái skils
20% xác xuất
ai đánh mình bị stun kẻ nó với :((

Đọc #1 ko hiểu gì à ?????

frostwyrm_9x
01-09-2010, 18:15
Mấy anh chỉ em cách làm Omnislash chiêu cuối của Jungernault dc không.Chỉ kĩ giùm em nhé.
spell này về effect và về bug thì dota hok bằng đc :))
ngại cóp code, vô map demo xem nha
125639

[Yami]
01-09-2010, 21:54
Góp ý, tại sao không cải tiến mấy skill của Counter Helix cho nó thành là chỉ Triggering khi Takes Damage ? Kiểu Is Attacked thấy kiểu gì ý.
Btw, hình như add hero skills cho Unit không phải Hero được đúng không ạ ?

doan_hao15
02-09-2010, 09:47
Đây là skill Toss của tiny trong dota mà em kiếm được từ map demo:

function Trig_Toss_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A004'
endfunction

function Toss_Unit_Group takes nothing returns boolean
if ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_ANCIENT) == true ) then
return false
endif
if IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) then
return false
elseif IsUnitType(GetFilterUnit(), UNIT_TYPE_FLYING) then
return false
elseif GetFilterUnit() == GetSpellAbilityUnit() then
return false
elseif IsUnitDeadBJ(GetFilterUnit()) then
return false
endif
return true
endfunction

function Toss_Destroy_Trees takes nothing returns nothing
call KillDestructable( GetEnumDestructable() )
endfunction

function TossFX takes nothing returns nothing
local effect f= bj_lastCreatedEffect
call TriggerSleepAction(0.4)
call DestroyEffect(f)
set f=null
endfunction

function Toss_Movement takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=GetHandleUnit(t,"t")
local real b=GetHandleReal(t,"r")
local real n=GetHandleReal(t,"n")
local real d=GetHandleReal(t,"d")
local location l=GetHandleLocation(t,"l")
local real x=-d+(d*(b/50))
local location m=PolarProjectionBJ(l,x,n)
local real y=((b-25)*(b-25))
call SetUnitPositionLoc(u,m)
call SetUnitFlyHeight( u, ( 775-y ) , 10000.00 )
if GetRandomInt(1,4)==2 then
call AddSpecialEffectTargetUnitBJ( "origin", u, "Abilities\\Spells\\Undead\\Cripple\\CrippleTarget.mdl" )
call TriggerExecute(gg_trg_DestroyFX)
endif
set b=b+1
call SetHandleReal(t,"r",b)
set t=null
set u=null
set b=0
set n=0
set d=0
set l=null
set x=0
call RemoveLocation(m)
set m=null
set y=0
endfunction

function Trig_Toss_Actions takes nothing returns nothing
local group g=CreateGroup()
local unit c=GetTriggerUnit()
local unit a=null
local location l=GetSpellTargetLoc()
local timer t=null
local real b=1
local real d=0
local real n=0
call GroupEnumUnitsInRange(g,GetUnitX(c),GetUnitY(c),275,Condition(function Toss_Unit_Group))
set a=GroupPickRandomUnit(g)
call GroupClear(g)
if a!=null then
call SetUnitAnimationByIndex(c,4)
call PauseUnitBJ( true, a )
call SetUnitPathing( a, false )
call SetUnitFacingToFaceLocTimed( a, l, 0 )
call UnitAddAbilityBJ( 'A002', a )
call UnitRemoveAbilityBJ( 'A002', a )
set t=CreateTimer()
call SetHandleHandle(t,"t",a)
call SetHandleReal(t,"r",b)
set d = DistanceBetweenPoints(GetUnitLoc(c), l)
set n= AngleBetweenPoints(GetUnitLoc(c), l)
call SetHandleReal(t,"d",d)
call SetHandleReal(t,"n",n)
call SetHandleHandle(t,"l",l)
call TimerStart(t,0.02,true,function Toss_Movement)
call TriggerSleepAction(1.0)
call RemoveLocation(l)
set l=GetHandleLocation(t,"l")
call RemoveLocation(l)
call FlushHandleLocals(t)
call PauseTimer(t)
call DestroyTimer(t)
call SetUnitFlyHeightBJ( a, GetUnitDefaultFlyHeight(a), 10000.00 )
call PauseUnitBJ( false, a )
call SetUnitPathing( a, true )
set l=GetUnitLoc(a)
call DestroyEffect(AddSpellEffectByIdLoc('A0BZ', EFFECT_TYPE_TARGET, l))
call TerrainDeformationRippleBJ( 0.2, true, l, 1.00, 300.00, 96.00, 1, 64.00 )
call UnitDamageTargetBJ( c, a, 38.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION )
set g = GetUnitsInRangeOfLocAll(300.00, l)
loop
set a = FirstOfGroup(g)
exitwhen a == null
call GroupRemoveUnit(g,a)
call UnitDamageTargetBJ( c, a, 75.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION )
endloop
call EnumDestructablesInCircleBJ( 300,l , function Toss_Destroy_Trees )
call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl",GetLocationX(l),GetLocationY(l)))
endif
call DestroyGroup(g)
set g=null
set c=null
set a=null
call RemoveLocation(l)
set l=null
set t=null
set b=0
set n=0
set d=0
endfunction

//===========================================================================
function InitTrig_Toss takes nothing returns nothing
set gg_trg_Toss = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Toss, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Toss, Condition( function Trig_Toss_Conditions ) )
call TriggerAddAction( gg_trg_Toss, function Trig_Toss_Actions )
endfunction


Nhưng nó lại sử dụng ngôn ngữ Jass. Em chịu. Vậy liệu có thể dịch nó sang ngôn ngữ trong WE không? Nếu có thể thì dịch giúp em nha. Thank trước.:P

frostwyrm_9x
02-09-2010, 09:56
Đây là skill Toss của tiny trong dota mà em kiếm được từ map demo:

function Trig_Toss_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A004'
endfunction

function Toss_Unit_Group takes nothing returns boolean
if ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_ANCIENT) == true ) then
return false
endif
if IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) then
return false
elseif IsUnitType(GetFilterUnit(), UNIT_TYPE_FLYING) then
return false
elseif GetFilterUnit() == GetSpellAbilityUnit() then
return false
elseif IsUnitDeadBJ(GetFilterUnit()) then
return false
endif
return true
endfunction

function Toss_Destroy_Trees takes nothing returns nothing
call KillDestructable( GetEnumDestructable() )
endfunction

function TossFX takes nothing returns nothing
local effect f= bj_lastCreatedEffect
call TriggerSleepAction(0.4)
call DestroyEffect(f)
set f=null
endfunction

function Toss_Movement takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=GetHandleUnit(t,"t")
local real b=GetHandleReal(t,"r")
local real n=GetHandleReal(t,"n")
local real d=GetHandleReal(t,"d")
local location l=GetHandleLocation(t,"l")
local real x=-d+(d*(b/50))
local location m=PolarProjectionBJ(l,x,n)
local real y=((b-25)*(b-25))
call SetUnitPositionLoc(u,m)
call SetUnitFlyHeight( u, ( 775-y ) , 10000.00 )
if GetRandomInt(1,4)==2 then
call AddSpecialEffectTargetUnitBJ( "origin", u, "Abilities\\Spells\\Undead\\Cripple\\CrippleTarget.mdl" )
call TriggerExecute(gg_trg_DestroyFX)
endif
set b=b+1
call SetHandleReal(t,"r",b)
set t=null
set u=null
set b=0
set n=0
set d=0
set l=null
set x=0
call RemoveLocation(m)
set m=null
set y=0
endfunction

function Trig_Toss_Actions takes nothing returns nothing
local group g=CreateGroup()
local unit c=GetTriggerUnit()
local unit a=null
local location l=GetSpellTargetLoc()
local timer t=null
local real b=1
local real d=0
local real n=0
call GroupEnumUnitsInRange(g,GetUnitX(c),GetUnitY(c),275,Condition(function Toss_Unit_Group))
set a=GroupPickRandomUnit(g)
call GroupClear(g)
if a!=null then
call SetUnitAnimationByIndex(c,4)
call PauseUnitBJ( true, a )
call SetUnitPathing( a, false )
call SetUnitFacingToFaceLocTimed( a, l, 0 )
call UnitAddAbilityBJ( 'A002', a )
call UnitRemoveAbilityBJ( 'A002', a )
set t=CreateTimer()
call SetHandleHandle(t,"t",a)
call SetHandleReal(t,"r",b)
set d = DistanceBetweenPoints(GetUnitLoc(c), l)
set n= AngleBetweenPoints(GetUnitLoc(c), l)
call SetHandleReal(t,"d",d)
call SetHandleReal(t,"n",n)
call SetHandleHandle(t,"l",l)
call TimerStart(t,0.02,true,function Toss_Movement)
call TriggerSleepAction(1.0)
call RemoveLocation(l)
set l=GetHandleLocation(t,"l")
call RemoveLocation(l)
call FlushHandleLocals(t)
call PauseTimer(t)
call DestroyTimer(t)
call SetUnitFlyHeightBJ( a, GetUnitDefaultFlyHeight(a), 10000.00 )
call PauseUnitBJ( false, a )
call SetUnitPathing( a, true )
set l=GetUnitLoc(a)
call DestroyEffect(AddSpellEffectByIdLoc('A0BZ', EFFECT_TYPE_TARGET, l))
call TerrainDeformationRippleBJ( 0.2, true, l, 1.00, 300.00, 96.00, 1, 64.00 )
call UnitDamageTargetBJ( c, a, 38.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION )
set g = GetUnitsInRangeOfLocAll(300.00, l)
loop
set a = FirstOfGroup(g)
exitwhen a == null
call GroupRemoveUnit(g,a)
call UnitDamageTargetBJ( c, a, 75.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION )
endloop
call EnumDestructablesInCircleBJ( 300,l , function Toss_Destroy_Trees )
call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl",GetLocationX(l),GetLocationY(l)))
endif
call DestroyGroup(g)
set g=null
set c=null
set a=null
call RemoveLocation(l)
set l=null
set t=null
set b=0
set n=0
set d=0
endfunction

//===========================================================================
function InitTrig_Toss takes nothing returns nothing
set gg_trg_Toss = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Toss, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Toss, Condition( function Trig_Toss_Conditions ) )
call TriggerAddAction( gg_trg_Toss, function Trig_Toss_Actions )
endfunction


Nhưng nó lại sử dụng ngôn ngữ Jass. Em chịu. Vậy liệu có thể dịch nó sang ngôn ngữ trong WE không? Nếu có thể thì dịch giúp em nha. Thank trước.:P
Ngôn ngữ WE là ngôn ngữ ????
Muốn chuyển sang trigger thì có spell Toss của anh Tom làm nè 125651

thanhruoi
02-09-2010, 17:52
Các anh hướng dẫn em làm mấy cái passive aura thành active được không ?

dh-g
02-09-2010, 18:49
Các anh hướng dẫn em làm mấy cái passive aura thành active được không ?

pastive = active a` ?
cái này hơi không hiểu
aura đã là passtive lâu rùi
bạn định làm cho nó = active à ?
thì xài 1 skils = bonus vào pick untis thôi
còn việc pastive = active thì hơi khó 1 chút có thể làm dc.

thanhruoi
02-09-2010, 18:56
Tức là làm aura giống nhủ Immolation ấy. Khi active mới có tác dụng nhưng sẽ drain mana.

frostwyrm_9x
02-09-2010, 19:10
dùng cái ability spell book rồi add cái ability aura ấy vào

doan_hao15
04-09-2010, 14:16
Ùm! Có ai biết làm skill unti "Eye of the storm" của con Razor trong dota ko - bản Dota 6. trở lên ấy."Tạo ra một đám mây sét trên đầu con Razor khi Razor sử dụng skill này thì đám mây sét đó sẽ xuất hiện và tấn công random 1 unit or 1 hero địch đứng gần Razor trong khoảng 200 hay 300 AOE" gí đó (không biết rõ). Em nghĩ nát óc vẫn không tài nảo hiểu được làm cách nào để đám mây sét nó yên vị ở trên đầu con Razo kể cả khi con Razo di chuyển. em rất mê skill này. Ai biết thì chỉ em cách làm với. Em cảm ơn nhiều! Có máp demo thì cang tốt.

lightray1310
04-09-2010, 19:12
Một hướng dẫn rất hay , để thử cái nào ........

cerberrus
05-09-2010, 11:41
các huynh có thể cho tiểu đệ biết cách làm skill wavefrom của Morphing , model qua cầu Xanh của skill Chronosphere của Void, Juxtapose Skill 3 của Phantom Lancer và cho đệ xin link các map cua anh Tôm ^^(Tham Khảo Mà hehe))

---------- Post added at 11:38 ---------- Previous post was at 11:35 ----------

Skill 3 Của Tiny ấy Thay x 6 = 20 % thôi cách thay mở demo map pasive skill mà xem ^^

---------- Post added at 11:41 ---------- Previous post was at 11:38 ----------

A.G ơi mình thử hoài không được

maixuanem
19-09-2010, 10:41
có ai bik làm skill Xoay Ngọc (skill 2 ý) của con lo trong DotA ko chỉ với

blackovercoat
07-08-2012, 14:33
bác nào giúp em với em làm theo hướng dẫn trên tạo skill với Trigger như thế này http://np4.upanh.com/b4.s27.d1/f241fbc95bd97b9fa593b09d232561ab_47916114.untitled3.bmp (http://www.upanh.com/untitled3_upanh/v/7ra8dqcr0gk.htm) nhưng khi tét thì sét truyềng sang cả unit của mình mong các anh sửa giúp

frostwyrm_9x
07-08-2012, 15:11
lỗi ở phần object chứ ko phải do trigger, sửa lại skill chain lightning max unit lại thành 1