[ spells ]

^
Ko đâu, 7 con dummy còn để giữ sight nữa đấy.
Dam tốt nhất là dùng Group - Pick Units để deal dam. Như vậy nếu ai dùng system jass deal dam thì có thể kiểm soát được nhiều hơn
Còn slide mà cậu ấy nói nghĩa là chọn lần lượt các điểm để tạo dummy chứ ko phải để cho unit di chuyển

Edit: Skill Incinerate nếu ko phải là chính skill base thì ko có tác dụng (đã thử)
Đừng copy skill đó làm gì. Custom skill đó ko chạy đâu....
 
Chỉnh sửa cuối:
Nếu dùng slide thì mìng ngĩ dame deal và spels sẽ không khớp nhau, tốt nhất đi đến đâu deal tới đấy
 
Nếu dùng slide thì mìng ngĩ dame deal và spels sẽ không khớp nhau, tốt nhất đi đến đâu deal tới đấy

Đúng rồi... Mỗi lần tạo dummy unit thì gây damage xung quanh đó.

Skill 3 của súng dùng upgrade mất vài dòng code, và chỉ tốn đúng 1 Upgrade, làm gì phải tạo nhiều Hero rồi add skill, order nó lung tung thế kia. Nhỡ nó learn skill trong lúc bị Silence thì thọt à =)) ? Dùng Upgrade Long Rifles 'Rhri'.

-------------

Cái ability Incinerate buồn cười nhỉ, chỉ ability gốc mới có tác dụng, custom thì k có tác dụng =)). Trong DotA có mình con Ursa là có skill đấy nên chắc là nó dùng Base luôn rồi.
 
Chỉnh sửa cuối:
Bạn langthangbairac suy ngĩ vấn đề cao cấp wá, có nhiều cái base rất có ích nhưng lại k biết, như cái skill nhảy damg của Luna cũng là từ UPGRADE đó. Mý cái này mà chạy = GUI thì kiểm soát s dc =.=''
 
Vừa slide vừa tạo Dummy vừa gây dmg. Chứ tạo Dummy rồi pick 200 xung quanh mỗi con rồi gây dmg á? Thử vẽ ra xem là thấy chắc chắn có chỗ địch nằm trên đường wave nhưng không dính dmg. Còn slide sẽ pick liên tục từng khoảng cách nhỏ 1 quanh con missile dummy đc slide nên sẽ k bị sót như hình dưới.
 

Attachments

  • untitled.JPG
    untitled.JPG
    7.8 KB · Đọc: 13
Vừa slide vừa tạo Dummy vừa gây dmg. Chứ tạo Dummy rồi pick 200 xung quanh mỗi con rồi gây dmg á? Thử vẽ ra xem là thấy chắc chắn có chỗ địch nằm trên đường wave nhưng không dính dmg. Còn slide sẽ pick liên tục từng khoảng cách nhỏ 1 quanh con missile dummy đc slide nên sẽ k bị sót như hình dưới.
thực ra cái của bạn là cứ 600 range thì deal dam trong khoảng 300 aoe thì nó thế, nếu mõi 300 range mà deal dam trong khoảng 300 aoe thì sẽ khác (VD thế) khó giải thích
 
Như thế thì đâu có giống cái wave trong Dota =.=! Khoảng giao của 2 cái vòng kia dmg sẽ gấp 2?

bạn nhầm r, khi deal dam, add unit bị deal dam vào 1 unitgroup, trigger if unit ý ở trong unitgroup kia thì sẽ ko deal dam
 
Như thế thì đâu có giống cái wave trong Dota =.=! Khoảng giao của 2 cái vòng kia dmg sẽ gấp 2?

thế tôi làm cái Howl_Group_Total để làm cảnh hả :8cool_amazed:
Và theo cách nghĩ của bạn thì chả phải gấp đôi mà còn gấp x ??? lần đấy



----------------------------------------------------------------
Up cái Toss
 
