找回密码
 点一下
查看: 1339|回复: 8

如何判断一个英雄单位的主要属性是什么?

[复制链接]
发表于 2009-2-16 20:42:17 | 显示全部楼层 |阅读模式
如题 如何判断 请不要告诉我 什么属性当前值最高就是什么属性..
DOTA 神灵武士 有一个回血技能 按照目标英雄主要属性*?%+什么什么 每秒
就一直不清楚如何获得一个英雄主要属性
发表于 2009-2-16 20:55:11 | 显示全部楼层
模拟啊...
有单位自定义值.
或者种族..类型等等
回复

使用道具 举报

 楼主| 发表于 2009-2-16 20:59:40 | 显示全部楼层
单位自定义值... 这样的话 我还要一个一个单位类型去判断 用自定义值来做什么
种族.. 无比痛苦 难道IF为了一个英雄技能 把所有单位都调整了一遍 无比强大
感谢1楼回答 但总感觉不是那么回事
回复

使用道具 举报

发表于 2009-2-16 21:12:31 | 显示全部楼层
设置主动攻击范围等……
只有预先设置单位的某项区别的方法
直接无法判断
http://www.islga.org/bbs/read.ph ... 7%D2%AA%CA%F4%D0%D4

以上是判断主要属性
如果要是值最大的属性
直接比较就可以了
回复

使用道具 举报

 楼主| 发表于 2009-2-16 22:11:43 | 显示全部楼层
额 我还是给不同的英雄加一个无效果的球体技能好了 主动攻击范围这个东西修改 不怎么好
回复

使用道具 举报

发表于 2009-2-16 23:25:01 | 显示全部楼层
这个没办法的,最好的方法就是利用主动攻击范围这些不明显的小数据,或者是你事先做好分组
回复

使用道具 举报

发表于 2009-2-17 02:12:28 | 显示全部楼层
附加值么``
回复

使用道具 举报

发表于 2009-2-17 02:18:36 | 显示全部楼层
dota充分利用了附加值,注册技能触发都是通过判断所选英雄的附加值来注册对应触发的,所以相对而言就要显得高效些

dota中判断英雄主属性是通过事先设好3个单位组的

[codes=jass]function I1O1I1 takes unit I1O111 returns integer
local integer x
local integer id=GetUnitTypeId(I1O111)
set x=1
loop
exitwhen x>OO1OI0
if id==OO1O00[x]then
return 2
endif
set x=x+1
endloop
set x=1
loop
exitwhen x>OO1OO0
if id==OO1O10[x]then
return 3
endif
set x=x+1
endloop
set x=1
loop
exitwhen x>OOO0I0
if id==OOO000[x]then
return 1
endif
set x=x+1
endloop
return 0
endfunction[/codes]
回复

使用道具 举报

发表于 2009-2-17 13:02:03 | 显示全部楼层
在地图开始前,这样:
[codes=jass]function Init takes nothing returns nothing
    call StoreInteger( <GC>, I2S(<力量英雄ID>), "No1State", bj_HEROSTAT_STR )
    call StoreInteger( <GC>, I2S(<敏捷英雄ID>), "No1State", bj_HEROSTAT_AGI )
    call StoreInteger( <GC>, I2S(<智力英雄ID>), "No1State", bj_HEROSTAT_INT )
endfunction[/codes]
用这个:
[codes=jass]function GetHeroNo1State takes unit u returns integer
    return GetStoredInteger( <GC>, I2S(GetUnitTypeId(u)), "No1State" )
endfunction[/codes]
为0时是力量英雄
为1时是敏捷英雄
为2时是智力英雄
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-21 16:18 , Processed in 0.047926 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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