[Hướng dẫn]Custom spell với trigger - 2 dạng cơ bản

Status
Không mở trả lời sau này.
anh Sukaraki cho Vua_Do_Hoa Hỏi Một câu nha:
---
Làm Spell thôi nhưng có dín đến Lightning . Em ko biết làm thế nào để cái lightning đi theo Target luôn , làm bình thường thì lightning chỉ đi theo Poisition của Target chứ ko đi theo Target . Em muốn làm cho Lightning bay lên và bay xuống theo Target luôn :) . Anh giúp nhá :'>
 
Tôi đã sửa skill chaos bolt...cách làm của tôi ko cần tạo dummy như sakuraki....ko phải xài spell stun khác.....sửa tất cả.....nếu bạn nào muốn stun kiểu 2,5555 s thì sửa cái wait(real(integer(chaos_bolt_stun))) thành wait chaos_bolt_stun là xong...làm tương tự như cái floating text: create floating text.........

saku: tôi ko phải là thằng ngu
 
to Vua_Do_Hoa : anh ko dùng lighting - vì cho rằng nó giống như 1 special effect bình thường.Nếu muốn làm spell gì thì nói rõ ra, anh làm từ đầu đến cuối cho.
to god_of_the_noob :ai chả biết vụ remove buff của ông, tui cũng ko phải thằng ngu. Cái cách làm của ông gặp 1 số trường hợp đặc biệt như bị stun hay bị sleep ngay lúc remove buff stun(pause) thì thằng đó đứng tới tết maroc luôn.Làm cách nào ko bị bug thì làm.
 
e hèm, đề nghị dùng lời lẽ "bình thường", ko "chọc ngoáy" nhau quá :|
------------
@god_of_the_noob, cái vụ random ra số thập phân thì wait sẽ chuẩn (nhưng thật ra wait này ko wait đúng thời gian đó đâu, có thể dài hơn), dùng timer là chuẩn nhất, nhưng cái timer này liên quan đến jass, nếu làm = GUI thì ko nên.
Do vậy cách làm của sukaraki là ok rồi, vì nếu random ra 1.99 giây mà ghi là "1" thì ko đc. Anh nghĩ DotA người ta cũng chỉ đơn giản là random số nguyên thôi (tức là 1 hoặc 2 hoặc 3 hoặc 4).
Vậy thì: ability cho hero cần base từ một skill target single như: Chain Lightning (damage = 0, jump = 1) hoặc Cripple (các thứ kia = 0 và duration = 0.01, nếu sợ có sound từ buff thì đổi buff thành stun (chỉ là effect, ko stun thật đâu)) v...v. Và một ability stun cho dummy unit, 4 level có stun duration lần lượt là 1/2/3/4.
Trigger tương tự như sukaraki đã post.
@Sukaraki, lần sau post trigger thì cứ post cho hẳn hoi, sao phải ghi kiểu này:
vent : a unit start the effect of an abi

condition : abi being casted = chaos bolt

actions :

- set cb_cas = casting unit

- set cb_tar = target unit of ability being casted
//....
Chỉ việc tạo trigger ra rồi copy thôi, right click vào tên trigger bên phải, phần trigger functions ấy, Copy As Text -> Paste -> xong, chả tốn bao nhiêu thời gian.
---
Ai post trigger thì cho vào code tag nhá, bôi đen phần trigger rồi click vào biểu tượng (
code.gif
) là xong
 
Ok anh Tom, lần sau em sẽ trình bày thế. Vụ wait ko chính xác là ở chỗ dash : các spell dash khoảng 0.05 hoặc 0.01 s làm 1 lần move thì sẽ mượt, nhưng wait thì ko thể, khi dùng for kết hợp với wait, ghi rõ ràng 0.01 nhưng nó chỉ wait tối thiểu là 0.1 , làm động tác dash giựt >>> làm dash nên dùng 2 trigger , 1 trigger có event every 0.01 sec.Cho nên nhớ kỹ khi dùng wait : tối thiểu là 0.1 , nhỏ hơn là ko chính xác nữa.
 
