找回密码
 点一下
查看: 1969|回复: 22

事件:指定单位被dota水人的模型和技能诱惑

[复制链接]
发表于 2011-6-7 18:34:57 | 显示全部楼层 |阅读模式
[trigger]
触发
事件
  任意单位进入本帖
条件
  (触发单位)是ga的成员 等于 true
动作
  设置 GroupA = ga的广大成员并满足(匹配单位)非(触发单位)
  选取GroupA做动作
   如果所有条件成立则做动作1,否则做动作2
    If - 条件
     任一条件成立
      选取单位持有水人模型或技能
      选取单位手上有传送门
    Then - 动作
     麻烦选取单位给个传送
    Else - 动作
     无动作
  删除单位组a
[/trigger]
发表于 2011-6-7 18:41:10 | 显示全部楼层
搜索一下水元素将会得到无数答案

另外,水人哪来的诱惑技能?如果我没记错的话,一个是推波浪,一个是击晕,一个是复制,一个属性转换吧?
回复

使用道具 举报

发表于 2011-6-7 19:28:06 | 显示全部楼层
帮助楼主修正了触发错误~不用谢谢我了
回复

使用道具 举报

发表于 2011-6-7 19:40:51 | 显示全部楼层
话说水人确实没有“魅惑”技能啊,而且它的模型就是对战里面的“海元素”啊。
回复

使用道具 举报

 楼主| 发表于 2011-6-7 22:42:39 | 显示全部楼层

回 3楼(希瓦) 的帖子

很感谢啊,编辑这图片很麻烦啊
回复

使用道具 举报

发表于 2011-6-8 17:32:47 | 显示全部楼层
赞新意~~~~
回复

使用道具 举报

发表于 2011-6-13 20:53:16 | 显示全部楼层
没看懂
回复

使用道具 举报

发表于 2011-6-13 23:09:15 | 显示全部楼层
技能是我简略编的,没有测试。。。只是给个大致思路,DOTA原技能应该会比这个复杂很多
变量:
GroupA 单位组
TargetPoint 点
Effect 特效
[trigger]波浪形态
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 波浪形态
    动作
        -------- 我不知道水人的W能不能S --------
        -------- 如果可以的话将事件改成开始施法 --------
        For循环整数A从 1 到 10, 做动作
            Loop - 动作
                设置 GroupA = (半径为 150.00 圆心为 ((触发单位) 的位置) 且满足 ((((匹配单位) 的所有者) 是 ((触发单位) 的所有者) 的盟友) 等于 FALSE) 的所有单位)
                设置 TargetPoint = (从 ((触发单位) 的位置) 开始,距离 100.00 ,方向为 ((触发单位) 的面向角度) 度的位移处)
                单位 - 立即移动 (触发单位) 到 TargetPoint
                -------- 我不知道DOTA的水人用的什么特效,这里特效我随便选的 --------
                设置 Effect = (新建特效 Abilities\\Spells\\Other\\Drain\\ManaDrainCaster.mdl 在 ((触发单位) 的位置) 处)
                单位组 - 选取 GroupA 内所有单位做动作
                    Loop - 动作
                        单位 - 命令 (触发单位) 对 (选取单位) 造成 (100.00 + (75.00 x ((转换 (波浪形态  的等级对 (触发单位)) 为实数) - 1.00))) 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 法术 伤害类型: 普通 装甲类型: 无
                特殊效果 - 删除 Effect
                单位组 - 删除 GroupA
[/trigger]


PS:技能的耗魔、施法距离、施法间隔等都是直接对那个技能编辑,在物编里编技能


http://bbs.islga.org/read-htm-tid-9921.html
后来去搜索了下发现有前辈做了这个技能。。。。
回复

使用道具 举报

发表于 2011-6-13 23:16:53 | 显示全部楼层
属性转换是当英雄第一次学习该技能时,添加力量转换和敏捷转换给英雄
当升级该技能时,修改力量转换和敏捷转换的的技能等级
同样。。只是给个思路
[trigger]属性转换(敏转力)
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 属性转换(敏转力)
    动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                (转换 (敏捷 对 (触发单位) (不包括 加成)) 为实数) 大于或等于 (2.00 / (1.00 / (转换 (属性转换(敏转力)  的等级对 (触发单位)) 为实数)))
            Then - 动作
                英雄 - 修改 力量 对 (触发单位) : 添加 (2 / (1 / (转换 (转换 (属性转换(敏转力)  的等级对 (触发单位)) 为实数) 为整数))) 点
                英雄 - 修改 敏捷 对 (触发单位) : 减去 (2 / (1 / (转换 (转换 (属性转换(敏转力)  的等级对 (触发单位)) 为实数) 为整数))) 点
            Else - 动作
                无动作
        -------- 力量转敏捷同理 --------
