Topic hỏi đáp về cách làm map | version 14

Status
Không mở trả lời sau này.
Mình hỏi trigger này có lỗi hay nên sửa gì không vậy ? Với lại vì sao mình destroy trigger thì nó không chạy ?
Mã:
function Add_charge_cond takes nothing returns boolean
    return GetItemType(GetManipulatedItem()) == ITEM_TYPE_CHARGED
endfunction

function check_Item_in_loop takes item x, item y returns boolean
    return ( x != y ) and ( GetItemTypeId(x) == GetItemTypeId(y) ) 
endfunction

function Trig_Add_charge_Actions takes nothing returns nothing
    local unit owner = GetManipulatingUnit()
    local item x = GetManipulatedItem()
    local item y
    local integer i = 0
    local integer b
    local boolean h = false
    loop
        exitwhen (i > 5) or (h == true)
        set y = UnitItemInSlot(owner,i)
        if ( check_Item_in_loop(x,y) ) then
            if (GetItemCharges(y) != 99 ) then
                set b = ( GetItemCharges(x) + GetItemCharges(y) )
                if ( b <= 99 ) then
                    call SetItemCharges( y, b )
                    call RemoveItem(x)
                else
                    call UnitRemoveItem( owner, x )
                    call SetItemCharges( x, b-99 )
                    call SetItemCharges( y, 99 )
                endif
            else
                call UnitRemoveItem( owner, x )
            endif
        set h = true
        endif
        set i = i + 1
    endloop
    set x = null
    set y = null
    set owner = null
endfunction

//===========================================================================
function InitTrig_Add_charge takes nothing returns nothing
    local trigger t
    set t = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerAddCondition( t, Condition( function Add_charge_cond ) )
    call TriggerAddAction( t, function Trig_Add_charge_Actions )
//    call DestroyTrigger(t)
//    set t = null
endfunction
 
Mình hỏi trigger này có lỗi hay nên sửa gì không vậy ? Với lại vì sao mình destroy trigger thì nó không chạy ?
Mã:
function Add_charge_cond takes nothing returns boolean
    return GetItemType(GetManipulatedItem()) == ITEM_TYPE_CHARGED
endfunction

function check_Item_in_loop takes item x, item y returns boolean
    return ( x != y ) and ( GetItemTypeId(x) == GetItemTypeId(y) ) 
endfunction

function Trig_Add_charge_Actions takes nothing returns nothing
    local unit owner = GetManipulatingUnit()
    local item x = GetManipulatedItem()
    local item y
    local integer i = 0
    local integer b
    local boolean h = false
    loop
        exitwhen (i > 5) or (h == true)
        set y = UnitItemInSlot(owner,i)
        if ( check_Item_in_loop(x,y) ) then
            if (GetItemCharges(y) != 99 ) then
                set b = ( GetItemCharges(x) + GetItemCharges(y) )
                if ( b <= 99 ) then
                    call SetItemCharges( y, b )
                    call RemoveItem(x)
                else
                    call UnitRemoveItem( owner, x )
                    call SetItemCharges( x, b-99 )
                    call SetItemCharges( y, 99 )
                endif
            else
                call UnitRemoveItem( owner, x )
            endif
        set h = true
        endif
        set i = i + 1
    endloop
    set x = null
    set y = null
    set owner = null
endfunction

//===========================================================================
function InitTrig_Add_charge takes nothing returns nothing
    local trigger t
    set t = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( t, EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerAddCondition( t, Condition( function Add_charge_cond ) )
    call TriggerAddAction( t, function Trig_Add_charge_Actions )
//    call DestroyTrigger(t)
//    set t = null
endfunction

Destroy rồi thì tất nhiên trigger k chạy được nữa vì đâu còn cái trigger đó nữa. Như kiểu cậu Disable trigger trong GUI ấy :)).
Tự test xem có lỗi không đi. Chả ai rảnh xem dùm đâu :)).
 
