找回密码
 点一下
查看: 3853|回复: 6

能多人同时使用的T技能演示——炮弹碎片

[复制链接]
发表于 2010-4-9 22:57:09 | 显示全部楼层 |阅读模式
技能描述:
向目标区域的天空发射一枚炮弹,炮弹到达后会在天空爆炸,对区域内的敌人造成伤害。
等级1 - 造成75点伤害
等级2 - 造成150点伤害
等级3 - 造成225点伤害
等级4 - 造成300点伤害

技能图片:
炮弹碎片.gif

技能下载:
炮弹碎片.w3x (43 KB, 下载次数: 353)   

技能触发器:

[trigger]
PDSP
    事件
        单位 - 任意单位 发动技能效果
    条件
        (施放技能) 等于 炮弹碎片
    动作
        设置 Unit_Int[1] = (Unit_Int[1] + 1)
        设置 PDSP_Point[Unit_Int[1]] = (技能施放点)
        设置 PDSP_Test_Point[0] = ((触发单位) 的位置)
        设置 PDSP_High[Unit_Int[1]] = 0.00
        设置 PDSP_Add_High[Unit_Int[1]] = (500.00 / ((PDSP_Point[Unit_Int[1]] 和 PDSP_Test_Point[0] 之间的距离) / 12.50))
        设置 PDSP_Angle[Unit_Int[1]] = (PDSP_Test_Point[0] 到 PDSP_Point[Unit_Int[1]] 的角度)
        设置 PDSP_Unit[0] = (新建 ((触发单位) 的所有者) 的 炮弹 在(((触发单位) 所在X轴坐标),((触发单位) 所在Y轴坐标)),面向角度:0.00 度)
        单位 - 设置 刀阵旋风  等级对 PDSP_Unit[0] 为 (炮弹碎片  的等级对 (触发单位))
        单位 - 设置 PDSP_Unit[0] 的自定义值为 Unit_Int[1]
        单位组 - 添加 PDSP_Unit[0] 到 PDSP_Group
        如果所有条件成立则做动作1,否则做动作2
            If - 条件
                PDSP_On 等于 FALSE
            Then - 动作
                计时器 - 开启 PDSP_Timer ,计时方式: 循环 时间设置: 0.01 秒
                设置 PDSP_On = TRUE
            Else - 动作
        点 - 清除 PDSP_Test_Point[0]
[/trigger]

[trigger]
PDSP 2
    事件
        时间 - PDSP_Timer 到期
    条件
    动作
        单位组 - 选取 PDSP_Group 内所有单位做动作
            Loop - 动作
                设置 Unit_Int[0] = ((选取单位) 的自定义值)
                设置 PDSP_Point_Part_Time[0] = ((选取单位) 的位置)
                如果所有条件成立则做动作1,否则做动作2
                    If - 条件
                        (PDSP_Point_Part_Time[0] 和 PDSP_Point[Unit_Int[0]] 之间的距离) 大于或等于 17.50
                    Then - 动作
                        设置 PDSP_Point_Part_Time[1] = (从 PDSP_Point_Part_Time[0] 开始,距离 12.50 ,方向为 PDSP_Angle[Unit_Int[0]] 度的位移处)
                        设置 PDSP_High[Unit_Int[0]] = (PDSP_High[Unit_Int[0]] + PDSP_Add_High[Unit_Int[0]])
                        单位 - 立即移动 (选取单位) 到 PDSP_Point_Part_Time[1] ,面向角度 PDSP_Angle[Unit_Int[0]] 度
                        单位 - 添加 风暴之鸦 给 (选取单位)
                        动画 - 改变 (选取单位) 的飞行高度为 PDSP_High[Unit_Int[0]] ,变换速率: 0.00
                        单位 - 删除 风暴之鸦 从 (选取单位)
                    Else - 动作
                        单位组 - 把 (选取单位) 从 PDSP_Group 移除
                        单位 - 对 (选取单位) 发布 暗夜精灵族守望者 - 刀阵旋风 命令
                        如果所有条件成立则做动作1,否则做动作2
                            If - 条件
                                (PDSP_Group 中的单位数量) 小于或等于 0
                            Then - 动作
                                计时器 - 暂停 PDSP_Timer
                                设置 PDSP_On = FALSE
                            Else - 动作
                点 - 清除 PDSP_Point_Part_Time[0]
                点 - 清除 PDSP_Point_Part_Time[1]
[/trigger]

[trigger]
PDSP 3
    事件
        单位 - 任意单位 施放技能结束
    条件
        (施放技能) 等于 刀阵旋风
    动作
        单位 - 杀死 (触发单位)
[/trigger]


Tips:
基本上用单位自定义值就能做能多人同时使用的T技能。

评分

参与人数 1威望 +20 收起 理由
hydralisk + 20

查看全部评分

发表于 2010-4-10 00:48:24 | 显示全部楼层
这不是某腾公司代理的DNF的大枪的技能..
回复

使用道具 举报

发表于 2010-4-10 06:01:07 | 显示全部楼层
很不错的演示~
用单位自定义值当索引来获得数据,把所有马甲全部放到一个单位组里~对整个单位组进行操作~

可以改进的一些地方:
Int的分配机制,如果只是递增的话,虽然说不太可能,但是如果Int超过了8192,那么就无法从数组中读取数据了。
所以可以弄个回收再利用的机制,可以参考一下vj的struct。不过既然是T的~也不是太需要这个吧~
回复

使用道具 举报

 楼主| 发表于 2010-4-10 12:20:52 | 显示全部楼层
啊~谢谢~~我回到香港时看看怎么改进改进
回复

使用道具 举报

发表于 2010-4-10 18:47:03 | 显示全部楼层
额,用自定义值做别的系统的泪流满面
回复

使用道具 举报

发表于 2010-4-10 19:07:41 | 显示全部楼层
人家用到的只是那几个散弹的自定义值
回复

使用道具 举报

发表于 2010-4-10 20:05:32 | 显示全部楼层
等我用到之前那部电脑肯定弄下来。
话说跟DOTA的 散弹 很像。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-4 09:06 , Processed in 0.194215 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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