找回密码
 点一下
查看: 4559|回复: 28

回到过去的原理是什么?

  [复制链接]
发表于 2008-2-18 09:06:19 | 显示全部楼层 |阅读模式
DOTA中虚空假面的回到过去有一定几率闪避一切伤害(魔法和物理)……而且拿了蝴蝶魔法闪避不消失
原理是什么啊
发表于 2008-2-18 09:08:53 | 显示全部楼层
我讨厌虚空的模型(太猥琐了)
无非是受到伤害后加回
没意思
回复

使用道具 举报

发表于 2008-2-18 09:51:15 | 显示全部楼层
引用第1楼bsni于2008-02-18 09:08发表的  :
我讨厌虚空的模型(太猥琐了)
无非是受到伤害后加回
没意思
不一定是受到伤害加回吧,那样的话受到致命伤害岂不是等于没用了?
回复

使用道具 举报

发表于 2008-2-18 11:14:18 | 显示全部楼层
额,瞬间无敌??缓存单位??
回复

使用道具 举报

发表于 2008-2-18 11:28:41 | 显示全部楼层
一般都素瞬间无敌- - 不过用DOTA本身的无光之盾也能做到 就素一瞬间进行吸收伤害的效果  吸收最大值99999999999
回复

使用道具 举报

发表于 2008-2-18 11:35:17 | 显示全部楼层
如果只是要不受伤害的话,硬化皮肤+抗性皮肤应该也可以的,恩
回复

使用道具 举报

发表于 2008-2-18 14:16:30 | 显示全部楼层
  1. function Trig_Backtrack_Conditions takes nothing returns boolean
  2.     return GetLearnedSkill()=='A0CZ'and IsUnitIllusion(GetTriggerUnit())==false
  3. endfunction
  4. function Backtrack_Main takes nothing returns nothing
  5.     local unit lfo=GetTriggerUnit()
  6.     local real lf7=GetEventDamage()
  7.     if(lf7>0)then
  8.         if(GetRandomInt(1,100)<=(5+(5*GetUnitAbilityLevel(lfo,'A0CZ'))))then
  9.             call SetUnitState(lfo,UNIT_STATE_LIFE,GetUnitState(lfo,UNIT_STATE_LIFE)+lf7)
  10.             call DestroyEffect(AddSpecialEffectTarget("Abilities\\\\Weapons\\\\WingedSerpentMissile\\\\WingedSerpentMissile.mdl",lfo,"hand,left"))
  11.         endif
  12.     endif
  13. endfunction
  14. function Trig_Backtrack_Actions takes nothing returns nothing
  15.     local trigger ltt
  16.     if GetUnitAbilityLevel(GetTriggerUnit(),'A0CZ')==1 then
  17.         set ltt=CreateTrigger()
  18.         call TriggerRegisterUnitEvent(ltt,GetTriggerUnit(),EVENT_UNIT_DAMAGED)
  19.         call TriggerAddAction(ltt,function Backtrack_Main)
  20.     endif
  21. endfunction
  22. function StartTrigger_Backtrack takes nothing returns nothing
  23.     set gg_trg_Backtrack=CreateTrigger()
  24.     call TriggerRegisterAnyUnitEventBJ(gg_trg_Backtrack,EVENT_PLAYER_HERO_SKILL)
  25.     call TriggerAddCondition(gg_trg_Backtrack,Condition(function Trig_Backtrack_Conditions))
  26.     call TriggerAddAction(gg_trg_Backtrack,function Trig_Backtrack_Actions)
  27. endfunction
  28. function InitTrig_Backtrack takes nothing returns nothing
  29. endfunction
