Topic Post Spell

  • Thread starter Thread starter ducthai
  • Ngày gửi Ngày gửi
Status
Không mở trả lời sau này.
Cho xin thêm screenshot đi bạn,thanks bạn World Editor nhìu vì đã giúp đỡ tớ khi tớ quên hết WE
 
Hic, không up Screen được vì...không biết up :D ( mà up lâu lắm nên chịu vậy :P )
Events
Time - Every 0.01 seconds of game time

Cái này khỏi nói :D
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Integer((Distance between (Position of Caster) and Point))) Less than or equal to 30

Nếu khoảng cách giữa caster và point nhỏ hơn hoặc bằng 30
Then - Actions
Set Integer = (Integer + 180)
Set Point = (Point2 offset by 140.00 towards (Real(Integer))
degrees)
Integer cộng thêm 180 độ :D có nghĩa caster sẽ move về hướng ngược lại
Tương tự set Point cách Caster 140 ở bên ấy
Else - Actions
Unit - Move Caster instantly to ((Position of Caster) offset by 20.00 towards (Angle from (Position of Caster) to Point) degrees)

Nếu khoảng cách giữa caster và point không nhỏ hơn hoặc bằng 30 thì cứ tiếp tục move :D
 
Bổ sung thêm 2 spell mới cho Blade :D
Spell 1
Name: Hix, chưa nghĩ ra, thôi thì tùy các bạn b-(
Type: Target
Khi cast spell sẽ phân thân thành 4 đứa để "chém" đối phương :D ( nghe nói thì hơi giống phân thân thường :P )
Lv1 : 1 đứa 100 damage, 4 đứa tổng cộng 400 damage :D
Lv2 : 800 damage
Lv3 : 1200 damage ( Damage hơi cao ;;) )
Cách làm:
B1: Tạo 1 con Dummy hình BladeMaster, add Loscut cho nó
B2: Tạo spell dạng target, vd: sleep, acid bomb, storm bolt,...
B3: Tạo vài Variables gồm Target, Caster, Dumy ( nhớ tick dấu Array :D )
B4: Lập Trigger
Trigger
Mã:
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Spell 
    Actions
        Set Caster = (Casting unit)
        Set Target = (Target unit of ability being cast)
        Unit - Pause Caster
        Unit - Pause Target
        Wait 0.50 seconds
        Special Effect - Create a special effect at (Position of Caster) using Abilities\Spells\Orc\MirrorImage\MirrorImageCaster.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Hide Caster
        Unit - Move Caster instantly to ((Position of Target) offset by 150.00 towards 0.00 degrees), facing 180.00 degrees
        Wait 0.50 seconds
        For each (Integer A) from 1 to 3, do (Actions)
            Loop - Actions
                Unit - Create 1 Dummy for (Owner of Caster) at ((Position of Target) offset by 150.00 towards ((Real((Integer A))) x 90.00) degrees) facing (Position of Target)
                Special Effect - Create a special effect attached to the chest of (Last created unit) using Abilities\Spells\Orc\MirrorImage\MirrorImageCaster.mdl
                Special Effect - Destroy (Last created special effect)
                Animation - Play (Last created unit)'s attack slam animation
                Set Dummy[(Integer A)] = (Last created unit)
                Wait 0.01 seconds
                Animation - Change Dummy[(Integer A)]'s animation speed to 10.00% of its original speed
                Wait 0.10 seconds
        Unit - Unhide Caster
        Animation - Play Caster's attack slam animation
        Special Effect - Create a special effect attached to the chest of Caster using Abilities\Spells\Orc\MirrorImage\MirrorImageCaster.mdl
        Special Effect - Destroy (Last created special effect)
        Wait 0.01 seconds
        Animation - Change Caster's animation speed to 10.00% of its original speed
        Wait 1.00 seconds
        For each (Integer A) from 1 to 3, do (Actions)
            Loop - Actions
                Animation - Change Dummy[(Integer A)]'s animation speed to 100.00% of its original speed
                Wait 0.10 seconds
                Unit - Cause Caster to damage Target, dealing (100.00 x (Real((Level of Spell  for Caster)))) damage of attack type Spells and damage type Normal
                Special Effect - Create a special effect attached to the weapon of Dummy[(Integer A)] using Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
                Special Effect - Destroy (Last created special effect)
                Special Effect - Create a special effect attached to the overhead of Target using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
                Special Effect - Destroy (Last created special effect)
                Animation - Play Target's death animation
                Wait 0.10 seconds
                Unit - Remove Dummy[(Integer A)] from the game
                Special Effect - Create a special effect at (Position of Dummy[(Integer A)]) using Abilities\Spells\Orc\MirrorImage\MirrorImageDeathCaster.mdl
                Special Effect - Destroy (Last created special effect)
        Animation - Change Caster's animation speed to 100.00% of its original speed
        Wait 0.10 seconds
        Unit - Cause Caster to damage Target, dealing (100.00 x (Real((Level of Spell  for Caster)))) damage of attack type Spells and damage type Normal
        Special Effect - Create a special effect attached to the weapon of Caster using Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
        Special Effect - Destroy (Last created special effect)
        Special Effect - Create a special effect attached to the overhead of Target using Abilities\Spells\Human\HolyBolt\HolyBoltSpecialArt.mdl
        Special Effect - Destroy (Last created special effect)
        Animation - Play Target's death animation
        Selection - Select Caster for (Owner of Caster)
        Unit - Unpause Caster
        Unit - Unpause Target