Mã:
Toss Cast
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Toss 
    Actions
        Set Toss_Unit[1] = (Casting unit)
        Set Toss_Unit[2] = (Target unit of ability being cast)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Toss_Unit[2] belongs to an ally of (Owner of Toss_Unit[1])) Equal to False
            Then - Actions
                Set Toss_Pos[1] = (Position of Toss_Unit[2])
                Set Toss_Group = (Units within 275.00 of [COLOR="#FF0000"][B](Position of Toss_Unit[1])[/B][/COLOR] matching (((((Matching unit) is alive) Equal to True) and ((Level of Toss  for (Matching unit)) Not equal to 1)) and (((Matching unit) Not equal to Toss_Unit[1]) and (((Matching unit) is A structure) Equal to
                Set Toss_Unit[3] = (Random unit from Toss_Group)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Toss_Unit[3] Equal to No unit) or ((Owner of Toss_Unit[3]) Equal to (Owner of Toss_Unit[1]))
                    Then - Actions
                        Cinematic - Clear the screen of text messages for [B][COLOR="#FF0000"](Player group((Owner of Toss_Unit[1])))[/COLOR][/B]
                        [COLOR="#FF0000"]Unit - Order Toss_Unit[1] to Stop
                        Wait 0.00 seconds
                        Unit - Set mana of Toss_Unit[1] to ((Mana of Toss_Unit[1]) + 120.00)[/COLOR]
                        If (Toss_Unit[3] Equal to No unit) then do (Game - Display to [B][COLOR="#FF0000"](Player group((Owner of Toss_Unit[1])))[/COLOR][/B] for 2.00 seconds the text:                    ...) else do (Game - Display to (Player group((Owner of Toss_Unit[1]))) for 2.00 seconds the text:                    ...)
                    Else - Actions
                        Unit - Add Crow Form to Toss_Unit[3]
                        Unit - Remove Crow Form from Toss_Unit[3]
                        Unit - Pause Toss_Unit[3]
                        Unit - Turn collision for Toss_Unit[3] Off
                        Set Toss_Counter = 0
                        Countdown Timer - Start Toss_Timer as a Repeating timer that will expire in 0.02 seconds
                        [COLOR="#FF0000"][B]Special Effect - Create a special effect attached to the origin of Toss_Unit[3] using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl[/B][/COLOR]
                Custom script:   call DestroyGroup (udg_Toss_Group)
            Else - Actions
                [COLOR="#FF0000"]Unit - Order Toss_Unit[1] to Stop
                Wait 0.00 seconds
                Unit - Set mana of Toss_Unit[1] to ((Mana of Toss_Unit[1]) + 120.00)[/COLOR]

đỏ đậm là leak
đỏ sẽ gây lỗi nếu skill được cast 2 lần một lúc, wait 0.0s tương đương wait 0.1s
nếu không muốn target vào ally thì đặt Target Allowed của ability Toss là xong, sao lại phải "if" ?
nếu muốn dừng spell trước khi mất mana hay cooldown thì dùng event: Begin casting an ability

Mã:
Toss start
    Events
        Time - Toss_Timer expires
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Toss_Counter Greater than 50
            Then - Actions
                Countdown Timer - Pause Toss_Timer
                Unit - Unpause Toss_Unit[3]
                Unit - Turn collision for Toss_Unit[3] On
                Animation - Change Toss_Unit[3] flying height to (Default flying height of Toss_Unit[3]) at 0.00
                [COLOR="#FF0000"][B]Special Effect - Create a special effect attached to the origin of Toss_Unit[3] using Abilities\Spells\Orc\WarStomp\WarStompCaster.mdl[/B][/COLOR]
                Unit - Cause Toss_Unit[1] to damage Toss_Unit[3], dealing (0.20 x (75.00 x (Real((Level of Toss  for Toss_Unit[1]))))) damage of attack type Spells and damage type Fire
                Set Toss_Group = (Units within 300.00 of [B][COLOR="#FF0000"](Position of Toss_Unit[3])[/COLOR][/B] matching ((((Matching unit) belongs to an enemy of (Owner of Toss_Unit[1])) Equal to True) and (((Matching unit) is A structure) Equal to False)))
                Unit Group - Pick every unit in Toss_Group and do (Unit - Cause Toss_Unit[1] to damage (Picked unit), dealing (75.00 x (Real((Level of Toss  for Toss_Unit[1])))) damage of attack type Spells and damage type Fire)
                Custom script:   call DestroyGroup (udg_Toss_Group)
                Custom script:   call RemoveLocation (udg_Toss_Pos[1])
                Custom script:   call RemoveLocation (udg_Toss_Pos[3])
            Else - Actions
                Set Toss_Counter = (Toss_Counter + 1)
                Animation - Change Toss_Unit[3] flying height to (775.00 - ((((Real(Toss_Counter)) - 25.00) x ((Real(Toss_Counter)) - 25.00)) - 25.00)) at 0.00
                Set Toss_Pos[2] = (Position of Toss_Unit[2])
                If ((Distance between Toss_Pos[1] and Toss_Pos[2]) Greater than 1000.00) then do (Set Toss_Pos[3] = Toss_Pos[3]) else do (Set Toss_Pos[3] = Toss_Pos[2])
                Set Toss_Pos[4] = (Position of Toss_Unit[3])
                Set Toss_Pos[5] = (Toss_Pos[4] offset by ((Distance between Toss_Pos[4] and Toss_Pos[3]) / (50.00 - (Real(Toss_Counter)))) towards (Angle from Toss_Pos[4] to Toss_Pos[3]) degrees)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Distance between Toss_Pos[4] and Toss_Pos[3]) Greater than or equal to ((Distance between Toss_Pos[4] and Toss_Pos[3]) / (50.00 - (Real(Toss_Counter))))
                    Then - Actions
                        Unit - Move Toss_Unit[3] instantly to Toss_Pos[5]
                    Else - Actions
                        Unit - Move Toss_Unit[3] instantly to Toss_Pos[3]
        [COLOR="#00FF00"]Custom script:   call RemoveLocation (udg_Toss_Pos[2])
        Custom script:   call RemoveLocation (udg_Toss_Pos[4])
        Custom script:   call RemoveLocation (udg_Toss_Pos[5])[/COLOR]

đỏ đậm là leak
xanh sao lại để ở ngoài? nó phải ở trong Else chứ? nếu để ở ngoài thì khi (Toss_Counter Greater than 50) Then - Actions chạy xong lại remove Toss_Pos 2, 4 ,5 lần nữa? trong khi nó không có giá trị gì? (không sao nhưng việc này không nên)
 
nhìn ko giống skill Toss của anh Tom làm cho lắm, riêng cái change flying height đã thấy hơi lạ r, nếu toss kỉu của bạn làm chắc đột ngột bay lên trời xong từ từ rơi xuống quá
 
Chỉnh sửa cuối:
Làm GUI thì chỉ đến thế thôi.
Nếu dùng system damage thì phải chơi vjass. Ko khuyến khich dùng GUI detect damage .....
Vì 1 tương lai làm map tươi sáng, vjass mà táng các bạn ơi \m/

khoe...tài...năng...vượt...trội...về...vjass...của...mình...hả? =))
cho em hỏi cách làm skill này: đẩy 1 unit lên (giống force staff) 250/500/750/1000 range
 
