找回密码
 点一下
查看: 1391|回复: 16

怎样才能让生命恢复这个技能和智力挂钩呢?

[复制链接]
发表于 2009-2-10 11:36:50 | 显示全部楼层 |阅读模式
    原来我设置了变量X=触发单位,变量Y=技能释放目标

  才发现自己犯错了,如果这个持续治疗的技能释放到新目标身上后,原来的目标身上的效果立即就没了

  请问,我该怎么修改,在此先谢过

[trigger]
daoyan1
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 愈合祷言
    动作
        计时器 - 开启 jishiqi1 ,计时方式: 一次性 时间设置: 18.00 秒
        设置 jiansheng = (触发单位)
        设置 jiansheng_mubiao = (技能施放目标)
        触发器 - 开启 daoyan1 eff <预设>
        触发器 - 开启 daoyan2 eff <预设>
   daoyan1 eff
    事件
        时间 - 每 3.00 秒触发事件
    条件
        (jiansheng_mubiao 拥有 生命恢复) 等于 TRUE
    动作
        单位 - 设置 jiansheng_mubiao 的生命值为 (((生命值 对于 jiansheng_mubiao) + (((转换 (jiansheng_mubiao 的智力值(包括 加成)) 为实数) x 0.65) + (65.00 + ((转换 (愈合祷言  的等级对 jiansheng_mubiao) 为实数) x 45.00)))) + 1.00)
        漂浮文字 - 创建漂浮文字:(转换 (((转换 ((转换 (jiansheng 的智力值(包括 加成)) 为实数) x 0.65) 为整数) + (65 + ((jiansheng 的 愈合祷言  技能等级) x 45))) + 1) 为字符串) 在 jiansheng_mubiao 头顶Z轴偏移 0.00 处,字体大小: 12.00 ,颜色值:(100.00%, 95.00%, 43.00%) ,透明度: 20.00%
        漂浮文字 - 设置 (最后创建的漂浮文字) : 禁用 永久显示.
        漂浮文字 - 设置 (最后创建的漂浮文字) 的生命周期为 2.50 秒
        漂浮文字 - 设置 (最后创建的漂浮文字) 的移动速率为 (随机实数,最小值: 30.00 最大值: 50.00) ,方向为 65.00 度
daoyan2 eff
    事件
        时间 - jishiqi1 到期
    条件
    动作
        触发器 - 关闭 daoyan1 eff <预设>
        触发器 - 关闭 daoyan2 eff <预设>


[/trigger]
发表于 2009-2-10 11:41:03 | 显示全部楼层
用单位组记录技能释放目标
回复

使用道具 举报

发表于 2009-2-10 11:41:46 | 显示全部楼层
要多人的话,建议使用jass,用局部变量来做
要用全局变量的话,可以用数组,不过很麻烦
回复

使用道具 举报

 楼主| 发表于 2009-2-10 11:47:13 | 显示全部楼层
我是JASS盲- -,没人教
回复

使用道具 举报

 楼主| 发表于 2009-2-10 11:49:12 | 显示全部楼层
引用第1楼evenxn007于2009-02-10 11:41发表的  :
用单位组记录技能释放目标

这位朋友,能再详细一些吗?我比较愚钝...该怎么记录?
回复

使用道具 举报

发表于 2009-2-10 12:05:54 | 显示全部楼层
整个技能全发出来才能看出来怎么处理
恩,不用J也能在有限的程度达到局域化效果的
回复

使用道具 举报

 楼主| 发表于 2009-2-10 12:21:21 | 显示全部楼层
引用第5楼疯人¢衰人于2009-02-10 12:05发表的  :
整个技能全发出来才能看出来怎么处理
恩,不用J也能在有限的程度达到局域化效果的

已经全部贴上来了.....面红耳赤ING
回复

使用道具 举报

发表于 2009-2-10 12:45:48 | 显示全部楼层
发动技能效果
添加技能目标到单位组A,
设置技能释放目标的 自定义值为1

每3秒
选取单位组A中的单位做动作
设置选取单位生命值= 选取单位生命值+转换智力对某某*n
if -选取单位自定义值= n
-then 将选取单位从单位组A中清除
-else 设置选取单位的自定义值 = 原值+1

这个方法需要用到单位自定义值,并且要求一个玩家只控制一个英雄(大部分图都是这样),不是最好。
还是局部变量比较方便,用局部覆盖全局的操作方法也很好。
回复

使用道具 举报

发表于 2009-2-10 13:10:47 | 显示全部楼层
feichui_target 是什么?

技能的大概内容是英雄释放技能
目标回血于英雄智力相关
并且显示回血量?
我去做一下吧
……………………………………………………
楼上的方法可以改下
用个带魔法效果的技能做主体技能
然后3秒检查地图中单位(根据地图加条件)
如果带有这个技能魔法效果
回复血和创建漂浮文字
这样就可以多人使用了
……………………………………………………
如果要精确到每个单位接受到的回复都是3秒的间隔的话
LS的方法就不行了
如果不考虑这一点那么第一次回血不是精确的3秒间隔
(如果在释放技能事件里也有同样的恢复事件,那么就是1,2次回血之间)
也不知道我说的明不明白
我说的意思是3秒间隔是固定的
但是这3秒间隔的开始不是从释放技能开始的
也就是如果你是在上次恢复触发运行的1秒后释放了技能
那么这次释放的目标会在2秒后第一次回血
之后就正常了
如果要解决这个问题
那么需要将计时器绑定单位
为每个单位开起不同计时器
恩很麻烦
……
我再想想
回复

