找回密码
 点一下
查看: 1328|回复: 11

帮忙看一下这个触发器哪错了

[复制链接]
发表于 2011-8-16 20:53:40 | 显示全部楼层 |阅读模式
[trigger]
未命名触发器 021
    事件
        单位 - 任意单位 开始施放技能
    条件
        (施放技能) 等于 时空之星
    动作
        单位 - 创建 1 个 时空守卫 给 ((触发单位) 的所有者) 在 ((技能施放目标) 的位置) ,面向角度为 默认建筑朝向 度
        等待 2.00 秒
        单位 - 立即移动 (技能施放目标) 到 ((最后创建的单位) 的位置)
        特殊效果 - 在 ((技能施放目标) 的位置) 创建特效: Abilities\Spells\Human\ManaFlare\ManaFlareBoltImpact.mdl
        单位 - 命令 (触发单位) 对 (技能施放目标) 造成 ((转换 (敏捷 对 (触发单位) (包括 加成)) 为实数) x ((转换 (时空之星 1 的等级对 (触发单位)) 为实数) x 2.00)) 点伤害,攻击类型: 法术 伤害类型: 普通
        特殊效果 - 删除 (最后创建的特效)
[/trigger]
本来想做个四代的时空隧道的,可是由于不会记录单位位置,只好用了上面的笨方法。结果发现一点作用也没。也就是说触发器完全无效。我不明白问题出在哪里。
发表于 2011-8-16 22:26:42 | 显示全部楼层
先用变量纪录单位
回复

使用道具 举报

发表于 2011-8-17 08:47:32 | 显示全部楼层
这个T除了目标可能不会移动到马甲的位置、特效可能删不掉、马甲若不是自减血则没排泄、技能施放过程中会被S掉、三个点没排泄、造成伤害的动作中可能使用了别的技能外没什么问题啊……

第一个动作“触发单位的所有者”改为“触发玩家”即可,发动技能的事件会注册玩家的,另外这个时空守卫要排泄,并用变量记录这个马甲;
等待2s之后那个“最后创建的单位”可能已经不是那个马甲了,所以要用之前记录的变量代替;
那个“XX单位的位置”是会创建一个点的,所以要么用“点-删除最后创建的点”排泄,要么用变量记录那些点,用完之后排泄;
与之前马甲单位同理,若两个技能同时施放,最后那个“删除最后创建的特效”可能删除的已经不是这个技能创建的特效了,虽然中间隔的时间比等待2s要短很多;
如果LZ说的技能没效果包括没伤害的话,那可能是那个造成伤害的动作中,“时空之星 1 的等级”这个技能的等级时0吧……这个T的条件中用的是“时空之星”这个技能,但是伤害动作中用的是“时空之星 1”这个技能。。。;
最后说一下,这个技能用的是“开始施放技能”事件,那么在施放过程中可以被S掉,如果LZ不希望技能已经放出去后还能被S,那么最好改成“任意单位发动技能效果”

以上~
回复

使用道具 举报

 楼主| 发表于 2011-8-17 10:30:40 | 显示全部楼层
引用第2楼chyj4747于2011-08-17 08:47发表的  :
这个T除了目标可能不会移动到马甲的位置、特效可能删不掉、马甲若不是自减血则没排泄、技能施放过程中会被S掉、三个点没排泄、造成伤害的动作中可能使用了别的技能外没什么问题啊……

第一个动作“触发单位的所有者”改为“触发玩家”即可,发动技能的事件会注册玩家的,另外这个时空守卫要排泄,并用变量记录这个马甲;
等待2s之后那个“最后创建的单位”可能已经不是那个马甲了,所以要用之前记录的变量代替;
那个“XX单位的位置”是会创建一个点的,所以要么用“点-删除最后创建的点”排泄,要么用变量记录那些点,用完之后排泄;
.......
根据您的建议,触发以改善,但问题依旧:无伤害、无动作、无特效。
[trigger]
未命名触发器 021
    事件
        单位 - 任意单位 施放技能结束
    条件
        (施放技能) 等于 时空奥义
    动作
        设置 shikong = (新建 (触发玩家) 的 时空守卫 在 ((技能施放目标) 的位置) 面向角度:0.00 度)
        等待 2.00 秒
        单位 - 立即移动 (技能施放目标) 到 (shikong 的位置)
        设置 tx = (新建特效 Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl 在 ((技能施放目标) 的位置) 处)
        单位 - 命令 (触发单位) 对 (技能施放目标) 造成 ((转换 (敏捷 对 (触发单位) (包括 加成)) 为实数) x ((转换 (时空奥义  的等级对 (触发单位)) 为实数) x 2.00)) 点伤害,攻击类型: 法术 伤害类型: 普通
        特殊效果 - 删除 tx
        点 - 清除 (shikong 的位置)

[/trigger]
回复

