K
K3NNY
Guest
Does anyone know how to make the ability ominislash similar to the one in Dota? i am trying a new map with everyone using omnislash
Credits to him aswelllh2705 said:Code:// Map deprotected by DimonT, NETRAT and TheBloodiest // [url]http://dimon.xgm.ru/opendota/[/url] // Visit our modmaking community at [url]http://xgm.ru/[/url] // A0M1 = Omnislash function Trig_Juggernaut_Spell_Omnislash_Conditions takes nothing returns boolean if(GetSpellAbilityId()=='A0M1')then return true endif return false endfunction // Nbbc = Blademaster function LELE takes nothing returns boolean if(GetUnitTypeId(GetTriggerUnit())=='Nbbc')then return true endif return false endfunction function LfLf takes nothing returns nothing call SelectUnitRemoveForPlayer(GetTriggerUnit(),GetOwningPlayer(GetTriggerUnit())) endfunction function LFLF takes unit Lgg,unit Haa returns nothing local location KCC=GetUnitLoc(Haa) local location LGG=GetUnitLoc(Lgg) local location fww=PolarProjectionBJ(KCC,50,GetRandomReal(0,360)) local effect fxx call SetUnitPositionLocFacingBJ(Lgg,fww,AngleBetweenPoints(LGG,KCC)) call SetUnitAnimation(Lgg,"Attack") call UnitDamageTargetBJ(Lgg,Haa,GetRandomReal(150,250),ATTACK_TYPE_HERO,DAMAGE_TYPE_NORMAL) set fxx=AddSpecialEffectTargetUnitBJ("chest",Lgg,"Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl") call RemoveLocation(KCC) call RemoveLocation(LGG) call RemoveLocation(fww) call DestroyEffect(fxx) endfunction // o003 = Spin Web // e00C = Stop looking at me swan!! // A04R = Marker function LhLh takes nothing returns boolean if(GetUnitTypeId(GetFilterUnit())!='o003')then if(GetUnitTypeId(GetFilterUnit())!='e00C')then if(IsUnitAliveBJ(GetFilterUnit()))then if(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false)then if(GetUnitAbilityLevelSwapped('A04R',GetFilterUnit())!=1)then return true endif endif endif endif endif return false endfunction function LHLH takes unit Lgg returns unit local player Lii=GetOwningPlayer(Lgg) local unit Haa local group fAA local location LGG=GetUnitLoc(Lgg) local boolean LII=false set fAA=GetUnitsInRangeOfLocMatching(575,LGG,Condition(function LhLh)) loop exitwhen LII set Haa=GroupPickRandomUnit(fAA) if(IsUnitVisible(Haa,Lii))then if(IsUnitEnemy(Haa,Lii))then set LII=true endif endif call GroupRemoveUnit(fAA,Haa) if(IsUnitGroupEmptyBJ(fAA))then if(LII==false)then set Haa=null endif set LII=true endif endloop call RemoveLocation(LGG) call DestroyGroup(fAA) return Haa endfunction // A0M1 = Omnislash // A05G = Blade Fury function Trig_Juggernaut_Spell_Omnislash_Actions takes nothing returns nothing local trigger LJJ=CreateTrigger() local unit Lgg=GetTriggerUnit() local player Lii=GetOwningPlayer(Lgg) local unit Haa=GetSpellTargetUnit() local integer JJJ=GetUnitAbilityLevel(Lgg,'A0M1') local integer e88=2 local integer e99=3 local integer Lkk=GetUnitAbilityLevel(Lgg,'A05G') if(JJJ==2)then set e99=5 endif if(JJJ==3)then set e99=8 endif if(Lkk>0)then call SetPlayerAbilityAvailable(Lii,'A05G',false) endif call SelectUnitRemoveForPlayer(Lgg,Lii) call SetUnitVertexColorBJ(Lgg,100,100,100,50) call SetUnitPathing(Lgg,false) call SetUnitInvulnerable(Lgg,true) call PolledWait(.01) call TriggerRegisterPlayerSelectionEventBJ(LJJ,Lii,true) call TriggerAddCondition(LJJ,Condition(function LELE)) call TriggerAddAction(LJJ,function LfLf) if(IsUnitAliveBJ(Lgg))then call LFLF(Lgg,Haa) call PolledWait(.25) loop exitwhen e88>e99 set Haa=LHLH(Lgg) if(Haa!=null)then if(IsUnitAliveBJ(Lgg))then call LFLF(Lgg,Haa) call PolledWait(.25) endif else set e88=e99+1 endif set e88=e88+1 endloop endif call DisableTrigger(LJJ) call SetUnitPathing(Lgg,true) call SetUnitInvulnerable(Lgg,false) call SetUnitScalePercent(Lgg,100.,100.,100.) call SetUnitVertexColorBJ(Lgg,100,100,100,.0) call SelectUnitAddForPlayer(Lgg,Lii) if(Lkk>0)then call UnitAddAbility(Lgg,'A05G') call SetUnitAbilityLevel(Lgg,'A05G',Lkk) endif call PolledWait(.01) if(Lkk>0)then call SetPlayerAbilityAvailable(Lii,'A05G',true) endif endfunction function StartTrigger_Juggernaut_Spell_Omnislash takes nothing returns nothing set gg_trg_Juggernaut_Spell_Omnislash=CreateTrigger() call TriggerRegisterAnyUnitEventBJ(gg_trg_Juggernaut_Spell_Omnislash,EVENT_PLAYER_UNIT_SPELL_EFFECT) call TriggerAddCondition(gg_trg_Juggernaut_Spell_Omnislash,Condition(function Trig_Juggernaut_Spell_Omnislash_Conditions)) call TriggerAddAction(gg_trg_Juggernaut_Spell_Omnislash,function Trig_Juggernaut_Spell_Omnislash_Actions) endfunction function InitTrig_Juggernaut_Spell_Omnislash takes nothing returns nothing endfunction
there direct from the open dota
no possible wayK3NNY said:But is there a way so that it doesn;t need triggers?
if you ever thought of non-gui-jass way, just let me knowrayquaza218 said:wow, so i plop the whole thing in and WHAM omni slash? come on, help thsis guy out.
Um, then just K3NNY copy-paste the code to your editor and change the unit issues.rayquaza218 said:no i i mean copy pasting something to him doesn't help him, obviously by saying "is this possible without triggers" his new to triggering, let alone JASS, so really, this doesn't help him.