找回密码
 点一下
楼主: woaibusi

请问如何让人族的特种兵的隐身行为只有在移动或者静止的时候才隐身?

[复制链接]
 楼主| 发表于 2010-5-6 10:50:41 | 显示全部楼层
技能队列可以啊?回家得试试
回复

使用道具 举报

发表于 2010-5-6 11:11:56 | 显示全部楼层
所谓静止是指stop吗?如果是的话可能是可以的。
但个人感觉,不存在静止这样一个Abil,所以会残念哪~~

现在来看,此行为的----无效验证器条件为:移动Or非移动(静止)。感觉是不是有些矛盾了?
如果只用数据文件实现,可能无法准确的实现LZ的技能定位。

LZ如果有空的话,先给大家说一下这个技能/行为的定位,这样大家就会有一个调查的方向就了。
其次可以和大家讨论一下定位的合理性。最后才是一起调查一下实现的可能的说^_^
回复

使用道具 举报

 楼主| 发表于 2010-5-6 11:19:28 | 显示全部楼层
恩,我的这个技能的定位呢,就是有技能的单位使用了影响敌对目标的能力,比如攻击啊,使用技能啊
再说详细点,就是让单位再以下情况下显身:攻击目标、对目标使用技能
其他情况下,单位做任何动作都处于隐身状态
目标最好是限制为敌对的,比较难的话,任意目标也可以
回复

使用道具 举报

发表于 2010-5-6 11:20:45 | 显示全部楼层
站立不动就是静止的话,判断Speed==0就可以了

按照你的要求,只需要判断攻击&使用技能就可以了
回复

使用道具 举报

发表于 2010-5-6 11:23:10 | 显示全部楼层
其实楼主的是空闲单位就隐身  非空闲不隐身  这个应该可以从actor调用空闲的模型动作的判断上下手吧
回复

使用道具 举报

 楼主| 发表于 2010-5-6 11:30:02 | 显示全部楼层
移动的话也不算空闲把?
回复

使用道具 举报

发表于 2010-5-6 11:33:13 | 显示全部楼层
引用第25楼woaibusi于2010-05-06 11:30发表的  :
移动的话也不算空闲把?

^_^ 少看了移动  不好意思  

因为我上面那位说的是speed==0啊
回复

使用道具 举报

发表于 2010-5-6 11:37:11 | 显示全部楼层
引用第22楼woaibusi于2010-05-06 11:19发表的  :
恩,我的这个技能的定位呢,就是有技能的单位使用了影响敌对目标的能力,比如攻击啊,使用技能啊
再说详细点,就是让单位再以下情况下显身:攻击目标、对目标使用技能
其他情况下,单位做任何动作都处于隐身状态
目标最好是限制为敌对的,比较难的话,任意目标也可以

只需要判断--交战中&&攻击中(攻击他人以及被攻击),就可以了。
这样简单很多,而且已有的验证器直接可用。
回复

使用道具 举报

 楼主| 发表于 2010-5-6 11:53:50 | 显示全部楼层
哦,那个验证器是负责这个的?
回复

使用道具 举报

发表于 2010-5-6 13:08:12 | 显示全部楼层
手头没编译器的说...应该是以下的几个,不知道对不对,看看吧^_^

攻击中
    <CValidatorUnitOrderQueue id="CasterIsAttacking">
        <AbilLink value="attack"/>
    </CValidatorUnitOrderQueue>

被攻击中
  <CValidatorUnitOrderQueue id="TargetAttackingCaster">
        <WhichUnit Value="Target"/>
        <AbilLink value="attack"/>
        <Target Value="CasterUnit"/>
    </CValidatorUnitOrderQueue>

战斗中
    <CValidatorUnitCompareDamageTakenTime id="CasterInCombat">
        <WhichUnit Value="Caster"/>
        <Compare value="LT"/>
        <Value value="1"/>
    </CValidatorUnitCompareDamageTakenTime>

非战斗中
    <CValidatorUnitCompareDamageTakenTime id="CasterNotInCombat">
        <WhichUnit Value="Caster"/>
        <Compare value="GE"/>
        <Value value="2"/>
    </CValidatorUnitCompareDamageTakenTime>
回复

使用道具 举报

发表于 2010-5-6 13:19:53 | 显示全部楼层
虽然楼主说英文盲,楼主可以Ctrl+D,然后搜索LS的id后面跟的英文
回复

使用道具 举报

发表于 2010-5-6 13:21:26 | 显示全部楼层
不好意思啊,没用过中文版的编译器,完全不知道该怎么翻译- -#
凑合看看吧,如果还找不到,等晚上了再帮你看看。
回复

使用道具 举报

发表于 2010-5-6 13:26:30 | 显示全部楼层
是对的,我反正是搜索到了

话说,那个在战斗时什么意思啊...
回复

使用道具 举报

发表于 2010-5-6 13:33:53 | 显示全部楼层
引用第32楼猫锅于2010-05-06 13:26发表的  :
那个在战斗时什么意思啊...

啊?什么东西?
DamageTakenTime吗?
--直译是最后受到伤害的时间。这个在这里可以被理解为战斗时间,在战斗中则被不断重置。当他脱离战斗,则被会一直增长。(具体实现不明- -#。个人的理解,可能不太准确,不好意思。)
回复

使用道具 举报

发表于 2010-5-6 14:05:19 | 显示全部楼层
确实是受到伤害,没有造成伤害...不知道哪里可以找到使用技能
回复

使用道具 举报

发表于 2010-5-6 14:10:34 | 显示全部楼层
引用第34楼猫锅于2010-05-06 14:05发表的  :
确实是受到伤害,没有造成伤害...不知道哪里可以找到使用技能
额...这个没注意过,呵呵
回复

使用道具 举报

发表于 2010-5-6 15:05:10 | 显示全部楼层
我刚才试验了下CasterNotInCombat和CasterInCombat这两个验证器,在我的繁体编辑器里面它们都没有显示名字

验证器类型翻译的是“单位受伤害所需时间比较”,我把它们的WhichUnit 中的所有类别都试验过了,除了Origin不能生效外,其他所有的都只能在“该单位”受到伤害的情况下返回正确结果呀。

另外貌似就是受到伤害后重置时间。

----------- 帖子于 15:05 更新 --------- 之前内容发布于 15:01 ------------

另外请教一下CValidatorFunction 中的Test 、Return 、Success 、Failure 、Ignored 都是怎么个关系呢?
回复

使用道具 举报

发表于 2010-5-6 15:12:14 | 显示全部楼层
我来说前面那个Combat,因为Ghost的隐身技能不管施法者还是技能目标都是自己所以就悲剧了...
回复

使用道具 举报

发表于 2010-5-6 15:22:25 | 显示全部楼层
引用第37楼猫锅于2010-05-06 15:12发表的  :
我来说前面那个Combat,因为Ghost的隐身技能不管施法者还是技能目标都是自己所以就悲剧了...

哦,我明白点了,施法者或者技能目标都已经在行为里面记录了下来了吗,然后验证器是依据该行为来做的判断吧?

这样的话也难怪会这样了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 19:14 , Processed in 0.059623 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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