Cám ơn bạn :) vì mình lấy của người khác nên ko rành lắm
 
Quote lại, ai giúp dùm, mình cần GUI :| Jass bó tay :D

Hiện tượng này là do không sử lí kĩ các biến, khiến chúng đè lên nhau đặc biệt là các biến của dummy, hoặc một số lí đo khiến trigger bị tắt, không thực hiện nữa.
Tham khảo spell này. Có đầy đủ MUI, slide, dummy.
 
[spoil]
Mã:
function SoulWaveCon takes nothing returns boolean
    return GetSpellAbilityId() == 'A0A4'
endfunction

function SoulWaveAct takes nothing returns nothing
    local unit cas = GetTriggerUnit()
    local location casloc = GetUnitLoc(cas)
    local location tarloc = GetSpellTargetLoc()
    local integer lvl = GetUnitAbilityLevel(cas,'A0A4')
    local real dis = DistanceBetweenPoints(casloc,tarloc)
    local integer point = R2I(dis/250)
    local real angle = AngleBetweenPoints(casloc,tarloc)
    local location dumpoint
    local unit dummy
    if point < 1 then 
    set point = 1
    else
    endif
    
    set bj_forLoopAIndex = 1
    set bj_forLoopAIndexEnd = point
    loop
        exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
        set dumpoint = PolarProjectionBJ(casloc,I2R(bj_forLoopAIndex*250),angle)
        call CreateUnitAtLoc(GetOwningPlayer(cas),'h01A',dumpoint,0.00)
        set dummy = GetLastCreatedUnit()
        call UnitApplyTimedLife(dummy,'BTLF',1.0)
        call UnitAddAbility(dummy,'A0A3')
        call SetUnitAbilityLevel(dummy,'A0A3',lvl)
        call IssueImmediateOrder( dummy,"howlofterror")
        call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Other\\HowlOfTerror\\HowlCaster.mdl",GetLocationX(dumpoint),GetLocationY(dumpoint)))
        set dummy = null
        call RemoveLocation(dumpoint)
        set dumpoint = null
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
    endloop
    call RemoveLocation(casloc)
    call RemoveLocation(tarloc)
    set casloc = null
    set tarloc = null
    set cas = null
endfunction