Cũng muốn hỏi thêm cái nữa nha anh Su , tạo một viên bi thông mình bị bắn lên trời , nó bay rồi rơi xuống và tưng lên , trong quá trình đó nếu trong phạm vi gần vị trí nó rơi 200 range thì nó lập tức phát nỏ khi rơi xuống , còn nếu không vẫn tiếp tục tưng tưng quài quài đến khi hết thời gian mặc định là nổ :hug: Hết
 
hix ... chắc ko trình bày đc theo anh Tom wá ~ vì lười bật WE...

spell bi bay tưng tưng tìm mục tiêu trong thời gian 5s nếu ko có quái xung quanh ~ còn nếu có thì tưng 1 lần rồi nổ.


chuẩn bị :
- spell shockwave tên bitung
- biến unit tên bi_cas
- biến unit tên bi_dum
- unit có spell locust tên bi hình cục ngọc nào đó , bay cao 30, collision = 0
- biến point tên bi_tar
- biến intenger tên bi_int


trigger 1 :

event : a unit start the effect of an abi

condittions
: abi being casted = bitung

actions :
- set bi_cas = casting unit
- set bi_tar = target point of abi being casted
- create 1 bi for neutral passive at position of bi_cas
- set last created unit = bi_dum
- turn on trigger 2
- for each intenger bi_int from 1 to 5
{
IF number of unit in region center at position of bi_cas with size 200 200 matching ( matching unit is alive = true AND matching unit belongs to an enemy of owner of bi_cas = true ) >= 1
THEN
- pick random 1 unit in region center at position of bi_dum with size 200 200 matching ( matching unit is alive = true AND matching unit belongs to an enemy of owner of bi_cas = true )
- set bi_tar = position of picked unit
- change bi_dum flying height to 530 at 1000
- wait 0.5 s
- change bi_dum flying height to 0 at 1000
- wait 0.5s
ELSE
- set bi_tar = random position in region center at position of bi_cas with size 500 500
- change bi_dum flying height to 530 at 1000
- wait 0.5 s
- change bi_dum flying height to 0 at 1000
- wait 0.5s
}
- kill bi_dum
- pick every unit in region center at position of bi_dum with size 250 250 matching ( matching unit is alive = true AND matching unit belongs to an enemy of owner of bi_cas = true )
cause bi_cas damage picked unit [??? dam]
- tạo 1 effect nổ tại vị trí bi_dum - set effect nổ = 1 biến , remove bi_dum , wait 2s , destroy biến effect đó .
- turn off trigger 2
trigger 2 : turn off khi map khởi tạo

event : every 0.05 second of the game

actions :
- move bi_dum to position of bi_dum off set by 20 to bi_tar towards ( angle between point position of bi_dum and bi_tar )
IF number of unit in region center at position of bi_dum with size 90 90 matching ( matching unit is alive = true AND matching unit belongs to an enemy of owner of bi_cas = true ) >= 1
THEN
- pick every unit in region center at position of bi_dum with size 250 250 matching ( matching unit is alive = true AND matching unit belongs to an enemy of owner of bi_cas = true )
cause bi_cas damage picked unit [??? dam]
- tạo 1 effect nổ tại vị trí bi_dum - set effect nổ = 1 biến , remove bi_dum , wait 2s , destroy biến effect đó .
ELSE do nothing

Tóm tắt :
khi tạo , có 1 quả bi ,cứ 0.5 s nó tưng lên 1 lần, 0.5 s tưng xuống 1 lần. Nếu trong phạm vi 200 200 của bi ko có địch, thì nó sẽ nhảy lung tung tìm kẻ địch.Nếu có thì nó sẽ nhảy tới chỗ 1 kẻ địch trong nhóm địch gần đó , khi tới khỏang cách 90 90 gần 1 con địch, nó sẽ phát nổ trong phạm vi 250 250.Trường hợp nó tìm hòai ko thấy địch, sau 5s nó sẽ lên dĩa và gây nổ xung quanh.
Trigger dài nhưng thật ra nhiều chỗ giống nhau, chỉ cần copy qua lại.
 
