找回密码
 点一下
楼主: kimjongmin

不知道DOTA的这几个个技能有人做过演示没...

  [复制链接]
发表于 2008-2-15 00:26:43 | 显示全部楼层
引用第39楼luzhiwei512于2008-02-15 00:23发表的  :
~~~~~

恩,这个我承认我记错了,谢谢指正

不过这个技能我觉得不能单纯的用选取单位来做,还是要通过接近单位和生命值变化事件来判断的
回复

使用道具 举报

发表于 2008-2-15 00:27:47 | 显示全部楼层
汗,条件再加个触发单位范围啊,这样你满意了吧
回复

使用道具 举报

发表于 2008-2-15 00:30:23 | 显示全部楼层
引用第41楼luzhiwei512于2008-02-15 00:27发表的  :
汗,条件再加个触发单位范围啊,这样你满意了吧

那事件呢,循环计时器到期或是每XX时间吗?

我们是在讨论问题哦,没有什么满不满意的,嗯~~
回复

使用道具 举报

发表于 2008-2-15 00:33:17 | 显示全部楼层
老兄挺喜欢你的,先打开后面接记时器,到期在接我刚才那个关闭
回复

使用道具 举报

发表于 2008-2-15 00:38:04 | 显示全部楼层
引用第43楼luzhiwei512于2008-02-15 00:33发表的  :
老兄挺喜欢你的,先打开后面接记时器,到期在接我刚才那个关闭

恩,这样实现的话写起来可能会方便些
各自有各自的习惯吧,恩

希望我们讨论的内容能帮上lz吧~~
回复

使用道具 举报

发表于 2008-2-15 00:43:09 | 显示全部楼层
呵呵,我看到你才和你讨论的
回复

使用道具 举报

发表于 2008-2-15 23:38:50 | 显示全部楼层
如果是英雄的话就是用 单位 - 设置 XXX 的视野对 玩家XXX  打开
回复

使用道具 举报

发表于 2008-2-16 02:21:43 | 显示全部楼层
引用第31楼zhuzeitou于2008-02-15 00:04发表的  :


因为要搞清楚到底是玩家视野还是英雄视野呀
如果那个英雄还有小鸡啊乌鸦之类的,或者招了东西分开跑,使都有视野呢还是只有英雄的视野呢

那就是英雄视野....反正不满足条件的不会被显示..
回复

使用道具 举报

发表于 2008-2-16 02:26:07 | 显示全部楼层
昨天我测试做了测试了,
比如玩家1拥有血魔
玩家2拥有一个英雄和另外其他几个单位..假如是在DOTA中,那就是小鸡
我们不考虑别的问题只考虑视野问题
我在测试的时候,特意让玩家2的小鸡分散到地图各处
然后玩家2的英雄把HP降到40%以下
然后血魔的渴望发动
就只看到了玩家2个英雄的可视范围,而小鸡的可视范围不会被看到..
进入玩家2那个英雄的可视范围的单位一样可以看到 - -
总之血魔那个技能就是这么回事...
回复

使用道具 举报

发表于 2008-2-16 08:22:41 | 显示全部楼层
....
每0.03秒一次
检测血魔4000码范围的敌方英雄单位
在每个低于50%血量的敌方英雄位置创建辅助单位给血魔
赋予0.03秒的生命周期给最后创建的单位....

就是这么简单.不必多想...
回复

使用道具 举报

发表于 2008-2-16 08:39:38 | 显示全部楼层
直接去看开源版嘛………………
回复

使用道具 举报

发表于 2008-2-16 08:42:56 | 显示全部楼层
去 开元班  看哪个?
回复

使用道具 举报

发表于 2008-2-16 08:44:41 | 显示全部楼层
回复

使用道具 举报

发表于 2008-2-16 08:49:04 | 显示全部楼层
下面是原文:(选取单位时执行的函数)
function Blood_Seeking_GetWounded takes nothing returns nothing
    local real lFc=FDFD(GetEnumUnit(),udg_u_DTAX_temp)
    if udg_i_DTAX_beastmaster_primal_roar_intel_gain_REF3==0 or GetUnitState(udg_u_DTAX_temp,UNIT_STATE_LIFE)<1 then
        call UnitShareVision(GetEnumUnit(),GetOwningPlayer(udg_u_DTAX_temp),false)
    else
        if lFc>=udg_i_DTAX_beastmaster_primal_roar_intel_gain_REF3*1500 or(lFc<udg_i_DTAX_beastmaster_primal_roar_intel_gain_REF3*1500 and GetUnitStatePercent(GetEnumUnit(),UNIT_STATE_LIFE,UNIT_STATE_MAX_LIFE)>40)then
            call UnitShareVision(GetEnumUnit(),GetOwningPlayer(udg_u_DTAX_temp),false)
        endif
        if lFc<udg_i_DTAX_beastmaster_primal_roar_intel_gain_REF3*1500 and GetUnitLifePercent(GetEnumUnit())<=40 then
            call UnitShareVision(GetEnumUnit(),GetOwningPlayer(udg_u_DTAX_temp),true)
            set udg_b_DTAX_natures_guise_still_near_the_trees=true
        endif
    endif
endfunction


udg_b_DTAX_natures_guise_still_near_the_trees跟树精卫士有关,可见是使用了 UnitShareVision函数共享视野
回复

使用道具 举报

发表于 2008-2-16 09:16:30 | 显示全部楼层
全鸟语,不会J。。。等待LS的大熊猫 给  翻译成T。。。
回复

使用道具 举报

 楼主| 发表于 2008-2-16 09:21:35 | 显示全部楼层
同上...
回复

使用道具 举报

 楼主| 发表于 2008-2-16 09:21:53 | 显示全部楼层
如果我会Jass我早自己做了...
回复

使用道具 举报

发表于 2008-2-16 09:24:50 | 显示全部楼层
UnitShareVision....
好东西...

LS在T里可以用自定义代码也可以呀...只是一句
call UnitShareVision(GetEnumUnit(),GetOwningPlayer(udg_u_DTAX_temp),true)

call UnitShareVision(GetEnumUnit(),GetOwningPlayer(udg_u_DTAX_temp),false)


GetEnumUnit()就用全局变量.
loop
set udg_u=firstofgroup(udg_g)
exitwhen udg_u==null
.....
endloop
回复

使用道具 举报

发表于 2008-2-16 12:51:46 | 显示全部楼层
这个嘛…………我也很想这么做
可惜没时间……………………
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-27 11:07 , Processed in 0.038396 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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