dota吧 关注:4,647,505贴子:155,339,729

回复:诈尸钓鱼帖:龟速直播翻新光环指南

只看楼主收藏回复

老尸体一只


IP属地:山东来自手机贴吧16楼2012-07-04 23:32
回复
    技术贴要顶


    IP属地:广东17楼2012-07-04 23:33
    回复
      2026-02-26 17:14:36
      广告
      不感兴趣
      开通SVIP免广告
      [A01N]
      Name=竭心光环
      code:AUau(邪恶光环)
      targs:air,enemies,ground,nonancient(空中,地面,敌人,非-古树)
      BuffID:B084


      IP属地:山东18楼2012-07-04 23:41
      回复
        J的内容明天补上吧


        IP属地:山东19楼2012-07-04 23:42
        回复


          IP属地:江苏来自手机贴吧20楼2012-07-05 01:11
          回复
            玉米的技术贴必顶,赶紧更,别太监


            IP属地:河北21楼2012-07-05 09:20
            回复
              刚才出了一点小问题,我突然发现在J里搜索不到技能的4位ID了71版本的J明明还可以来着。
              刚才在不如吧求问,结果是貌似是在J里把256进制的4位ID转成10进制的,这里有转换器:
              http://pan.baidu.com/netdisk/singlepublic?fid=536751_3067699022
              


              IP属地:山东22楼2012-07-05 16:34
              回复
                补竭心光环的J,其实现在这是一个纯模拟的光环了,邪恶光环只有1000范围的数值信息而已,没有其他数据在SLK里。
                不过看起来这个J相当复杂啊~


                IP属地:山东23楼2012-07-05 16:47
                回复
                  2026-02-26 17:08:36
                  广告
                  不感兴趣
                  开通SVIP免广告
                  function OL4 takes nothing returns boolean
                  if GetLearnedSkill()==1093677390 and IsUnitIllusion(GetTriggerUnit())==false and GetUnitAbilityLevel(GetTriggerUnit(),1093677390)==1 then
                  call OK4()
                  endif
                  return false
                  endfunction
                  这部分J在NEC学习1级竭心光环时call function OK4


                  IP属地:山东24楼2012-07-05 16:48
                  回复
                    补一句,竭心光环的10进制代码是1093677390
                    function OK4 takes nothing returns nothing
                    local trigger t=CreateTrigger()
                    call TriggerRegisterTimerEvent(t,0.5,true)
                    call TriggerAddCondition(t,Condition(function OJ4))
                    call SaveUnitHandle(HY,(GetHandleId(t)),(2),(GetTriggerUnit()))
                    set t=null
                    OK4函数会创建一个0.5秒游戏时间事件的触发器,也就是每0.5秒会触发一次。条件是函数OJ4
                    function OJ4 takes nothing returns boolean
                    local integer XII=GetHandleId(GetTriggeringTrigger())
                    local unit JTI=(LoadUnitHandle(HY,(XII),(2)))
                    local group g
                    if MNI(JTI)==false then
                    set g=WKI()
                    set IK=JTI
                    set DSI=JTI
                    set DTI=GetUnitAbilityLevel(JTI,1093677390)
                    call GroupEnumUnitsInRange(g,GetUnitX(JTI),GetUnitY(JTI),1025,Condition(function OY4))
                    call ForGroup(g,function OV4)
                    call WJI(g)
                    endif
                    set g=null
                    set JTI=null
                    return false
                    endfunction
                    这就开始实际运作了,创建一个本地单位组,选取满足条件单位,条件是函数OY4:
                    function OY4 takes nothing returns boolean
                    return(IsUnitEnemy(IK,GetOwningPlayer(GetFilterUnit()))and(GetUnitAbilityLevel(GetFilterUnit(),1093678162)==0 and IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false and MNI(GetFilterUnit())==false)and(IsUnitType(GetFilterUnit(),UNIT_TYPE_ANCIENT)==false or TUI(GetFilterUnit())))and GetUnitAbilityLevel(GetFilterUnit(),1110456372)>0
                    endfunction
                    这里的1110456372正是竭心光环的BuffID B084。经过一系列敌我判断,技能等级判断(按这个J来说竭心光环对其他学习了竭心光环的单位是无效的,希望玩过NEC 10人群P的童鞋验证),除去过滤单位(应该指的是小鸡之类免疫触发的单位),除去远古单位,选取【拥有竭心光环buff】的单位,竭心光环的目标终于全部选取。
                    动作是函数OV4:
                    function OV4 takes nothing returns nothing
                    local unit JRI=GetEnumUnit()
                    local unit JTI=DSI
                    local real BLO=GetUnitState(JRI,UNIT_STATE_LIFE)
                    local real OW4=GetUnitState(JRI,UNIT_STATE_MAX_LIFE)
                    local real OX4=((0.004+0.002*DTI)*OW4)/2
                    if BLO<OX4 then
                    call SetUnitState(JRI,UNIT_STATE_LIFE,1)
                    call JSI(JTI,JRI,3,100)
                    call JSI(JTI,JRI,1,100)
                    call JSI(JTI,JRI,2,100)
                    else
                    call SetUnitState(JRI,UNIT_STATE_LIFE,KUI(GetUnitState(JRI,UNIT_STATE_LIFE)-OX4,1))
                    endif
                    set JRI=null
                    set JTI=null
                    endfunction
                    简单来说不至死的话设置生命值降低,致死的话是设置成1点血之后让NEC对目标造成3次100点伤害,不过不才确实不知道函数里的3、1、2是什么东西,难道是设置好的攻击伤害类型?
                    


                    IP属地:山东25楼2012-07-05 17:11
                    收起回复
                      好不容易读完了一个技能,好累


                      IP属地:山东26楼2012-07-05 17:12
                      回复
                        月之祝福
                        A062/1093678642
                        function TP2 takes nothing returns boolean
                        if GetLearnedSkill()==1093678129 then
                        call SetPlayerTechResearched(GetOwningPlayer(GetTriggerUnit()),1382378855,GetUnitAbilityLevel(GetTriggerUnit(),1093678129))
                        以下为月骑部分
                        elseif GetLearnedSkill()==1093678642 then
                        call SetPlayerTechResearched(GetOwningPlayer(GetTriggerUnit()),1378889801,1)
                        endif
                        return false
                        endfunction
                        学习技能后把R00I等级设为1
                        1378889801/R00I为一个自定义科技升级
                        effect1 : rsig 视野范围奖励
                        base1 : 1000 基础奖励值1000
                        mod1 : 1000 增量奖励值1000
                        也就是说增加了1000的视野。然后有童鞋就要问了那为什么对白天没影响呢?答案是月骑白天本来就有1800的视野,已经是无飞行高度单位视野的极限了,所以升级了也没有影响。


                        IP属地:山东27楼2012-07-05 17:24
                        回复
                          看起来现在没什么人的样子,那就先闪人了


                          IP属地:山东28楼2012-07-05 17:25
                          回复
                            十五字啊十五字啊十五字啊十五字


                            29楼2012-07-05 17:29
                            回复
                              2026-02-26 17:02:36
                              广告
                              不感兴趣
                              开通SVIP免广告
                              虽不明,但觉厉


                              IP属地:湖北来自手机贴吧30楼2012-07-05 20:07
                              回复