//===========================================================================
function InitTrig_Soul_Wave takes nothing returns nothing
    local trigger SoulWave = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( SoulWave, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( SoulWave, Condition( function SoulWaveCon ) )
    call TriggerAddAction( SoulWave, function SoulWaveAct )
endfunction
[/spoil]
Hỏi trigger này, tại s xài nh` lần liên tục k hiểu s đôi khi caster tự động có expire timer và die :| .............. 2 nữa là cho dummy cast howl of terror k dc, k thấy - armor và - damg :((.
 
GetLastCreatedUnit() không lấy được unit được tạo ra bởi CreateUnitAtLoc

Mã:
call CreateUnitAtLoc(GetOwningPlayer(cas),'h01A',dumpoint,0.00)
set dummy = GetLastCreatedUnit()

phải là:

Mã:
set dummy = CreateUnitAtLoc(GetOwningPlayer(cas),'h01A',dumpoint,0.00)

do biến dummy chứa "last created unit" nào đó chứ không chứa unit 'h01A' nên mấy spell ko cast, sửa lại như trên là đc
 
...xin cho tại hạ hỏi là có cách nào "un-learn" cái upgrade tăng range không...,disable, hay là giảm level của nó cũng được :-ss (đang đau đầu với vụ này :-s)
 
...xin cho tại hạ hỏi là có cách nào "un-learn" cái upgrade tăng range không...,disable, hay là giảm level của nó cũng được :-ss (đang đau đầu với vụ này :-s)

Tạo hai cái Upgrades,một cái với số Dương,một cái với số Âm có giá trị tương đương. Khi cần thì un-learn thì set cái Upgrades Âm +1. Sau đó set Player - Set the current research level of của hai cái đó về 0 để lần sau vẫn có thể upgrades mà không sợ max level
 
Chỉnh sửa cuối:
Mã:
UnitTakeDamage
    Events
    Conditions
    Actions
        Trigger - Turn off (This trigger)
        -------- Setup Variables --------
        Set UnitTakeDamage = (Triggering unit)
        Set UnitDamageSource = (Damage source)
        Set UnitTakeDamageReal = (Damage taken)
        -------- Setup Integer --------
        Set SnakeDamageInt = (Level of Charge (Snake Aes) for UnitDamageSource)
        Set MummrahTakeDamageInt = (Level of Charge (Rah) for (Triggering unit))
        -------- Main Trigger --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                SnakeDamageInt Greater than 0
                (UnitTakeDamage has buff Mana Attack (Non-stacking)) Equal to True
            Then - Actions
                Unit - Remove Mana Attack (Non-stacking) buff from UnitTakeDamage
                Unit - Set mana of UnitDamageSource to ((Mana of UnitDamageSource) + (2.00 + (0.10 x UnitTakeDamageReal)))
                Floating Text - Create floating text that reads ((|cffd4d0c8 + + ((String((2 + (Integer((0.10 x UnitTakeDamageReal)))))) + Mana)) + |r) above UnitDamageSource with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                Floating Text - Change (Last created floating text): Disable permanence
                Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
                Special Effect - Create a special effect attached to the chest of UnitDamageSource using Abilities\Spells\Items\AIma\AImaTarget.mdl
                Special Effect - Destroy (Last created special effect)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                MummrahTakeDamageInt Greater than 0
                (UnitTakeDamage has buff Charge (Rah)) Equal to True
            Then - Actions
                Unit - Set mana of UnitTakeDamage to ((Mana of (Triggering unit)) + (0.15 x UnitTakeDamageReal))
                Floating Text - Create floating text that reads ((|cffd4d0c8 + + ((String((Integer((5.00 + (0.15 x UnitTakeDamageReal)))))) + Mana)) + |r) above UnitTakeDamage with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                Floating Text - Change (Last created floating text): Disable permanence
                Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
                Special Effect - Create a special effect attached to the chest of UnitTakeDamage using Abilities\Spells\Items\AIma\AImaTarget.mdl
                Special Effect - Destroy (Last created special effect)
            Else - Actions
        -------- Turn On trigger --------
        Trigger - Turn on (This trigger)

mọi người cho hỏi tại sao cái đoạn mana attack lại ko hồi mana nhỉ @@, đoạn thứ 2 thì ok ko có vấn đề gì... (nếu ra là do buff thì em bó tay, làm y hệt tut của anh tom mà ...)
 
...xin cho tại hạ hỏi là có cách nào "un-learn" cái upgrade tăng range không...,disable, hay là giảm level của nó cũng được :-ss (đang đau đầu với vụ này :-s)

không =)

Tạo hai cái Upgrades,một cái với số Dương,một cái với số Âm có giá trị tương đương. Khi cần thì un-learn thì set cái Upgrades Âm +1. Sau đó set Player - Set the current research level of của hai cái đó về 0 để lần sau vẫn có thể upgrades mà không sợ max level

set current research level được thì nói làm gì =))

Mã:
UnitTakeDamage
    Events
    Conditions
    Actions
        Trigger - Turn off (This trigger)
        -------- Setup Variables --------
        Set UnitTakeDamage = (Triggering unit)
        Set UnitDamageSource = (Damage source)
        Set UnitTakeDamageReal = (Damage taken)
        -------- Setup Integer --------
        Set SnakeDamageInt = (Level of Charge (Snake Aes) for UnitDamageSource)
        Set MummrahTakeDamageInt = (Level of Charge (Rah) for (Triggering unit))
        -------- Main Trigger --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                SnakeDamageInt Greater than 0
                (UnitTakeDamage has buff Mana Attack (Non-stacking)) Equal to True
            Then - Actions
                Unit - Remove Mana Attack (Non-stacking) buff from UnitTakeDamage
                Unit - Set mana of UnitDamageSource to ((Mana of UnitDamageSource) + (2.00 + (0.10 x UnitTakeDamageReal)))
                Floating Text - Create floating text that reads ((|cffd4d0c8 + + ((String((2 + (Integer((0.10 x UnitTakeDamageReal)))))) + Mana)) + |r) above UnitDamageSource with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                Floating Text - Change (Last created floating text): Disable permanence
                Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
                Special Effect - Create a special effect attached to the chest of UnitDamageSource using Abilities\Spells\Items\AIma\AImaTarget.mdl
                Special Effect - Destroy (Last created special effect)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                MummrahTakeDamageInt Greater than 0
                (UnitTakeDamage has buff Charge (Rah)) Equal to True
            Then - Actions
                Unit - Set mana of UnitTakeDamage to ((Mana of (Triggering unit)) + (0.15 x UnitTakeDamageReal))
                Floating Text - Create floating text that reads ((|cffd4d0c8 + + ((String((Integer((5.00 + (0.15 x UnitTakeDamageReal)))))) + Mana)) + |r) above UnitTakeDamage with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                Floating Text - Change (Last created floating text): Disable permanence
                Floating Text - Change the lifespan of (Last created floating text) to 1.50 seconds
                Special Effect - Create a special effect attached to the chest of UnitTakeDamage using Abilities\Spells\Items\AIma\AImaTarget.mdl
                Special Effect - Destroy (Last created special effect)
            Else - Actions
        -------- Turn On trigger --------
        Trigger - Turn on (This trigger)

mọi người cho hỏi tại sao cái đoạn mana attack lại ko hồi mana nhỉ @@, đoạn thứ 2 thì ok ko có vấn đề gì... (nếu ra là do buff thì em bó tay, làm y hệt tut của anh tom mà ...)

vẫn phân biệt "stacking" và "non-stacking" ? cái "poison" đòi 3 slot buff thì để cả 3 slot là một custom buff cho dễ, đỡ phải phân biệt?
 
Chỉnh sửa cuối:
giúp mình cái này với,

Trigger 1:
Mã:
    Events
        Unit - A unit Dies
    Conditions
        ((Triggering unit) is A Hero) Equal to True
        ((Owner of (Triggering unit)) is an enemy of Player 7 (Green)) Equal to False
    Actions
        Countdown Timer - Start DeadTimer[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in 10 seconds
        Trigger - Add to Triiger 2 <gen> the event (Time - (Last started timer) expires)

vậy ở Trigger 2 làm sao để biết DeadTimer số mấy?

mình làm cái hồi sinh hero đó có đúng ko? ai có cách hay hơn chỉ với
 
không =)



set current research level được thì nói làm gì =))



vẫn phân biệt "stacking" và "non-stacking" ? cái "poison" đòi 3 slot buff thì để cả 3 slot là một custom buff cho dễ, đỡ phải phân biệt?

Vậy thì chỉ có cách dùng cái upgrades với giá trị âm để giảm giá trị cái kia thôi vậy :(

giúp mình cái này với,

Trigger 1:
Mã:
    Events
        Unit - A unit Dies
    Conditions
        ((Triggering unit) is A Hero) Equal to True
        ((Owner of (Triggering unit)) is an enemy of Player 7 (Green)) Equal to False
    Actions
        Countdown Timer - Start DeadTimer[(Player number of (Owner of (Triggering unit)))] as a One-shot timer that will expire in 10 seconds
        Trigger - Add to Triiger 2 <gen> the event (Time - (Last started timer) expires)

vậy ở Trigger 2 làm sao để biết DeadTimer số mấy?

mình làm cái hồi sinh hero đó có đúng ko? ai có cách hay hơn chỉ với

Mã:
For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Set TempInt = (Integer A)
                Custom script:   set udg_TempCheck = (GetExpiredTimer() == udg_ReviveTimer[udg_TempInt])
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        TempCheck Equal to True
                    Then - Actions // thao tác ở đây
 
Chỉnh sửa cuối:
các bạn ơi nảy mình vừa làm xong spell vào map test thấy nó ko cooldown khi sử dụng khi bật worldeditor coi lại thì thấy có để cooldown là 20 nhưng khi vào game lại nó vẫn ko cooldown
=> sử dụng liên tục => lag
mọi người ai biết cách fix chỉ giúp mình với
 
Vậy thì chỉ có cách dùng cái upgrades với giá trị âm để giảm giá trị cái kia thôi vậy :(

Không ổn đâu bạn à, nếu như bạn nói thì nó chỉ tăng-giảm được đúng một lần, còn nếu nhiều hơn thì phải đòi hỏi cả trăm cái upgrades... X_X
...mình định làm một skill khi active sẽ tăng range 1 lúc, sau đó thì trở lại như cũ...(lúc đầu định dùng mấy skill transform có sẵn mà nó lại gây bug #-o)

các bạn ơi nảy mình vừa làm xong spell vào map test thấy nó ko cooldown khi sử dụng khi bật worldeditor coi lại thì thấy có để cooldown là 20 nhưng khi vào game lại nó vẫn ko cooldown
=> sử dụng liên tục => lag
mọi người ai biết cách fix chỉ giúp mình với

Copy hay cho cái hình lên đi bạn, nói suông thế ai mà giúp được :-"
 
Không ổn đâu bạn à, nếu như bạn nói thì nó chỉ tăng-giảm được đúng một lần, còn nếu nhiều hơn thì phải đòi hỏi cả trăm cái upgrades... X_X
...mình định làm một skill khi active sẽ tăng range 1 lúc, sau đó thì trở lại như cũ...(lúc đầu định dùng mấy skill transform có sẵn mà nó lại gây bug #-o)



Copy hay cho cái hình lên đi bạn, nói suông thế ai mà giúp được :-"

Magma Hand
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Magma Hand
Actions
Set Caster = (Casting unit)
Set Target = (Target unit of ability being cast)
Special Effect - Create a special effect attached to the origin of Caster using Flame Aura.mdx
Unit - Move Caster instantly to (Position of Target)
Special Effect - Destroy (Last created special effect)
Unit Group - Pick every unit in (Units within 800.00 of (Position of Caster)) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is alive) Equal to True
((Picked unit) belongs to an enemy of (Owner of Caster)) Equal to True
Then - Actions
Special Effect - Create a special effect at (Position of (Picked unit)) using NuclearExplosion.mdx
Unit - Cause Caster to damage (Picked unit), dealing (((Real((Level of Magma Hand for (Casting unit)))) x 100.00) + ((Real((Strength of (Casting unit) (Include bonuses)))) x 40.00)) damage of attack type Spells and damage type Normal
Else - Actions
bạn xem thử
 
Magma Hand
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Magma Hand
Actions
Set Caster = (Casting unit)
Set Target = (Target unit of ability being cast)
Special Effect - Create a special effect attached to the origin of Caster using Flame Aura.mdx
Unit - Move Caster instantly to (Position of Target)
Special Effect - Destroy (Last created special effect)
Unit Group - Pick every unit in (Units within 800.00 of (Position of Caster)) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is alive) Equal to True
((Picked unit) belongs to an enemy of (Owner of Caster)) Equal to True
Then - Actions
Special Effect - Create a special effect at (Position of (Picked unit)) using NuclearExplosion.mdx
Unit - Cause Caster to damage (Picked unit), dealing (((Real((Level of Magma Hand for (Casting unit)))) x 100.00) + ((Real((Strength of (Casting unit) (Include bonuses)))) x 40.00)) damage of attack type Spells and damage type Normal
Else - Actions
bạn xem thử

Leak nhiều. Một số spell ngay lập tức move instantly caster thì sẽ không cd,bạn thử wait sau đó move sẽ ko bị
 
cho hỏi ko set TempUnit = Triggering Unit mà để Triggering Unit lun có đc ko ? vd Unit - move Triggering unit to ....
 
^ được

...xin cho tại hạ hỏi là có cách nào "un-learn" cái upgrade tăng range không...,disable, hay là giảm level của nó cũng được :-ss (đang đau đầu với vụ này :-s)

BonusMod có bonus sight range đấy. Có thể tăng giảm tùy ý.
Base từ Ability Item Sight Range Bonus
 
Magma Hand
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Magma Hand
Actions
Set Caster = (Casting unit)
Set Target = (Target unit of ability being cast)
Special Effect - Create a special effect attached to the origin of Caster using Flame Aura.mdx
Unit - Move Caster instantly to (Position of Target)
Special Effect - Destroy (Last created special effect)
Unit Group - Pick every unit in (Units within 800.00 of (Position of Caster)) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked unit) is alive) Equal to True
((Picked unit) belongs to an enemy of (Owner of Caster)) Equal to True
Then - Actions
Special Effect - Create a special effect at (Position of (Picked unit)) using NuclearExplosion.mdx
Unit - Cause Caster to damage (Picked unit), dealing (((Real((Level of Magma Hand for (Casting unit)))) x 100.00) + ((Real((Strength of (Casting unit) (Include bonuses)))) x 40.00)) damage of attack type Spells and damage type Normal
Else - Actions
bạn xem thử

bạn k set point nên nó gây nh` leak, sử dụng Ability mà có move instant nên nó sẽ k CD ( trừ khi làm Loop thì sẽ CD như bt )...........
để tránh Leak, bạn có thể import đoạn custom script trên vào đầu trigger action:
Mã:
local real xtar
local real ytar
và đoạn sau vào dưới Set Caster = Triggering Unit :
Mã:
set xtar = GetUnitX(udg_Target)
set ytar = GetUnitY(udg_Target)
call SetUnitX(udg_Caster,xtar)
call SetUnitY(udg_Caster,ytar)
nếu sử dụng như trên thì pạn khỏi fải Remove Leak từ Location nữa, chỉ cần Destroy Group là sẽ hết leak và k lag :)
 