复制代码
这个是回到过去的触发……
是否会跟蚂蚁的时光倒流原理差不多呢?
以下是地穴编制者时光倒流的触发:
Part 1:Time_Lapse_Cast
  1. function TimeLapseCastCheck takes nothing returns boolean
  2.     return GetSpellAbilityId()=='A0CT'
  3. endfunction
  4. function TimeLapseCast takes nothing returns nothing
  5.     local string lf5=H2Tx(GetTriggerUnit())
  6.     local real lvt=ReturnMaxReal(GetReal(lf5,"TLLife1"),1)
  7.     local real lvT=ReturnMaxReal(GetReal(lf5,"TLMana1"),1)
  8.     local location lp5=GetLocation(lf5,"TLPoint1")
  9.     local unit lfo=GetTriggerUnit()
  10.     if GetReal(lf5,"TLLife1")>1 then
  11.         call AddSpecialEffect("Abilities\\\\Spells\\\\NightElf\\\\Blink\\\\BlinkTarget.mdl",GetUnitX(lfo),GetUnitY(lfo))
  12.         call SetUnitX(lfo,GetLocationX(lp5))
  13.         call SetUnitY(lfo,GetLocationY(lp5))
  14.         call SetUnitState(lfo,UNIT_STATE_LIFE,lvt)
  15.         call SetUnitState(lfo,UNIT_STATE_MANA,lvT)
  16.         call UnitRemoveBuffs(lfo,false,true)
  17.         call RemoveLocation(lp5)
  18.         call TriggerSleepAction(0)
  19.         call SetUnitState(lfo,UNIT_STATE_MANA,lvT)
  20.     endif
  21. endfunction
  22. function h2 takes nothing returns nothing
  23.     local trigger ltt=CreateTrigger()
  24.     call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_UNIT_SPELL_EFFECT)
  25.     call TriggerAddCondition(ltt,Condition(function TimeLapseCastCheck))
  26.     call TriggerAddAction(ltt,function TimeLapseCast)
  27. endfunction
  28. function InitTrig_Time_Lapse_Cast takes nothing returns nothing
  29. endfunction
复制代码
Part.2:Time_Lapse_Learn
  1. function TimeLapseCastCheck takes nothing returns boolean
  2.     return GetSpellAbilityId()=='A0CT'
  3. endfunction
  4. function TimeLapseCast takes nothing returns nothing
  5.     local string lf5=H2Tx(GetTriggerUnit())
  6.     local real lvt=ReturnMaxReal(GetReal(lf5,"TLLife1"),1)
  7.     local real lvT=ReturnMaxReal(GetReal(lf5,"TLMana1"),1)
  8.     local location lp5=GetLocation(lf5,"TLPoint1")
  9.     local unit lfo=GetTriggerUnit()
  10.     if GetReal(lf5,"TLLife1")>1 then
  11.         call AddSpecialEffect("Abilities\\\\Spells\\\\NightElf\\\\Blink\\\\BlinkTarget.mdl",GetUnitX(lfo),GetUnitY(lfo))
  12.         call SetUnitX(lfo,GetLocationX(lp5))
  13.         call SetUnitY(lfo,GetLocationY(lp5))
  14.         call SetUnitState(lfo,UNIT_STATE_LIFE,lvt)
  15.         call SetUnitState(lfo,UNIT_STATE_MANA,lvT)
  16.         call UnitRemoveBuffs(lfo,false,true)
  17.         call RemoveLocation(lp5)
  18.         call TriggerSleepAction(0)
  19.         call SetUnitState(lfo,UNIT_STATE_MANA,lvT)
  20.     endif
  21. endfunction
  22. function h2 takes nothing returns nothing
  23.     local trigger ltt=CreateTrigger()
  24.     call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_UNIT_SPELL_EFFECT)
  25.     call TriggerAddCondition(ltt,Condition(function TimeLapseCastCheck))
  26.     call TriggerAddAction(ltt,function TimeLapseCast)
  27. endfunction
  28. function InitTrig_Time_Lapse_Cast takes nothing returns nothing
  29. endfunction
复制代码
在下并不是很会使用Jass 2,希望懂Jass 2的高人来解读一下……
回复