khoe...tài...năng...vượt...trội...về...vjass...của...mình...hả? =))
cho em hỏi cách làm skill này: đẩy 1 unit lên (giống force staff) 250/500/750/1000 range

Cái skill dạng này dễ mà... chỉ là move rất cơ bản. Nếu không biết tốt nhất vào đây để học, hiểu thì sau này dạng move kiểu này vẩy tay cái là xong :-@.
Force Staff khi cast thì move target theo hướng của unit đó đang nhìn:
Mã:
Unit - Move tempUnit instantly to ((Position of tempUnit) offset by [B]50.00[/B] towards (Facing of tempUnit) degrees)
Cái dòng code đó sẽ chạy mỗi 0.04s (hoặc 0.0325s,...). Mỗi lần chạy thế thì trừ tick đi (tick tối đa lấy 250/500/750/1000 chia cho 50 trên kia). Tick hết thì dừng move.

------------------------

@thegioiran1: Không hiểu thể loại spam này là như thế nào ? Spam để lên post hay là để bị chém ? Spam mang mục đích phá hoại ? Hoặc là bị thiểu năng trí tuệ ?
 
Chỉnh sửa cuối:
nhìn ko giống skill Toss của anh Tom làm cho lắm, riêng cái change flying height đã thấy hơi lạ r, nếu toss kỉu của bạn làm chắc đột ngột bay lên trời xong từ từ rơi xuống quá