^ Attack Range đâu có mod đc.
...............................
[spoil]
Mã:
Magma Hand
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Magma Hand 
    Actions
        Set Caster = (Casting unit)
        Set Target = (Target unit of ability being cast)
        Special Effect - Create a special effect attached to the origin of Caster using Flame Aura.mdx
        Special Effect - Destroy (Last created special effect)
        Set TempLoc = (Position of Target)
        Wait 0.00 seconds
        Unit - Move Caster instantly to TempLoc
        Set TempGroup = Units within 800.00 of TempLoc
        Customscript call RemoveLocation( udg_TempLoc )
        Unit Group - Pick every unit in TempGroup and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Picked unit) is alive) Equal to True
                        ((Picked unit) belongs to an enemy of (Owner of Caster)) Equal to True
                    Then - Actions
                        Set TempLoc = Position of (Picked Unit)
                        Special Effect - Create a special effect at (Position of (Picked unit)) using NuclearExplosion.mdx
                        Special Effect - Destroy (Last created special effect)
                        Customscript call RemoveLocation( udg_TempLoc )
                        Unit - Cause Caster to damage (Picked unit), dealing (((Real((Level of Magma Hand  for (Casting unit)))) x 100.00) + ((Real((Strength of (Casting unit) (Include bonuses)))) x 40.00)) damage of attack type Spells and damage type Magic
                    Else - Actions
        Customscript call DestroyGroup( udg_TempGroup )
[/spoil]
 
Status
Không mở trả lời sau này.
Back
Top