Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.


Quote lại^
làm thế nào để thay đổi Turn rate của unit bằng trigger

scope FrozenShards initializer init
globals
private constant real Start_Damage = 60
private constant real End_Damage = 75
private constant real Percent_Damage = 90//%
private constant integer Type_Damage = 3 //int
private constant string Effect_Casting = "Wizard\\FrozenShardsEffect.mdx"
private constant string Attach_Casting = "right hand"
endglobals
private function c takes nothing returns boolean
return GetSpellAbilityId() == 'A013'
endfunction
private struct cache
unit caster
real damage
real x
real y
real au
integer combo
effect CastingEffect
endstruct
private function data takes nothing returns boolean
local trigger t = GetTriggeringTrigger()
local integer hand = GetHandleId(t)
local cache this = LoadInteger(Hashtable, hand, (898))
set this.combo = this.combo + 1
call FrozenShards.create(this.caster, GetDamagePercent(this.caster, Start_Damage, End_Damage, Percent_Damage, Type_Damage), GetCrit(this.caster), this.x, this.y, 1000, this.au).startPeriodic()
if (GetUnitCurrentOrder(this.caster)!=OrderId(WIZARD_E_FROZEN_SPEAR)) or this.combo==8 then
call DisableTrigger(t)
call DestroyTrigger(t)
call FlushChildHashtable(Hashtable, hand)
call DestroyEffect(this.CastingEffect)
set this.caster = null
set this.CastingEffect = null
set this.damage = 0
call this.destroy()
set t = null
return false
endif
set t = null
return false
endfunction
private function f takes nothing returns nothing
local cache this = cache.create()
local trigger t = CreateTrigger()
local unit u = GetTriggerUnit()
local real r = MakeCastingSpeed(u, 0.15)
call SaveInteger(Hashtable, GetHandleId(t), (898), this)
call TriggerRegisterTimerEvent(t, r, true)
call TriggerAddCondition(t, Condition(function data))
set this.combo = 0
set this.caster = u
set this.x = GetSpellTargetX()
set this.y = GetSpellTargetY()
set r = r * 8
set this.au = MakeAccuracy(u, 80.)
call SetFastAnimation(this.caster, 150)
set this.CastingEffect = AddSpecialEffect("Wizard\\WizardCastingEffectWatery.mdx", GetUnitX(u), GetUnitY(u))
call PlaySoundEx(u, "Abilities\\Spells\\Other\\BreathOfFrost\\BreathOfFrost1.wav")
call Castingbar(u, WIZARD_E_FROZEN_SPEAR, r, 1, 170.00, Effect_Casting, Attach_Casting)
call SetUnitAnimation(this.caster, "Spell")
set u = null
endfunction
//===========================================================================
private function init takes nothing returns nothing
local trigger a = CreateTrigger( )
call AddEvent( a, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( a, Condition( function c ) )
call TriggerAddAction( a, function f )
set a = null
endfunction
endscope

@Val.N: Ờ, đây, chi tiết nè: (chứng tỏ là bạn newbie ^^, nhưng ko sao cả)
-Condition: Phần Interger Comparison > mục unit
Level ability của unit đó. Chọn skill Thunder Clap New for Attacked Unit mà Greater than or equal to (Lớn hơn hoặc bằng) 1
-Action: Ko thể bắt chính xác unit thực hiện skill nào đâu bạn ạ. Chỉ bắt nó thực hiện cái skill base của skill đó thôi. Tức là cái skill gốc đấy mà..
Ở đây thì ta vào mục Unit > Issue Order with no target (Ko có mục tiêu vì skill giận đất mà)
Cho attacked unit thực hiện skill base của Thunder Clap New , tức là "Human Mountain King Thunder Clap"
Xong.
Test thử ^^