[/trigger]


还有两个技能我等会儿再做,现在有事。。。。可能要好几个小时以后了吧。。。
哪位大大空的话也可做一下,或者给个传送门什么的


没人回复饿。。。那下面要连楼了。。这次路人大大们能否通融一下~
由于我这里回复的时候到了一定的行数那个移动条会往上弹,所以过长的回复无法放在一起。。。不然弄起来很麻烦。。
回复

使用道具 举报

发表于 2011-6-14 04:43:16 | 显示全部楼层
变体攻击 - DOTA原版是用JASS写的,所以有些东西,比如动态的眩晕时间,在我用的UI是没法直接设置的,需要用马甲等各种东西模拟,比较累。。所以没弄。。LZ可以尝试用功能更强大的UI,说不定里面有直接设置的动作
数据计算资料来源:作者:gringoire 来源:zmr
变量:
CoefficientA & CoefficientB:就是计算伤害等系数时需要用到的 力/敏 & 敏/力 的比值,变量类型为实数
其它变量在T里面有描述或者马上能看懂~
[trigger]变体攻击
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 变体攻击
    动作
        -------- 不想一直重复触发单位和目标单位所以用了变量 --------
        设置 A = (触发单位)
        设置 B = (技能施放目标)
        -------- 先记录两个系数 --------
        设置 CoefficientA = ((转换 (力量 对 A (包括 加成)) 为实数) / (转换 (敏捷 对 A (包括 加成)) 为实数))
        设置 CoefficientB = ((转换 (敏捷 对 A (包括 加成)) 为实数) / (转换 (力量 对 A (包括 加成)) 为实数))
        -------- 以下就是水人烦杂的各种计算了,为了理清条理,我将其分开了 --------
        触发器 - 运行 伤害 <预设> (无视条件)
        触发器 - 运行 击退 <预设> (无视条件)
        触发器 - 运行 眩晕 <预设> (无视条件)
        -------- 特效我就不加了,在适当的地方加上特效就行了,记得排泄 --------
[/trigger]
[trigger]伤害
    事件
    条件
    动作
        触发器 - 关闭 (当前触发)
        -------- (官网数据)最小伤害系数为0.25,最大为?(因为需要计算。。) --------
        -------- 还是那句话,为了理清条理不并在一起了 --------
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                CoefficientB 小于 0.50
            Then - 动作
                单位 - 命令 A 对 B 造成 (0.25 x (转换 (敏捷 对 A (包括 加成)) 为实数)) 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
            Else - 动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                CoefficientB 大于 1.50
            Then - 动作
                单位 - 命令 A 对 B 造成 ((0.75 x (转换 (变体攻击  的等级对 A) 为实数)) x (转换 (敏捷 对 A (包括 加成)) 为实数)) 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
            Else - 动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                (CoefficientB 大于或等于 0.50) and (CoefficientB 小于或等于 1.50)
            Then - 动作
                -------- 设置伤害系数Y --------
                设置 Y = (0.25 + ((CoefficientB - 0.50) x ((0.75 x (转换 (变体攻击  的等级对 A) 为实数)) - 0.25)))
                单位 - 命令 A 对 B 造成 (Y x (转换 (敏捷 对 A (包括 加成)) 为实数)) 点伤害(是 攻击伤害, 不是远程攻击) 攻击类型: 英雄 伤害类型: 普通 装甲类型: 无
            Else - 动作
[/trigger]
[trigger]击退
    事件
    条件
    动作
        触发器 - 关闭 (当前触发)
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                CoefficientA 小于 0.50
            Then - 动作
                设置 Point = (从 (B 的位置) 开始,距离 100.00 ,方向为 (A 的面向角度) 度的位移处)
                单位 - 立即移动 B 到 Point
                点 - 清除 Point
            Else - 动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                CoefficientA 大于 1.50
            Then - 动作
                设置 Point = (从 (B 的位置) 开始,距离 300.00 ,方向为 (A 的面向角度) 度的位移处)
                单位 - 立即移动 B 到 Point
                点 - 清除 Point
            Else - 动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                (CoefficientA 大于或等于 0.50) and (CoefficientA 小于或等于 1.50)
            Then - 动作
                设置 Point = (从 (B 的位置) 开始,距离 (100.00 + ((CoefficientA - 0.50) x 200.00)) ,方向为 (A 的面向角度) 度的位移处)
                单位 - 立即移动 B 到 Point
                点 - 清除 Point
            Else - 动作