Khi cast spell, sẽ move caster đến nơi target cách 150 phía 0 độ và hướng về phía 180 độ nghĩa là hướng target :D
Tiếp theo là phần create Dummy
For each (Integer A) from 1 to 3:
Create 1 Dummy cách target 150 phía ((Integer A) x 90), Có nghĩa là từ 1 đến 3 sẽ là 1x90 = 90, 2x90 = 180, 3x90 = 270, vậy là đủ 4 hướng :D
Set Dummy[Integer A] tương tự là Dummy[1], Dummy[2], Dummy[3] :)
Mệnh lệnh trong (Integer A) sẽ được thực hiện lập lại đủ 3 lần : 1, 2, 3
Mấy phần kia chắc chẳng có gì để nói ^^!
Spell 2
Name: BladeStorm ( lấy từ War :P )
Type: Point
Khi cast, Blademaster sẽ xoay kiếm tạo ra 1 vòi rồng lửa và move dần về hướng cast ( hơi giống Shock wave 1 chút :D )
Lv1: Mỗi xoáy deal 100 damage
Lv2: Mỗi xoáy deal 200 damage
Lv3: Mỗi xoáy deal 300 damage
Cách làm:
B1: Tạo 1 con Dummy hình Lốc xoáy lưa rồi add Loscut cho nó, có model import sẵn :D, (hoặc dùng tornado trong war rồi chỉnh cho nó hơi dỏ 1 tí cũng được :P)
B2: Tạo spell dạng target point, vd: shock wave,breath of fire, carrion swam,...
B3: Tạo vài Variables gồm caster và dumy
B4: Lập Trigger
Blade Storm
Mã:
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Bladestorm 
    Actions
        Set BladeStormCaster = (Casting unit)
        Set Point = (Target point of ability being cast)
        Unit - Pause BladeStormCaster
        Animation - Play BladeStormCaster's attack walk stand spin animation
        Unit - Create 1 TornadoDummy for (Owner of BladeStormCaster) at (Position of BladeStormCaster) facing Default building facing degrees
        Set Tornado = (Last created unit)
        Unit - Turn collision for BladeStormCaster Off
        Trigger - Turn on BladeStorm Move Caster <gen>