使用道具 举报

 楼主| 发表于 2009-2-10 17:14:05 | 显示全部楼层
引用第8楼疯人¢衰人于2009-02-10 13:10发表的  :
feichui_target 是什么?

技能的大概内容是英雄释放技能
目标回血于英雄智力相关
并且显示回血量?
.......


囧,那是我设置的另外一个变量= =,飞锤技能专用的目标......我选错变量了.....

还有,很奇怪这个内码转换器转的daoyan1 eff是我好几步前的设置

呃...条件应该是jiansheng-mubiao拥有生命恢复,而不是图里的= =

我重新贴一下好了....


顺便感谢一下楼上的几位好心人!
回复

使用道具 举报

发表于 2009-2-10 17:26:05 | 显示全部楼层
其实我倒有这个技能比较简单实用的一种做法~~

单说的话似乎不太说得明白,试试发演示~~~~~
回复

使用道具 举报

发表于 2009-2-10 17:48:58 | 显示全部楼层
好了好了
做好了演示
恩可惜因为要获取施法单位的智力
不然就不限制为唯一技能了
恩恩,如果需要多英雄使用的话
做一点修改就可以了
大概还是说明下吧
这个技能制作难度在于要为每个释放目标绑定两个计时器
一个是3秒回复间隔,一个是18秒的总时间
绑定计时器用J来做能做到
但是直接用T很难
(不是自吹,确实)
想了很久
发觉能够达到计时器功能,
可以绑定单位身上
并且能够响应触发的就只有周期伤害的技能
通过持续时间来做间隔
用接受伤害来当做计时器到期事件
而且为了能够与其他伤害事件区别
我使用了只会对自己造成0.01伤害的永久献祭
持续时间3秒就是回复间隔
另外用闪电盾做了主体技能
持续时间18秒
同时写T
[trigger]
对战初始化
    事件
        地图初始化
    条件
    动作
        可见度 - 禁用战争迷雾
        可见度 - 禁用黑色阴影
        Set spell_unit = 圣骑士 0002 <预设>
        玩家 - 禁用 魔法书 1 对 玩家1(红色)
NewTrigger 001
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 闪电护盾
    动作
        单位 - 添加 魔法书 1 给 (技能施放目标)
        触发器 - 为 NewTrigger 002 <预设> 添加事件: (单位 - (技能施放目标) 接受伤害)
NewTrigger 002
    事件
    条件
        (单位所受伤害) 等于 0.01
        (伤害来源) 等于 (触发单位)
    动作
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 运作)
            If - 条件
                ((触发单位) 拥有 闪电护盾 1) 等于 TRUE
            Then - 动作
                单位 - 设置 (触发单位) 的生命值为 ((生命值 对于 (触发单位)) + (((转换 (智力 对 spell_unit (包括 加成)) 为实数) x 0.65) + (65.00 + ((转换 (闪电护盾  的等级对 spell_unit) 为实数) x 45.00))))
                漂浮文字 - 创建漂浮文字: 恢复生命! 在 (触发单位)的头顶, Z轴偏移 10.00,字体大小: 10.00 ,颜色值:(100.00%, 100.00%, 100.00%) ,透明度: 0.00%
                漂浮文字 - 设置 (最后创建的漂浮文字) : 禁用 永久显示.
                漂浮文字 - 设置 (最后创建的漂浮文字) 的显示时间为 2.50 秒
            Else - 动作
                单位 - 删除 魔法书 1 从 (触发单位)
[/trigger]
每次受到自己给于的0.01伤害时(永久献祭自动每3秒给于)
目标单位会检查闪电盾的魔法效果
18秒内存在就回复生命
超过18秒就删除永久献祭
这样达到了目的
魔法书禁用是为了隐藏永久献祭图标
唯一的问题是永久献祭属于伤害
在英雄头像上会有的提示
可以逃跑的单位会逃跑

回复.w3x

20 KB, 下载次数: 16

回复

使用道具 举报

发表于 2009-2-10 18:01:22 | 显示全部楼层
依然没有解决多个施法者的问题口牙
回复

使用道具 举报

发表于 2009-2-10 18:13:07 | 显示全部楼层
施法者的问题是次要的……
只要是计时器的问题
恩,好吧
我来改下
其实很简单
只要创建一个加入了所有带有这个技能的英雄的数组
类型为单位
然后判断施法单位是在单位组中的序号
用目标的自定义值保存
然后每次因受到伤害响应时
通过自定义值获得对应施法英雄的智力就行了

回复.w3x

20 KB, 下载次数: 19

回复

使用道具 举报

发表于 2009-2-10 19:08:02 | 显示全部楼层
唉~~

老了啊~~

演示.w3x

20 KB, 下载次数: 20

回复

使用道具 举报

发表于 2009-2-10 20:42:05 | 显示全部楼层
恩恩
直接保存回复值就可以了
省的还要判断英雄
而且还可以判断最大生命值
比我做的好
……
不过诡异的是
我当时选择的生命回复无法响应受伤害事件
回复

使用道具 举报

 楼主| 发表于 2009-2-10 23:59:15 | 显示全部楼层
谢谢楼上各位,下午在休息来不及道谢了...

现在在夜班,下班了才能看演示

再次感谢
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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