离线551155
UID:1552[li]注册时间2006-08-27 [/li][li]最后登录2011-11-25 [/li][li]在线时间555小时 [/li] [li]发帖1568 [/li][li]搜Ta的帖子 [/li][li]精华2 [/li][li]金钱742[/li][li]威望36[/li][li]互助14 [/li] 访问TA的空间加好友用道具
上一级是在说谎
发帖1568金钱742威望36互助14 |
只看该作者 10楼 发表于: 2008-03-29
演示9,通用自定义属性分配
这个演示,是我自己最满意的Trigger演示,此演示可添加在任何数量玩家控制的任何数量英雄的地图中,虽然称不上完美,但实用性也是满好的哦。
事件
单位 - 任意单位 提升等级
条件
((触发单位) 是 英雄) 等于 TRUE
动作
单位 - 设置 (触发单位) 的自定义值为 (((触发单位) 的自定义值) + 2)
游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示文本: (((触发单位) 的称谓) + 增加了2个属性点!)
在这个触发中,我们设定了单位属性点的来源,该单位的自定义数,每提升一级增加2点,当然你也可以利用其它方式进行奖励,而具体的加点就是围绕单位自定义数来进行的。
事件
单位 - 任意单位 开始施放技能
条件
(施放技能) 等于 属性增强 (修正版)
动作
如果所有条件成立则做动作1,否则做动作2 If - 条件
((触发单位) 的自定义值) 大于 0 Then - 动作
设置 HERO[(((触发单位) 的所有者) 的玩家索引号)] = (触发单位)
对话框 - 清空 UU
对话框 - 设置 UU 的标题为 (你需要添加 + (((触发单位) 的称谓) + (的属性吗? + ([ + ((转换 ((触发单位) 的自定义值) 为字符串) + ])))))
对话框 - 为 UU 添加按钮,按钮标题为: 力量
设置 UD[1] = (最后创建的对话框按钮)
对话框 - 为 UU 添加按钮,按钮标题为: 敏捷
设置 UD[2] = (最后创建的对话框按钮)
对话框 - 为 UU 添加按钮,按钮标题为: 智慧
设置 UD[3] = (最后创建的对话框按钮)
对话框 - 为 UU 添加按钮,按钮标题为: 放弃
设置 UD[4] = (最后创建的对话框按钮)
对话框 - 显示 UU 对 ((触发单位) 的所有者) Else - 动作
游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示文本: (((触发单位) 的称谓) + 没有多余的属性点!)
在这个触发2中,是利用技能来运行属性加点的,然后通过判断该单位是否还有自定义数来决定是否执行加点动作。然后利用对话框显示该单位的名字以及剩余点数,并提供选择框。
事件
对话框 - UU 被点击
条件
动作
。。。。。。。。。。。。。。
在这个演示中,变量组hero[?]的应用是重点,大家可以看到,在触发2中,有赋值语句HERO[(((触发单位) 的所有者) 的玩家索引号)] = (触发单位),这个语句就是将使用了技能的触发单位进行变量保存,而在触发3中,使用了语句英雄 - 修改 力量 对 HERO[((触发玩家) 的玩家索引号)] : 添加 10 点,对该变量保存的单位增加属性,这里分别使用了“触发单位的所有者”和“触发玩家”,区别在于,触发2中是因为单位引发的事件,所以我们需要使用“触发单位的所有者”的索引号来进行变量组的设定,因为每一个玩家的索引号是独立的,而对话框产生的情况下,一个玩家不可能控制第二个英雄引发触发器的,所以这个变量正常保留到了触发3执行的时候,因为触发3点击按钮的“触发玩家”实际上就是前一个引发对话框触发的单位所属玩家,因此这个变量值还是不变,而对这个变量值进行属性增加也就是正确的了。[ 此贴被551155在2008-03-29 22:14重新编辑 ]
|