sao lại từ từ rơi? Tốc độ lên xuống bằng nhau mà.
@ Tom_Kazansky để trưa về xem lại rồi sửa.
 
rồi hướng dẫn em làm 2 skill này với:
1. khi giết đc 1 unit thì +1 soul (1 soul = 1 damage). khi chết giải phóng 100/75/50/25% số soul đã có. soul maximum gain: 99999
2. khi giết đc unit +1 agi. maximum agi gain: 25/50/75/100. khi cheest giải phóng 50% số agi đã có
cám ơn!!
 
rồi hướng dẫn em làm 2 skill này với:
1. khi giết đc 1 unit thì +1 soul (1 soul = 1 damage). khi chết giải phóng 100/75/50/25% số soul đã có. soul maximum gain: 99999
2. khi giết đc unit +1 agi. maximum agi gain: 25/50/75/100. khi cheest giải phóng 50% số agi đã có
cám ơn!!

1. Max 99999 thì kêu anh Tom làm đi, mình chả làm được :D
2. Cái này dễ quá mà :
Event unit die ( là hero hay unit ) rồi add agi thôi

---------- Post added at 13:39 ---------- Previous post was at 12:51 ----------

Update ba cái spells của pudge và kunka \m/
 
rồi hướng dẫn em làm 2 skill này với:
1. khi giết đc 1 unit thì +1 soul (1 soul = 1 damage). khi chết giải phóng 100/75/50/25% số soul đã có. soul maximum gain: 99999
2. khi giết đc unit +1 agi. maximum agi gain: 25/50/75/100. khi cheest giải phóng 50% số agi đã có
cám ơn!!
wan trọng là fần in đậm đó bạn :) .... chứ nếu chỉ +1agi thì dễ thôi :)
 
wan trọng là fần in đậm đó bạn :) .... chứ nếu chỉ +1agi thì dễ thôi :)

zzz? cái này rất dễ mà ? cậu andy sao chả chịu suy nghĩ gì hết vậy ?
2 cái trigger này
Mã:
Add and Subtract
    Events
        Unit - A unit Dies
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Triggering unit) Equal to Agi_Unit
            Then - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        Agi_Int Greater than 1
                    Then - Actions
                        Set Agi_Int = (Agi_Int / Subtract)
                        Hero - Modify Agility of (Killing unit): Subtract Agi_Int
                    Else - Actions
            Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Killing unit) Equal to Agi_Unit
                    Then - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                ((Triggering unit) is A Hero) Equal to False
                            Then - Actions
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        Agi_Int Less than Agi_Max
                                    Then - Actions
                                        Hero - Modify Agility of (Killing unit): Add 1
                                    Else - Actions
                            Else - Actions
                    Else - Actions

Mã:
Unit
    Events
        Unit - A unit Learns a skill
    Conditions
        (Learned Hero Skill) Equal to Human Archmage - Blizzard
    Actions
        Set Agi_Unit = (Triggering unit)
Chỉnh max agi ở phần Agi_max chắc hiểu được nhỉ. Đặt trong event thứ 2 ấy
 
Back
Top