Tạm ổn rồi đó , thanks nhiều ... À anh SU nè , anh có thể làm cho nó MUI hay ko
;;);;)
 
anh ngại MUI lắm, thường 1 spell trong map có 2~3 con có thì chép đại ra , dù sao chỉ thêm 2 cái copy chứ mấy.Còn chiêu cuối thì thường mỗi con 1 chiêu cuối khác nhau đi.Cách trả lời này đích thị là của 1 người ngại khó ngại khổ ko chịu học cái mới - nhưng anh đã nói với em rồi : giờ war chỉ là thứ lâu lâu vào tiêu khiển, anh chả muốn mất nhiều thời gian cho nó nữa đâu...
 
Tạo giúp cho em 1 skill nhá :

Đầu tiên hero sẽ sử dụng skill : Bladestorm (Ulti Của Hero Blade ) x dame / x giây
Trong quá trình sử dụng skill ai bị Bladestorm va chạm sẽ bị cuốn vào đó và bay theo luôn ( giống như bị lốc xoáy cuốn )
Sau khi hết thời gian sử dụng skill Bladestorm thì nạn nhân sẽ bị văng ra 1 khoảng cách x / chưa chịu dừng ở đó , anh blade sẽ combo thêm 1 skill nữa đó là : bay lên trời và chém xuống tại nơi mà nó đứng . Khi chém sẽ có hiệu ứng ngàn kim đâm đít ( Ulti của tidehunter " DOTA " )

Nếu không hiểu em sẽ giải thích thêm :hug:
 
thứ 1 : box hướng dẫn mà lại " Tạo giúp cho em 1 skill nhá " ... ~.~ lẽ ra công việc của anh chỉ là hướng dẫn cách làm thôi, tức là nói đường đi nước bước = tiếng Việt .
thứ 2 : hiệu ứng ngàn kim đâm đít mô tả rõ hơn, ko biết.


Sau đây là spell của em

chuẩn bị :
biến unit : bla_cas , bla_dum
biến intenger : bla_int
biến unit group : bla_group


trigger 1

Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Bladestorm
Actions
Set bla_cas = (Casting unit)
Trigger - Turn on Trigger 2 <gen>
Wait 5.00 seconds
Trigger - Turn off Trigger 2 <gen>
Unit - Turn collision for bla_cas Off
Unit - Hide bla_cas
Unit - Create 1 (Unit-type of bla_cas) for (Owner of bla_cas) at (Position of bla_cas) facing (Facing of bla_cas) degrees
Set bla_cas_dum = (Last created unit)
Unit - Make bla_cas_dum Invulnerable
Unit - Turn collision for bla_cas_dum Off
Unit - Pause bla_cas_dum
Unit - Add Crow Form to bla_cas_dum
Unit - Remove Crow Form from bla_cas_dum
Animation - Change bla_cas_dum flying height to 500.00 at 1500.00
Animation - Play bla_cas_dum's Slam animation
Wait 0.30 seconds
Unit - Add Crow Form to bla_cas_dum
Unit - Remove Crow Form from bla_cas_dum
Animation - Change bla_cas_dum flying height to 0.00 at 1500.00
Wait 0.50 seconds
Unit - Remove bla_cas_dum from the game
Unit - Unhide bla_cas
Unit - Turn collision for bla_cas On
Unit Group - Pick every unit in bla_gro and do (Actions)
Loop - Actions
Unit - Turn collision for (Picked unit) On
Unit - Cause bla_cas to damage (Picked unit), dealing 500.00 damage of attack type Chaos and damage type Normal
For each (Integer bla_int) from 1 to 10, do (Actions)
Loop - Actions
Unit - Move (Picked unit) instantly to ((Position of (Picked unit)) offset by 20.00 towards (Angle from (Position of (Picked unit)) to (Position of bla_cas)) degrees)
Wait 0.10 seconds
Wait 1.00 seconds
Unit Group - Remove all units from bla_gro