[/trigger]
[trigger]眩晕
    事件
    条件
    动作
        触发器 - 关闭 (当前触发)
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                CoefficientA 小于 0.50
            Then - 动作
                -------- 我不知道怎么动态改变眩晕时间,所以用暂停与恢复先代替下 --------
                -------- PS:功能强大的UI可能自带这种功能 --------
                单位 - 暂停 B
                等待 0.25 秒游戏时间
                单位 - 恢复 B
            Else - 动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                CoefficientA 大于 1.50
            Then - 动作
                单位 - 暂停 B
                等待 (0.75 x (转换 (变体攻击  的等级对 A) 为实数)) 秒游戏时间
                单位 - 恢复 B
            Else - 动作
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                (CoefficientA 大于或等于 0.50) and (CoefficientA 小于或等于 1.50)
            Then - 动作
                单位 - 暂停 B
                等待 (0.25 + ((CoefficientA - 0.50) x ((0.75 x (转换 (变体攻击  的等级对 A) 为实数)) - 0.25))) 秒游戏时间
                单位 - 恢复 B
            Else - 动作
[/trigger]
回复

使用道具 举报

发表于 2011-6-14 06:00:26 | 显示全部楼层
http://bbs.islga.org/read-htm-tid-16989.html
这个是模型。。。以后楼主来问之前先搜索下饿。。。

发现我严重连楼了。。
要扣分就扣吧。。。
回复

使用道具 举报

发表于 2011-6-14 07:07:31 | 显示全部楼层
最后一个技能。。。竣工。。。
搜索后发现DOTA技能倒是很多,但是没有水人的大招。。所以。。
先修改技能:
物编(F6)->技能->特殊->物品->上数下大概第68个(我现在有点眼花。。),原名叫幻象物品(老狼的UI),直接复制黏贴->数据-施加伤害改成0.5%,数据-受到伤害倍数改成1,然后把文本-名字改了。。
然后,发现T里面只有预置的对单位发动幻象权杖的动作,所以把原版幻象权杖改了,不要复制黏贴,直接换物品技能(不知道这点对不对,请大大们指正),如果想要在地图中用原版的幻象权杖的话,改之前先复制黏贴原版的吧。。
PS:记得改那个技能的施法距离,如果距离还是不够的话(我不信改成最大的还不够。。)那么就创建马甲在目标旁边对其使用幻象权杖技能
变量就不解释了。。都是最基本的
[trigger]复制1
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 复制
        所有条件成立
            条件
                (技能施放目标) 不等于 (触发单位)
                任一条件成立
                    条件
                        ((技能施放目标) 是 英雄) 等于 TRUE
                        ((技能施放目标) 是镜像单位) 等于 TRUE
    动作
        -------- 我记得DOTA中没有小兵等单位的镜像,所以条件中用镜像单位应该可以 --------
        设置 CopyPlayer = (触发玩家)
        设置 CopyUser = (触发单位)
        触发器 - 开启 复制2 <预设>
        单位 - 对 (触发单位) 发布 物品技能 - 幻象权杖 命令到目标: (技能施放目标)
        -------- 更换技能,我这里简单化了,至于保持技能CD的方法请参考下面的链接 --------
        触发器 - 为 复制3 <预设> 添加事件: (单位 - CopyUser 发动技能效果)
        触发器 - 开启 复制3 <预设>
        触发器 - 为 复制4 <预设> 添加事件: (单位 - CopiedUnit 死亡)
        触发器 - 开启 复制4 <预设>
        单位 - 删除 复制  从 (触发单位)
        单位 - 添加 移位  给 (触发单位)
[/trigger]
[trigger]复制2
    事件
        单位 - 任意单位 被召唤(召唤单位)
    条件
        所有条件成立
            条件
                ((触发单位) 的所有者) 等于 CopyPlayer
                ((触发单位) 是镜像单位) 等于 TRUE
    动作
        触发器 - 关闭 (当前触发)
        设置 CopiedUnit = (触发单位)