BladeStormMoveCaster ( để off sẵn )
Mã:
    Events
        Time - Every 0.10 seconds of game time
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Integer((Distance between (Position of BladeStormCaster) and Point))) Less than or equal to 80
            Then - Actions
                Unit - Unpause BladeStormCaster
                Animation - Reset BladeStormCaster's animation
                Unit - Kill Tornado
                Unit - Turn collision for BladeStormCaster On
                Custom script:   call RemoveLocation(udg_Point)
                Trigger - Turn off (This trigger)
            Else - Actions
                Unit - Move BladeStormCaster instantly to ((Position of BladeStormCaster) offset by 40.00 towards (Angle from (Position of BladeStormCaster) to Point) degrees)
                Unit - Move Tornado instantly to (Position of BladeStormCaster)
                Special Effect - Create a special effect at (Position of BladeStormCaster) using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
                Special Effect - Destroy (Last created special effect)
                Special Effect - Create a special effect at (Position of BladeStormCaster) using Objects\Spawnmodels\NightElf\NEDeathMedium\NEDeath.mdl
                Special Effect - Destroy (Last created special effect)
                Unit Group - Pick every unit in (Units within 180.00 of (Position of BladeStormCaster) matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of BladeStormCaster)) Equal to True)))) and do (Actions)
                    Loop - Actions
                        Unit - Cause BladeStormCaster to damage (Picked unit), dealing (100.00 x (Real((Level of Bladestorm  for BladeStormCaster)))) damage of attack type Spells and damage type Normal
2 Trigger này chắc cũng chẳng có gì để nói :D
Không biết giải thích có sai sót gì không, đành nhờ các pro sửa giùm >"<!
Hoàn tất spell của Blademaster :D, map đã attach ở dưới, các bạn down về xem b-), có thắc mắc gì xin hỏi :P
 

Attachments

Thank bạn pót nhiệt tình quá :D
Mà anh ducthai đâu nhỉ sao ko thấy ảnh pót ta .
 
Ai giúp làm 2 cái spell/abilities này với,đang cần
Cái đầu
Summon Guardian Sheep/Hotkey G
Effect
Tạo ra 1 con cừu thần(model flying sheep) có khả năng hồi máu cho đồng đội = healing wave
1 giây phóng healing wave 1 lần
Số máu heal đc nhờ healing wave = 50/75/100

Cái thứ 2
Summon Fenrir
Tác dụng:gọi Fenrir cho Fenrir nhảy vào kẻ thù(phải đúng là nhày đấy),target sẽ bị dính băng và ko thể move,đánh trong bao nhiu giây đúng theo stormbolt
Nhớ cho Damage Fenrir = Stormbolt thôi,đừng cao qá
P/s:cái thứ 1 đã xong rùi
 
Em hướng dẫn luôn cái Summon Guardian Sheep nha
Tác dụng:Tạo 1 con cừu thần,mỗi 1s nó sẽ phóng healing wave vào caster để hồi máu cho unit xung quanh
Các bước đầu
_Gán cho Unit Flying Sheep abilities Invulnerable và Locust
_Tạo ability mới với tên Summon Guardian Sheep base từ Summon Hawk
_Chỉnh duration của Summon Hawk thành 0.01(đừng chỉnh thành 0,0 là thành vĩnh viễn đấy)
(Chỉnh luôn hotkey thành G)
_Tạo abilities mới base từ Healing Wave,chỉnh thông số máu heal lv 1 là 50->75->100 thôi,đừng cao qá
_Tạo 2 variable với tên là GS và GS_Caster dạng unit

