找回密码
 点一下
查看: 4258|回复: 8

完美模拟闪电链修改版 [纯T]

[复制链接]
发表于 2011-4-5 12:47:07 | 显示全部楼层 |阅读模式
比原來的完美模拟闪电链新增了伤害距离上个单位最近的目标和被攻击后牵引到施法单位身旁

判断单位是否最近的主要是这几个动作做的,触发如下[trigger]设置 lighten_p1 = ((触发单位) 的位置)
            设置 lighten_group2 = (半径为 1000000000.00 圆心为 lighten_p1 且满足 (((((匹配单位) 在 lighteneds[(((伤害来源) 的所有者) 的玩家索引号)] 中) 等于 FALSE) 且 (((匹配单位) 是 建筑) 等于 FALSE)) 且 ((((匹配单位) 是 死亡的 <New>) 等于
                    -------- 找距离最短的单位 --------
                    设置 Distance[1] = 1000000000.00
                    单位组 - 选取 lighten_group2 内所有单位做动作
                        Loop - 动作
                            设置 p[3] = ((选取单位) 的位置)
                            设置 Distance[0] = (lighten_p1 和 p[3] 之间的距离)
                            -------- 判断距离是否比上次更短 上次=Distance[1] --------
                            如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
                                If - 条件
                                    Distance[0] 小于 Distance[1]
                                Then - 动作
                                    设置 Distance[1] = Distance[0]
                                    设置 au = (选取单位)
                                Else - 动作
                            -------- 结束 --------
                            点 - 清除 p[3]
                    -------- 结束 --------
[/trigger]

而移位触发是这样的,触发如下[trigger]-------- 为要移动的单位新开计时器 --------
    设置 i = (开启中心计时器一个新的运行索引,时间间隔为 0.04 秒,是否循环 TRUE,运行触发器 move <预设>)
    设置 u = (触发单位)
    设置 uuu = uu[(((伤害来源) 的所有者) 的玩家索引号)]
    -------- 结束 --------
[/trigger][trigger]move
    事件
    条件
    动作
        设置 ii = (获取当前到期计时器运行索引)
        设置 p[0] = (u[ii] 的位置)
        设置 p[1] = (uuu[ii] 的位置)
        如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
            If - 条件
                (p[0] 和 p[1] 之间的距离) 大于或等于 100.00
            Then - 动作
                设置 p[2] = (从 p[0] 开始,距离 15.00 ,方向为 (p[0] 到 p[1] 的角度) 度的位移处)
                单位 - 设置 u[ii] 的X坐标为 (p[2] 的X轴坐标)
                单位 - 设置 u[ii] 的Y坐标为 (p[2] 的Y轴坐标)
                点 - 清除 p[2]
            Else - 动作
                系统<YDWE> - 终止运行索引为 (获取当前到期计时器运行索引) 的计时器运行
        点 - 清除 p[0]
        点 - 清除 p[1]
[/trigger]
引用楼主lghdtc于2011-03-20 19:20发表的 完美模拟闪电链 [纯T] :
说实在,我自己也感到了似乎是在用完全不必要的手段在实现一个现成可用的技能。但是如果要捕捉闪电链的最后一个目标,我找不到更好的办法。我看过他人提供的一些闪电链,基本上闪电被创建后都是死死地钉在地上,很难看。所以重做了这个。

老狼UI,冰封王座1.24B
申请免截图,因为,闪电链什么的,都一个样……

完全使用触发写的,比默认的闪电链仅仅多了几项参数,但是却繁琐了N倍。

除了默认版本的所有参数之外,有以下特点:
1.可以随意捕捉闪电链的的第x个目标
2.伤害递减公式由原本的等比公式可以改为更加复杂的公式
3.闪电持续时间可调

与其他作者的闪电链模拟相比,本演示的闪电链跟随单位移动,完全能达到原版效果。

此演示支持多人(但是每位玩家至多拥有一个该技能)

注意:由于使用一维数组变量来实现二维数组变量的功能,因此本演示中闪电链跳跃次数由变量数组大小所局限,理论上可以达到无限多次弹射(看你机器的运算能力啦)。



送上附件:
1.24e版: 连锁闪电 1.24e.w3x (41 KB, 下载次数: 183)
1.20版: 连锁闪电 1.20.w3x (41 KB, 下载次数: 77)

请使用YDWE1.20c or以上版本打开

评分

参与人数 2威望 +17 收起 理由
uoer + 2 如果我没想错这可是相当繁琐的苦工
德鲁依 + 15 已阅

查看全部评分

发表于 2011-4-5 12:53:31 | 显示全部楼层
沙发
回复

使用道具 举报

发表于 2011-4-5 13:14:50 | 显示全部楼层
用T来模拟 闪电链么。。
遗憾的是我现在用的1.20e 完全打不开LZ的技能。。
回复

使用道具 举报

 楼主| 发表于 2011-4-5 13:24:38 | 显示全部楼层
現在更新了1.20e和1.24e版了,不過還是需要ydwe打开
回复

使用道具 举报

发表于 2011-4-5 14:14:32 | 显示全部楼层
引用第2楼clannad于2011-04-05 13:14发表的 :
用T来模拟 闪电链么。。
遗憾的是我现在用的1.20e 完全打不开LZ的技能。。

ydwe 在搞个版本转换 没什么图打不开
回复

使用道具 举报

发表于 2011-4-5 23:17:24 | 显示全部楼层
哦 更新了 给力
回复

使用道具 举报

发表于 2011-4-6 20:24:11 | 显示全部楼层
原以为之前提到的距离问题被lz忽略了,没想到lz一直在做,感动之余,顶一个!
回复

使用道具 举报

 楼主| 发表于 2011-4-6 23:09:40 | 显示全部楼层
引用第6楼lo于2011-04-06 20:24发表的 :
原以为之前提到的距离问题被lz忽略了,没想到lz一直在做,感动之余,顶一个!


=_="怎麼好像是我首先做似的=_=原作者是 lghdtc

引用楼主lghdtc于2011-03-20 19:20发表的 完美模拟闪电链 [纯T] :

我只是看到有人留言我才加上去而已

而且我在帖子下面都引用了原帖和在標題寫明了修改向大家表示這技能只我修改而已

原帖:http://bbs.islga.org/read-htm-tid-52525-fpage-2.html
回复

使用道具 举报

发表于 2011-4-9 08:30:12 | 显示全部楼层
抱歉,太激动了……
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 07:46 , Processed in 0.057470 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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