找回密码
 点一下
查看: 1998|回复: 7

☆技能等级提升效果测试与现存Hp百分比扣除技??自动施放完蛋。★

[复制链接]
发表于 2010-8-20 19:37:25 | 显示全部楼层 |阅读模式
制造目标      百分比扣血箭技能,百分比随等级提升 

而且也没有搜到类似的技能

由于做的技能终极准备扣50%血,按最大血量扣,2箭就完蛋了,太BT了吧?于是改成扣现存Hp型。

初始思路:    trigger→set life 百分比设置为   10% + 10% X 技能level

但是用trigger时到了该用level出现了这个

#


不能用level,Set variable好像也不行 试验下property?

能想到的只有马甲了.



然后做了个Hp为1的马甲,按技能等级开启Avatar(名改为healthsetter)增加Hp

试验trigger如下:

[trigger]
Black Arrow
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Black Arrow
    Actions
        Unit - Create 1 InvisCast for (Owner of (Triggering unit)) at (Target point of ability being cast) facing Default building facing degrees
        Unit - Set level of healthsetter for (Last created unit) to (Level of Black Arrow  for (Triggering unit))
        Unit - Order (Last created unit) to Human Mountain King - Activate Avatar
        Unit - Set life of (Target unit of ability being cast) to ((Percentage life of (Target unit of ability being cast)) x (1.00 - (0.10 + (0.10 x (Max life of (Last created unit))))))%
        

[/trigger]

便于检查暂时略去Hide 和 计时器

测试结果。。。

#

#

#

#

#

略作修改后的trigger:

[trigger]
Black Arrow
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Black Arrow
    Actions
        Set ArrowtargetUnit = (Target unit of ability being cast)
        Unit - Create 1 InvisCast for (Owner of (Triggering unit)) at (Target point of ability being cast) facing Default building facing degrees
        Unit - Set level of healthsetter  for (Last created unit) to (Level of Black Arrow  for (Triggering unit))
        Unit - Order (Last created unit) to Human Mountain King - Activate Avatar
        Unit - Set life of ArrowtargetUnit to ((Percentage life of ArrowtargetUnit) x (1.00 - (0.10 + (0.10 x (Max life of (Last created unit))))))%
[/trigger]

效果:

#

#

#

#

#

#

#

但是我不明白的是 [设置生命] 的目标为[target unit of ability being cast]为什么会莫名其妙的无效化替换别的立刻解决?

做别的技能也会出现类似的   带有指定[技能释放目标点]  或 制定[技能目标单位]的trigger隔了几项Action就失效

另外本帖用的马甲Hp对应等级效果确实很搞笑 那么有没有方便点的办法调整技能等级对应效果,求教。
发表于 2010-8-20 19:46:40 | 显示全部楼层
技能等级是整数
生命是实数
回复

使用道具 举报

发表于 2010-8-20 20:30:55 | 显示全部楼层
居然素英文的  路过···
回复

使用道具 举报

发表于 2010-8-20 20:39:48 | 显示全部楼层
打开就是
任意单位发动技能
命令触发单位对技能释放目标 造成  单位当前生命值X系数X技能等级(转整数为实数)
回复

使用道具 举报

 楼主| 发表于 2010-8-21 12:53:11 | 显示全部楼层
好了

[trigger]
Black Arrow
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Black Arrow
    Actions
        Set ArrowtargetUnit = (Target unit of ability being cast)
        Unit - Set life of ArrowtargetUnit to ((Percentage life of ArrowtargetUnit) x (1.00 - (0.10 + (0.10 x (Real((Level of Black Arrow  for (Triggering unit))))))))%

[/trigger]

多谢楼上几位

不过好像没人理会后面的疑问呢。。。
回复

使用道具 举报

 楼主| 发表于 2010-8-21 14:38:44 | 显示全部楼层
另外有一个问题。

修改好的技能调成主动施放,

自定技能失效

如图


调整过trigger如下时
[trigger]
Black Arrow修改后
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        ((Ability being cast) Equal to Black Arrow) or ((Ability being cast) Equal to Black Arrow修改后 )
    Actions
        Set ArrowtargetUnit = (Target unit of ability being cast)
        Unit - Set life of ArrowtargetUnit to ((Percentage life of ArrowtargetUnit) x (1.00 - (0.10 + (0.10 x (Real((Level of Black Arrow修改后  for (Triggering unit))))))))%

[/trigger]

仍然无效。

自动施放时trigger不认为caster用了该技能

个人解释  开了自动施放以后游戏程序很够意思的替单位放技能并且扣Mp。但是这些自动动作只按原来的技能执行。
回复

使用道具 举报

发表于 2010-8-21 17:17:00 | 显示全部楼层
Target unit of ability being cast在单位结束释放技能时就被销毁了,你是得不到这个值的,鉴于trigger的action属于execute型的,很有可能有一定几率得不到技能释放单位。(因为你的setlife写的太靠后,运行到那里的时候Target unit of ability being cast已经没有了)
回复

使用道具 举报

发表于 2010-8-25 22:24:21 | 显示全部楼层
用觸發寫成偽法球模式
右鍵轉換為開啟模式時開啟偽法球觸發
關閉時關閉偽法球觸發
這樣寫因該比較容易
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-5 03:58 , Processed in 0.030582 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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