Đến bước TRigger
Tạo 1 trigger như sau với tên tùy bạn
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Summon Guardian Sheep
Actions
Set GS_Caster = (Casting unit)
Unit - Create 1 Flying Sheep for (Owner of GS_Caster) at (Position of GS_Caster) facing Default building facing degrees(tạo cừu bay)
Set GS = (Last created unit)
Unit - Add Healing Sheep to GS(Healing Sheep chính là tên ability Healing Wave vừa tạo,dòng này giúp add cho con cừu cái Healing Wave)
Unit - Set level of Healing Sheep for GS to (Level of Summon Guardian Sheep for GS_Caster)(Dòng này giúp chỉnh lv của abilities Healing Sheep theo lv của Summon Guardian Sheep)
Unit - Add a 5.00 second Generic expiration timer to GS(cho thời gian sống của cừu là 5s
Tạo 1 trigger nữa với tên tùy bạn
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(GS is alive) Equal to True(Dòng này có nghĩa là check GS(con cừu) vẫn còn sống hay ko)
Then - Actions
Unit - Order GS to Orc Shadow Hunter - Healing Wave GS_Caster(Ra lênh cho Gs(con cừu) cast Healing Wave
Else - Actions
Và bây giờ chiêm ngưỡng thành qả đi
GS.jpg
 

Attachments

Này, sao bạn không dùng Event: Unit-A Unit Summons A unit
Condition: Unit-Type of(Summoned Unit) equal to Sheep
Actions: Set GS = Summoned Unit
Adds 5.5 Second GểnicExparion Timer to GS
For Each Integer A form 1 to 5, do:
Order GS to Orc ShadowHunter-Healing Wave Random Unit IN( Units Within 500 Range of GS Matching(Matching Unit Belongs to An Ally of Owner of GS
Wait 1 second

Set GS = No unit
Như thế bạn sẽ chỉ tốn 1 trigger duy nhất
 
Sorry,tớ cũng gà mà
Nhưng cái trig của bạn có giúp cho con cừu này hồi máu mỗi s ko?
 
Mã:
For Each Integer A form 1 to 5, do:
Order GS to Orc ShadowHunter-Healing Wave Random Unit IN( Units Within 500 Range of GS Matching(Matching Unit Belongs to An Ally of Owner of GS
Wait 1 second


Vòng lặp này mim là 1, max là 5 > sẽ có 5 lần lặp đi lặp lại hành động:
Mã:
Order GS to Orc ShadowHunter-Healing Wave Random Unit IN( Units Within 500 Range of GS Matching(Matching Unit Belongs to An Ally of Owner of GS
Wait 1 second \\ Sau mỗi vòng lặp cách nhau 1s

Hoạt động tốt:|.
 
ò thì nên tạo 1 Group rùi set Group = Units Within 500 Range of GS Matching(Matching Unit Belongs to An Ally of Owner of GS ....

sau đó thì tương tự, nhớ DestroyGroup(), như vậy đỡ leak hơn
 
mọi người thử cái Rasengan mới làm này xem :)
thấy hoạt động cũng tốt , GUI/MUI .
Hình minh họa , hơi bị nặng :D
20081214_fbba21fcce071cbc54b6Szz4hl.gif
 
Giúp mình làm 1 spell càng mất máu thì càng tăng dam với. Cụ thể là +dam = 10/20/30/40% số máu bị mất, đồng thời 2 tay xuất hiện hiệu ứng
sdgsd.jpg
. Khi máu đầy thì 2s sau mới mới mất dam đc cộng.
 
Cách tính số máu bị mất: Lấy số máu full (toàn bộ số máu của unit) trừ cho số máu đang có
Tính phần trăm máu mất: (Lấy số trên nhân với 10/20/30/40) chia cho 100
P/S: đang ở trường nên chưa hướng dẫn đầy đủ được (trốn thầy + cô lên mạng đó)
 
Trốn học thế là ko tốt :). Nhưng mà có hướng dẫn đầy đủ thì tốt hơn =)).
 
Hùm, tớ không trốn học mà tớ đang trong phòng máy Vi tính của trường, lén lút lên mạng đó. Còn hướng dẫn đầy đủ thì đợi mình về nhà (trưa hoặc chiều nay)
 
Cho hỏi bạn 1 chút là nếu muốn % của chiêu Hidden Strength của bạn ko cố định là 30% mà tăng theo lvl thì bỏ dòng dưới thay = cái j à? Cụ thể chút nhé!
Mã:
If - Conditions
    (Random integer number between 1 and 100) Less than or equal to 30
(cho giá trị từ 1-100 random là 30%)
 
Bấm vào cái số 30 đó, chỉnh thành Arithmetic, chỉnh thông số đầu tiên là 5 và dấu là x, cái thứ hai là Unit - Level of Ability For Unit và chỉnh các thứ của nó. Như vậy, ability level 1 thì chance 5%, ability lv 2 thì chance 10%....
 
Ko đc bạn ơi, mình chỉnh thành (5 x (Unit - Level of Hiden Strength For Unit)) thì nó lại chẳng xuất hiện lần nào.
 
Cho hỏi skill Soul Preservation của hero MalGanis ( race Undead ) có cách nào chuyển sang skill đánh diện rộng như skill Blizzard ( race Human ) dc hem,có tác dụng với mọi unit trừ hero,building mà tác dụng của skill vẫn ko thay đổi hem ?___?
 
Status
Không mở trả lời sau này.
Back
Top