使用道具 举报

发表于 2011-8-17 11:26:58 | 显示全部楼层
之前忘了说,技能施放目标要用变量记录,然后之后全部用那个变量来代替
顺便我刚才试了下,不记录的情况下(即全部使用“技能施放目标”代替)无法捕捉到目标单位。。
PS:LZ只是要目标单位回到2s前的地方,不需要在哪里创建马甲,直接变量记录那个点就行~

测试图: 时空奥义.w3x (18 KB, 下载次数: 3)
测试图很渣,比如只能单人且不能连续施放,就是施放完第一次后要等目标单位回去了才能再放第二次。。当然还有其它问题,所以当做仅提供个大致思路吧~
回复

使用道具 举报

发表于 2011-8-17 12:07:56 | 显示全部楼层
ls干嘛不直接教局部变量……
全局多人化很麻烦的……
这个技能最适合的也是局部变量法……
一般的特效动作可以直接写成:特效删除 - 删除(新建特效……在……)
回复

使用道具 举报

发表于 2011-8-17 12:17:41 | 显示全部楼层
引用第5楼lo于2011-08-17 12:07发表的  :
ls干嘛不直接教局部变量……
全局多人化很麻烦的……
这个技能最适合的也是局部变量法……
一般的特效动作可以直接写成:特效删除 - 删除(新建特效……在……)
我看不出LZ用的是什么UI。。如果不是YD的应该没有局部的吧。。
然后。。我觉得LZ应该先熟悉T的一些基本写法,之后才是解决变量冲突的事~
回复

使用道具 举报

 楼主| 发表于 2011-8-17 12:52:48 | 显示全部楼层
引用第4楼chyj4747于2011-08-17 11:26发表的  :
之前忘了说,技能施放目标要用变量记录,然后之后全部用那个变量来代替
顺便我刚才试了下,不记录的情况下(即全部使用“技能施放目标”代替)无法捕捉到目标单位。。
PS:LZ只是要目标单位回到2s前的地方,不需要在哪里创建马甲,直接变量记录那个点就行~

测试图:
.......
非常遗憾,您给的图打不开。我用的头目的WE(话说很多地图都打不开),您用的是什么WE?
回复

使用道具 举报

发表于 2011-8-17 12:56:38 | 显示全部楼层
头目的UI是啥……
另外lz这个不是回到两秒前的地方,而是两秒后回到原地……
回复

使用道具 举报

 楼主| 发表于 2011-8-17 17:37:12 | 显示全部楼层
引用第8楼lo于2011-08-17 12:56发表的  :
头目的UI是啥……
另外lz这个不是回到两秒前的地方,而是两秒后回到原地……
是EnE WE。 麦德三世のWE.rar (1.32 MB, 下载次数: 2)
回复

使用道具 举报

发表于 2011-8-18 15:42:29 | 显示全部楼层
这个落后了。。。头目很久不更新了。。。
回复

使用道具 举报

发表于 2011-8-18 16:40:19 | 显示全部楼层
其实很简单的东西,两个触发就行了。
做技能,思路要清晰、灵活

但是,我这个方式是投机取巧的,如果目标使用无敌、魔免、隐身、被影藏、走出视野。技能就失效了


附件在此,改了名字,呵呵: 船长-标记.w3x (21 KB, 下载次数: 3)

[trigger]part 1
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 死亡之指 英雄
    动作
        设置 p = ((技能施放目标) 的位置)
        单位 - 创建 1 个 马甲1号 给 ((触发单位) 的所有者) 在 p ,面向角度为 默认建筑朝向 度
        单位 - 对 (最后创建的单位) 发布 燃烧军团阿克蒙德 - 死亡之指 命令到目标: (技能施放目标)
        点 - 清除 p
        设置 hero[(((触发单位) 的所有者) 的玩家索引号)] = (触发单位)
[/trigger]

【死亡之指 马甲】这个技能的施法时间为2秒

[trigger]part 2
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 死亡之指 马甲
    动作
        设置 p = ((触发单位) 的位置)
        单位 - 设置 (技能施放目标) 的X坐标为 (p 的X轴坐标)
        单位 - 设置 (技能施放目标) 的Y坐标为 (p 的Y轴坐标)
        点 - 清除 p
        设置 harm = ((转换 (死亡之指 英雄 的等级对 hero[(((触发单位) 的所有者) 的玩家索引号)]) 为实数) x (转换 (敏捷 对 hero[(((触发单位) 的所有者) 的玩家索引号)] (包括 加成)) 为实数))
        设置 harm = (harm x 2.00)
        单位 - 命令 hero[(((触发单位) 的所有者) 的玩家索引号)] 对 (技能施放目标) 造成 harm 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 法术 伤害类型: 普通 装甲类型: 无
[/trigger]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 18:19 , Processed in 0.040085 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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