[/trigger]
[trigger]复制3
    事件
    条件
        (施放技能) 等于 移位
    动作
        触发器 - 关闭 (当前触发)
        设置 MovingPoint = (CopiedUnit 的位置)
        单位 - 使 CopiedUnit 爆炸而死
        单位 - 立即移动 CopyUser 到 MovingPoint
        单位 - 删除 移位  从 CopyUser
        单位 - 添加 复制  给 CopyUser
        -------- 排泄ing...... --------
        点 - 清除 MovingPoint
        设置 CopiedUnit = 没有单位
        设置 CopyUser = 没有单位
[/trigger]
[trigger]复制4
    事件
    条件
    动作
        触发器 - 关闭 (当前触发)
        单位 - 删除 移位  从 CopyUser
        单位 - 添加 复制  给 CopyUser
        -------- 排泄ing...... --------
        设置 CopiedUnit = 没有单位
        设置 CopyUser = 没有单位
[/trigger]


http://bbs.islga.org/read-htm-tid-46713.html
http://bbs.islga.org/read-htm-tid-38632.html
回复

使用道具 举报

发表于 2011-6-14 07:17:12 | 显示全部楼层
不知为何我打不开第四个T的动作(悲剧。。又占一楼。。)
第四个T就是当复制人到期后删除水人的 移动 技能,添加 复制 技能,然后各种排泄。。
以上~
回复

使用道具 举报

 楼主| 发表于 2011-6-14 08:14:07 | 显示全部楼层

回 12楼(chyj4747) 的帖子

很感谢啊,写了这么多。水人的变体攻击技能变得这么复杂了?记得以前的版本只有敏力比0.5的这个界限,没分那么细。
回复

使用道具 举报

 楼主| 发表于 2011-6-14 08:19:20 | 显示全部楼层

回 12楼(chyj4747) 的帖子

dota中有小兵的镜像单位,有一个头盔可以复制小兵。
回复

使用道具 举报

发表于 2011-6-14 08:41:37 | 显示全部楼层
引用第13楼fatanic于2011-06-14 08:14发表的 回 12楼(chyj4747) 的帖子 :
很感谢啊,写了这么多。水人的变体攻击技能变得这么复杂了?记得以前的版本只有敏力比0.5的这个界限,没分那么细。
水人那个老早就改了。。

如果你说的是敏捷比力量多50%或力量比敏捷多50%的话,那不是改版。。。就是我写的这个,没变过。。只是那个技能的介绍写得。。过于简单了
引用第14楼fatanic于2011-06-14 08:19发表的 回 12楼(chyj4747) 的帖子 :
dota中有小兵的镜像单位,有一个头盔可以复制小兵。
至于你说的那个头盔我倒是不记得了,我也很久没打DOTA了。。。
那么就再加个条件,判断镜像是属于非电脑玩家的
回复

使用道具 举报

发表于 2011-6-14 09:04:56 | 显示全部楼层
http://bbs.islga.org/read-htm-tid-23381.html
这个链接是关于如何主动解除眩晕状态的,虽然我只是大致浏览了下。。
就是说LZ可以在变体攻击的 眩晕触发 里加入这个方法使眩晕能够有动态时间(即根据水人属性调节眩晕时间)
大致说下个人思路:开个计时器,时间为计算后得到的眩晕时间,计时器到期后删除眩晕效果,排泄。。
当然前提是你没有强大的UI的话那么可以用这个我觉得比较麻烦的方法。。
回复

使用道具 举报

 楼主| 发表于 2011-6-14 10:06:22 | 显示全部楼层

回 16楼(chyj4747) 的帖子

从你这学到很多啊,排泄和触发的格式很重要

顺便问一个问题:对单位发布指定单位攻击命令的时候,为什么攻击单位没有攻击动作,却有攻击声音和伤害
回复

使用道具 举报

发表于 2011-6-14 10:44:42 | 显示全部楼层

Re:回 16楼(chyj4747) 的帖子

引用第17楼fatanic于2011-06-14 10:06发表的 回 16楼(chyj4747) 的帖子 :
从你这学到很多啊,排泄和触发的格式很重要

顺便问一个问题:对单位发布指定单位攻击命令的时候,为什么攻击单位没有攻击动作,却有攻击声音和伤害
模型没有attack动作
回复

使用道具 举报

 楼主| 发表于 2011-6-14 12:05:58 | 显示全部楼层

回 18楼(愛婼メ媋楓) 的帖子

用的山丘(原版),触发就是
事件,任意单位被攻击
条件,攻击单位是山丘
动作,命令攻击单位 攻击一次 触发单位

没动作,有伤害和声音
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 12:45 , Processed in 0.084447 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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