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.
a
Events
Unit - A unit Starts the effect of an ability
Conditions
(Level of MultiCast for (Triggering unit)) Greater than or equal to 1
Actions
Set TempLv = (Level of MultiCast for (Triggering unit))
Set TempLoc = (Position of (Triggering unit))
Set TempUnit = (Target unit of ability being cast)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
TempLv Equal to 1//MC có nhiêu lv thì có bây nhiêu cái iF này và có bây nhiêu skill đi kèm.
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Random integer number between 1 and 100) Less than or equal to 30//30% cơ hội multicast.
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Ability being cast) Equal to Firebolt (Warlock)
Then - Actions
For each (Integer A) from 1 to (TempLv + 1), do (Actions)
Loop - Actions
Unit - Create 1 Dummy Unit for (Owner of (Triggering unit)) at TempLoc facing Default building facing degrees
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
Unit - Add Firebolt (Neutral Hostile) to (Last created unit)
Unit - Set level of Firebolt (Neutral Hostile) for (Last created unit) to (Level of Firebolt (Warlock) for (Triggering unit))
Unit - Order (Last created unit) to Neutral - Firebolt TempUnit
Else - Actions
Else - Actions
Else - Actions
Custom script: call RemoveLocation(udg_TempLoc)

ai làm cho em 1 cái skils
20% xác xuất
ai đánh mình bị stun kẻ nó với![]()
spell này về effect và về bug thì dota hok bằng đcMấy anh chỉ em cách làm Omnislash chiêu cuối của Jungernault dc không.Chỉ kĩ giùm em nhé.