使用道具 举报

发表于 2008-2-18 14:23:12 | 显示全部楼层
555555这个是用增加生命值做的………………
回复

使用道具 举报

发表于 2008-2-18 14:39:10 | 显示全部楼层
这样的话是否可以理解成回到过去对致命伤害没有作用?
回复

使用道具 举报

发表于 2008-2-18 14:40:37 | 显示全部楼层
引用第8楼人偶于2008-02-18 14:39发表的  :
这样的话是否可以理解成回到过去对致命伤害没有作用?

这个是某开源版吗?貌似不是官方的额………………
我也不是很清楚,但如果照这个6楼的触发来看,是这样的
回复

使用道具 举报

发表于 2008-2-18 14:43:28 | 显示全部楼层
回到过去。。。为什么用这个名字?  用月光宝盒我感觉更恰当。。。我觉的我比较喜欢这种跟时间有关的技能。。。能不能做个 穿越时空?
回复

使用道具 举报

发表于 2008-2-18 14:50:04 | 显示全部楼层
引用第8楼人偶于2008-02-18 14:39发表的  :
这样的话是否可以理解成回到过去对致命伤害没有作用?

未必
具体懒得解释
回复

使用道具 举报

发表于 2008-2-18 14:51:45 | 显示全部楼层
引用第6楼人偶于2008-02-18 14:16发表的  :
[code]function Trig_Backtrack_Conditions takes nothing returns boolean
    return GetLearnedSkill()=='A0CZ'and IsUnitIllusion(GetTriggerUnit())==false
endfunction

function Backtrack_Main takes nothing returns nothing
.......


这段代码无非是说
虚空受到伤害
所受伤害大于0
就设置生命值=生命值+伤害
相当没有意思
回复

使用道具 举报

发表于 2008-2-18 14:52:16 | 显示全部楼层
回复

使用道具 举报

发表于 2008-2-18 16:19:18 | 显示全部楼层
J8脸的回到过去可以无视秒杀的伤害啊...

楼上你不能因为单纯的讨厌J8脸的那个模型而讨厌对这个有爱技能的研究...
回复

使用道具 举报

发表于 2008-2-18 16:20:56 | 显示全部楼层
引用第14楼小滴于2008-02-18 16:19发表的  :
J8脸的回到过去可以无视秒杀的伤害啊...

楼上你不能因为单纯的讨厌J8脸的那个模型而讨厌对这个有爱技能的研究...

不过如果按照这段代码做的话的确无视不了的,恩~~
回复

使用道具 举报

发表于 2008-2-18 16:23:29 | 显示全部楼层
所以说那段代码是盗版%..

啊哈哈~
回复

使用道具 举报

发表于 2008-2-18 16:25:38 | 显示全部楼层
猪头我不是故意跟你抬杠
DOTA我玩了1年多了
多少次虚空假面在神灭斩下重生
多少次J8脸在恶魔巫师面前复活..
多少次雷神绝望的看着它晃悠在闪电之下
不计其数啊
我不认识JASS,就算我无知..事实也能证明DOTA的J8脸是可以回避秒杀一击的啊..
回复

使用道具 举报

发表于 2008-2-18 16:47:26 | 显示全部楼层
引用第17楼小滴于2008-02-18 16:25发表的  :
猪头我不是故意跟你抬杠
DOTA我玩了1年多了
多少次虚空假面在神灭斩下重生
多少次J8脸在恶魔巫师面前复活..
多少次雷神绝望的看着它晃悠在闪电之下
.......

呵呵,首先,这里的致命攻击值得是伤害值超过生命最大值
第二,我只是说这段代码,而且那个开源版本或许根本不是icefrog的作品,只是仿制品也说不定哦~~
回复

使用道具 举报

发表于 2008-2-20 00:58:07 | 显示全部楼层

来点中文好么

  [s:122]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-25 00:39 , Processed in 0.043166 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表