中易网

DOTA无敌斩技能制作

答案:3  悬赏:70  
解决时间 2021-01-18 15:32
  • 提问者网友:喧嚣尘世
  • 2021-01-18 05:05
DOTA无敌斩技能制作
最佳答案
  • 二级知识专家网友:轮獄道
  • 2021-01-18 05:57
给你段源代码,因为只有5分,具体就不解释了
function To takes unit TE7,unit m5 returns nothing
local real a=GetRandomReal(0,360)
local real x=GetUnitX(m5)+50*Cos(a*bj_DEGTORAD)
local real y=GetUnitY(m5)+50*Sin(a*bj_DEGTORAD)
call SetUnitPosition(TE7,x,y)
call SetUnitFacing(TE7,bj_RADTODEG*Atan2(GetUnitY(m5)-GetUnitY(TE7),GetUnitX(m5)-GetUnitX(TE7)))
call SetUnitAnimation(TE7,"Attack")
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl",TE7,"chest"))
call Y07(TE7,m5,Y94,GetRandomReal(175,250))
call IssueTargetOrder(TE7,"attack",m5)
endfunction
function WX9 takes nothing returns boolean
local trigger t=GetTriggeringTrigger()
local integer M07=GetHandleId(t)
local unit TE7=MG7(M07,"Hero")
local unit m5=MG7(M07,"Target")
call To(TE7,m5)
call KU7(M07)
call ML7(t)
set t=null
set TE7=null
set m5=null
return false
endfunction
function WY9 takes unit TE7 returns nothing
local group g=TN7()
set I_4=TE7
call GroupEnumUnitsInRange(g,GetUnitX(TE7),GetUnitY(TE7),450,Condition(function XX7))
set I_4=GroupPickRandomUnit(g)
if I_4!=null then
call To(TE7,I_4)
endif
call TM7(g)
set g=null
endfunction
function WZ9 takes nothing returns boolean
local trigger t=GetTriggeringTrigger()
local integer M07=GetHandleId(t)
local unit TE7=MG7(M07,"Hero")
local unit YL7=MG7(M07,"Caster")
local integer Tq=MS7(M07,"Limit")
local integer TQ=MS7(M07,"BFLevel")
local integer Rd=MS7(M07,"Counter")
local unit Tr
call SetUnitPosition(YL7,GetUnitX(TE7),GetUnitY(TE7))
if Rd>Tq then
call KillUnit(YL7)
call DestroyEffect(MN7(M07,"FX"))
call KU7(M07)
call ML7(t)
call SetPlayerAbilityAvailable(GetOwningPlayer(TE7),'A05G',true)
call SetUnitPathing(TE7,true)
call SetUnitInvulnerable(TE7,false)
call M37(TE7,"Omnislashing")
call SetUnitVertexColor(TE7,255,255,255,255)
else
call KX7(M07,"Counter",Rd+1)
call WY9(TE7)
if I_4==null then
call KillUnit(YL7)
call DestroyEffect(MN7(M07,"FX"))
call KU7(M07)
call ML7(t)
call SetPlayerAbilityAvailable(GetOwningPlayer(TE7),'A05G',true)
call SetUnitPathing(TE7,true)
call SetUnitInvulnerable(TE7,false)
call M37(TE7,"Omnislashing")
call SetUnitVertexColor(TE7,255,255,255,255)
endif
endif
set t=null
set TE7=null
set Tr=null
set YL7=null
return false
endfunction
function WA9 takes nothing returns nothing
local unit TE7=GetTriggerUnit()
local unit m5=GetSpellTargetUnit()
local integer R_7=GetUnitAbilityLevel(TE7,'A0M1')
local trigger t=CreateTrigger()
local integer M07=GetHandleId(t)
local integer TQ=GetUnitAbilityLevel(TE7,'A05G')
local player p=GetOwningPlayer(TE7)
local integer WB9=GetUnitLevel(TE7)
local unit YL7=CreateUnit(GetOwningPlayer(TE7),'o00D',GetUnitX(TE7),GetUnitY(TE7),0)
if R_7==0 then
set R_7=GetUnitAbilityLevel(TE7,'A1AX')
if R_7==1 then
set WB9=2*GetUnitLevel(TE7)
elseif R_7==2 then
set WB9=2*GetUnitLevel(TE7)
elseif R_7==3 then
set WB9=2*GetUnitLevel(TE7)
endif
elseif R_7==2 then
set WB9=GetUnitLevel(TE7)
elseif R_7==3 then
set WB9=GetUnitLevel(TE7)
endif
call SetPlayerAbilityAvailable(p,'A05G',false)
call SetUnitVertexColor(TE7,255,255,255,125)
call SetUnitPathing(TE7,false)
call SetUnitInvulnerable(TE7,true)
call MB7(TE7,"Omnislashing")
call KB7(M07,"Hero",TE7)
call KB7(M07,"Target",m5)
call TriggerRegisterTimerEvent(t,0,false)
call TriggerAddCondition(t,Condition(function WX9))
set t=CreateTrigger()
set M07=GetHandleId(t)
call KB7(M07,"Hero",TE7)
call KB7(M07,"Caster",YL7)
call KX7(M07,"Limit",WB9)
call KX7(M07,"BFLevel",TQ)
call KX7(M07,"Counter",2)
call KC7(M07,"FX",AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl",TE7,"weapon"))
call TriggerRegisterTimerEvent(t,0.4,true)
call TriggerAddCondition(t,Condition(function WZ9))
set TE7=null
set m5=null
set t=null
set p=null
endfunction
function WC9 takes nothing returns boolean
if GetSpellAbilityId()=='A0M1' or GetSpellAbilityId()=='A1AX' then
call WA9()
endif
return false
endfunction
PS:判定条件 function XX7
function XX7 takes nothing returns boolean
return((IsUnitEnemy(I_4,GetOwningPlayer(GetFilterUnit()))and(GetUnitAbilityLevel(GetFilterUnit(),'A04R')==0 and IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false and UF7(GetFilterUnit())==false)and(IsUnitType(GetFilterUnit(),UNIT_TYPE_ANCIENT)==false or XJ7(GetFilterUnit())))and IsUnitVisible(GetFilterUnit(),GetOwningPlayer(I_4)))and XQ7(GetFilterUnit())==false
A0M1=无敌斩

A1AX=A帐版无敌斩

希望给满意答案!追问什么玩意追答跟你说了技能源代码 dota技能都是jass语言 太无知了!追问我们吧 都是中国人 , 没必要分什么你我啊,不用说成这样 来显摆自己是个叛国贼, 在中国地盘讲外国话这是什么❤?追答为什么你的话就没事,我打就是敏感词呢?追问这是个误会
全部回答
  • 1楼网友:七十二街
  • 2021-01-18 07:46
点 无敌斩 再点敌人、追问脑残还是脑子进水了?追答你 会不会玩啊 LJ追问我不会玩 笑话, 我TM玩死你
  • 2楼网友:蕴藏春秋
  • 2021-01-18 06:17
百度魔兽地图编辑器贴吧、那里DOTA地图都能复制出来,各种大神。复制于此吧。Me月夜天雨。。
很简单。触发1
发动无敌斩。
set 变量整数等于x
set 变量单位等于释放技能的单位。为触发单位添加无敌技能或者设置无敌
开启触发二,触发二要记得初始关闭。
每当游戏逝去一定时间
if x等于0
then 删除无敌技能
关闭当前触发
else 设置整数变量x等于x-1
然后进行选取单位组中随机一个单位。以变量单位为中心,半径多少,匹配的可选取单位。追问日 看不懂, 不会 不具体 真不会 你会吗 有兴趣教我嘛追答看不懂,,,我倒是有演示图,以前翻得,不过目测也难,,无敌斩算是比较难的了,。编辑器吧的精品贴里有,推荐最好从老虎的跳和流星开始学,要简单点追问复制也好 随便编两句也行 我会就可以啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息