function Trig_Toss_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A004'
endfunction
function Toss_Unit_Group takes nothing returns boolean
if ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_ANCIENT) == true ) then
return false
endif
if IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) then
return false
elseif IsUnitType(GetFilterUnit(), UNIT_TYPE_FLYING) then
return false
elseif GetFilterUnit() == GetSpellAbilityUnit() then
return false
elseif IsUnitDeadBJ(GetFilterUnit()) then
return false
endif
return true
endfunction
function Toss_Destroy_Trees takes nothing returns nothing
call KillDestructable( GetEnumDestructable() )
endfunction
function TossFX takes nothing returns nothing
local effect f= bj_lastCreatedEffect
call TriggerSleepAction(0.4)
call DestroyEffect(f)
set f=null
endfunction
function Toss_Movement takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=GetHandleUnit(t,"t")
local real b=GetHandleReal(t,"r")
local real n=GetHandleReal(t,"n")
local real d=GetHandleReal(t,"d")
local location l=GetHandleLocation(t,"l")
local real x=-d+(d*(b/50))
local location m=PolarProjectionBJ(l,x,n)
local real y=((b-25)*(b-25))
call SetUnitPositionLoc(u,m)
call SetUnitFlyHeight( u, ( 775-y ) , 10000.00 )
if GetRandomInt(1,4)==2 then
call AddSpecialEffectTargetUnitBJ( "origin", u, "Abilities\\Spells\\Undead\\Cripple\\CrippleTarget.mdl" )
call TriggerExecute(gg_trg_DestroyFX)
endif
set b=b+1
call SetHandleReal(t,"r",b)
set t=null
set u=null
set b=0
set n=0
set d=0
set l=null
set x=0
call RemoveLocation(m)
set m=null
set y=0
endfunction
function Trig_Toss_Actions takes nothing returns nothing
local group g=CreateGroup()
local unit c=GetTriggerUnit()
local unit a=null
local location l=GetSpellTargetLoc()
local timer t=null
local real b=1
local real d=0
local real n=0
call GroupEnumUnitsInRange(g,GetUnitX(c),GetUnitY(c),275,Condition(function Toss_Unit_Group))
set a=GroupPickRandomUnit(g)
call GroupClear(g)
if a!=null then
call SetUnitAnimationByIndex(c,4)
call PauseUnitBJ( true, a )
call SetUnitPathing( a, false )
call SetUnitFacingToFaceLocTimed( a, l, 0 )
call UnitAddAbilityBJ( 'A002', a )
call UnitRemoveAbilityBJ( 'A002', a )
set t=CreateTimer()
call SetHandleHandle(t,"t",a)
call SetHandleReal(t,"r",b)
set d = DistanceBetweenPoints(GetUnitLoc(c), l)
set n= AngleBetweenPoints(GetUnitLoc(c), l)
call SetHandleReal(t,"d",d)
call SetHandleReal(t,"n",n)
call SetHandleHandle(t,"l",l)
call TimerStart(t,0.02,true,function Toss_Movement)
call TriggerSleepAction(1.0)
call RemoveLocation(l)
set l=GetHandleLocation(t,"l")
call RemoveLocation(l)
call FlushHandleLocals(t)
call PauseTimer(t)
call DestroyTimer(t)
call SetUnitFlyHeightBJ( a, GetUnitDefaultFlyHeight(a), 10000.00 )
call PauseUnitBJ( false, a )
call SetUnitPathing( a, true )
set l=GetUnitLoc(a)
call DestroyEffect(AddSpellEffectByIdLoc('A0BZ', EFFECT_TYPE_TARGET, l))
call TerrainDeformationRippleBJ( 0.2, true, l, 1.00, 300.00, 96.00, 1, 64.00 )
call UnitDamageTargetBJ( c, a, 38.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION )
set g = GetUnitsInRangeOfLocAll(300.00, l)
loop
set a = FirstOfGroup(g)
exitwhen a == null
call GroupRemoveUnit(g,a)
call UnitDamageTargetBJ( c, a, 75.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION )
endloop
call EnumDestructablesInCircleBJ( 300,l , function Toss_Destroy_Trees )
call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl",GetLocationX(l),GetLocationY(l)))
endif
call DestroyGroup(g)
set g=null
set c=null
set a=null
call RemoveLocation(l)
set l=null
set t=null
set b=0
set n=0
set d=0
endfunction
//===========================================================================
function InitTrig_Toss takes nothing returns nothing
set gg_trg_Toss = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Toss, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Toss, Condition( function Trig_Toss_Conditions ) )
call TriggerAddAction( gg_trg_Toss, function Trig_Toss_Actions )
endfunction
Ngôn ngữ WE là ngôn ngữ ????Đây là skill Toss của tiny trong dota mà em kiếm được từ map demo:
Nhưng nó lại sử dụng ngôn ngữ Jass. Em chịu. Vậy liệu có thể dịch nó sang ngôn ngữ trong WE không? Nếu có thể thì dịch giúp em nha. Thank trước.:PMã:function Trig_Toss_Conditions takes nothing returns boolean return GetSpellAbilityId() == 'A004' endfunction function Toss_Unit_Group takes nothing returns boolean if ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_ANCIENT) == true ) then return false endif if IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) then return false elseif IsUnitType(GetFilterUnit(), UNIT_TYPE_FLYING) then return false elseif GetFilterUnit() == GetSpellAbilityUnit() then return false elseif IsUnitDeadBJ(GetFilterUnit()) then return false endif return true endfunction function Toss_Destroy_Trees takes nothing returns nothing call KillDestructable( GetEnumDestructable() ) endfunction function TossFX takes nothing returns nothing local effect f= bj_lastCreatedEffect call TriggerSleepAction(0.4) call DestroyEffect(f) set f=null endfunction function Toss_Movement takes nothing returns nothing local timer t=GetExpiredTimer() local unit u=GetHandleUnit(t,"t") local real b=GetHandleReal(t,"r") local real n=GetHandleReal(t,"n") local real d=GetHandleReal(t,"d") local location l=GetHandleLocation(t,"l") local real x=-d+(d*(b/50)) local location m=PolarProjectionBJ(l,x,n) local real y=((b-25)*(b-25)) call SetUnitPositionLoc(u,m) call SetUnitFlyHeight( u, ( 775-y ) , 10000.00 ) if GetRandomInt(1,4)==2 then call AddSpecialEffectTargetUnitBJ( "origin", u, "Abilities\\Spells\\Undead\\Cripple\\CrippleTarget.mdl" ) call TriggerExecute(gg_trg_DestroyFX) endif set b=b+1 call SetHandleReal(t,"r",b) set t=null set u=null set b=0 set n=0 set d=0 set l=null set x=0 call RemoveLocation(m) set m=null set y=0 endfunction function Trig_Toss_Actions takes nothing returns nothing local group g=CreateGroup() local unit c=GetTriggerUnit() local unit a=null local location l=GetSpellTargetLoc() local timer t=null local real b=1 local real d=0 local real n=0 call GroupEnumUnitsInRange(g,GetUnitX(c),GetUnitY(c),275,Condition(function Toss_Unit_Group)) set a=GroupPickRandomUnit(g) call GroupClear(g) if a!=null then call SetUnitAnimationByIndex(c,4) call PauseUnitBJ( true, a ) call SetUnitPathing( a, false ) call SetUnitFacingToFaceLocTimed( a, l, 0 ) call UnitAddAbilityBJ( 'A002', a ) call UnitRemoveAbilityBJ( 'A002', a ) set t=CreateTimer() call SetHandleHandle(t,"t",a) call SetHandleReal(t,"r",b) set d = DistanceBetweenPoints(GetUnitLoc(c), l) set n= AngleBetweenPoints(GetUnitLoc(c), l) call SetHandleReal(t,"d",d) call SetHandleReal(t,"n",n) call SetHandleHandle(t,"l",l) call TimerStart(t,0.02,true,function Toss_Movement) call TriggerSleepAction(1.0) call RemoveLocation(l) set l=GetHandleLocation(t,"l") call RemoveLocation(l) call FlushHandleLocals(t) call PauseTimer(t) call DestroyTimer(t) call SetUnitFlyHeightBJ( a, GetUnitDefaultFlyHeight(a), 10000.00 ) call PauseUnitBJ( false, a ) call SetUnitPathing( a, true ) set l=GetUnitLoc(a) call DestroyEffect(AddSpellEffectByIdLoc('A0BZ', EFFECT_TYPE_TARGET, l)) call TerrainDeformationRippleBJ( 0.2, true, l, 1.00, 300.00, 96.00, 1, 64.00 ) call UnitDamageTargetBJ( c, a, 38.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION ) set g = GetUnitsInRangeOfLocAll(300.00, l) loop set a = FirstOfGroup(g) exitwhen a == null call GroupRemoveUnit(g,a) call UnitDamageTargetBJ( c, a, 75.00 * I2R(GetUnitAbilityLevelSwapped('A004', c)) , ATTACK_TYPE_NORMAL, DAMAGE_TYPE_DEMOLITION ) endloop call EnumDestructablesInCircleBJ( 300,l , function Toss_Destroy_Trees ) call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl",GetLocationX(l),GetLocationY(l))) endif call DestroyGroup(g) set g=null set c=null set a=null call RemoveLocation(l) set l=null set t=null set b=0 set n=0 set d=0 endfunction //=========================================================================== function InitTrig_Toss takes nothing returns nothing set gg_trg_Toss = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_Toss, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_Toss, Condition( function Trig_Toss_Conditions ) ) call TriggerAddAction( gg_trg_Toss, function Trig_Toss_Actions ) endfunction
Các anh hướng dẫn em làm mấy cái passive aura thành active được không ?