trigger 2

Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in (Units in (Region centered at (Position of bla_cas) with size (400.00, 400.00)) matching (((((Matching unit) is alive) Equal to True) and (((Matching unit) is in bla_gro) Equal to False)) and (((Matching unit) belongs to an enemy of (Owner of bla_cas)) Equal and do (Actions)
Loop - Actions
Unit - Turn collision for (Picked unit) Off
Unit Group - Add (Picked unit) to bla_gro
Unit Group - Pick every unit in bla_gro and do (Actions)
Loop - Actions
Unit - Move (Picked unit) instantly to (Random point in (Region centered at (Position of bla_cas) with size (300.00, 300.00)))
pó hand với cái spell bladestorm advanced này , nhìn lũ mập bị xóay điên cuồng buồn cười sặc máu :)) down về coi đi nha
http://www.mediafire.com/download.php?w3spxnldmca
 
Cảm ơn anh nhaaaaaaaaaaaaaaaaaaaaa . Mai mốt có thay đổi em sẽ hỏi thêm đấy anh chuẩn bị đi !
 
Cái hơm bữa anh nói cái skill có lightning đó
giờ nó đại khái như thế này

Quăn ra 1 sợi dây thì nó sẽ vướng vào khoảng vài thằng nằm trong tằm , Máy tên bị dây trói bị nhất bỏng lên từ từ và quay vài vòng rồi cho rơi tự do xuống (Chiu cuối hơi ác) , làm cho nó gãy chân một thời gian không thể di chuyển ... Over:-*
 
48a69db13cf83_m.JPG

48a69db49205f_m.JPG


Đây là skill ngàn kim đâm đít :D anh thêm vào giùm em !:D
 
nhìn kỹ đi : ngàn kim đâm đít thực ra chính là tạo 1 lúc 9 dummy có chiêu impale rồi cas ra 9 phía.Cho damage của impale này = 0 và stun time = bao nhiêu thì tùy.
Cách add :
for each intenger impale_cas from 1 to 9
-create 1 dummy at position of thằng cast
- order last created unit to Undead impale position of thằng cast offset 100 toward 40 X impale_cas
- add extimer 1s to last created unit

đó, mỗi con cas impale cách nhau 40 độ , sau 1 giây thì die.
 
Oh dze :;) cảm ơn anh rất là nhìu , em còn 1 skill vô cùng khủng khiếp nhưng khi nào làm xong skill kia em sẽ nhờ anh chỉ giúp để hoàn thanh luon
 
Ngàn kim đâm đít ... nghe tếu quá =)) =)).
@Sukaraki : Anh ơi , anh làm chiu của em đi :'>
 
http://godfatherudshadow.googlepages.com/chieutroitungbay.w3x
to Vua_Do_Hoa : chiêu của em đây. nhìn nó bay lên đập mặt xuống đất cười vỡ bụng.Nghĩ đâu ra chiêu kì cục thế :)).
trói 1 đám trong vùng 500 500, đám đó bay lên xoay zeo zeo rồi té đập mặt xuống đất, đau giò trong 2 giây rồi nhào vô úynh mình típ. =))
to các nhox khác : anh lười quá nên ko post trigger lên đây, ráng down về coi nha.
 
lâu quá ko quay lại forum.Mấy ngày nay mê chơi Yugioh world champ 2008
016%5B1%5D.gif
.Up up up!!! dạo này ko newbie nào hỏi về custom spell à ?
053%5B1%5D.gif
 
anh chỉ em làm skill của con PA trong dota, chiu giống tàng hình ý, nhưng nó chỉ mờ đi 70% thôi.

với lại cái skill biến ra cở 4, 5 cái bóng ngay chỗ của mình đánh phụ mình đó anh :D
 
Status
Không mở trả lời sau này.
Back
Top