[ESA]永恒的星际联盟

 找回密码
 立即注册

!connect_header_login!

!connect_header_login_tip!

查看: 1027|回复: 24

怎么实现按钮触发

[复制链接]
发表于 2018-7-4 14:32:38 | 显示全部楼层 |阅读模式
@hyb @akira93
工具我都有,物品栏插件也装好了,就是关于plg插件的设置检测按钮不太懂……
1.jpg
发表于 2018-7-4 15:36:01 | 显示全部楼层
检测按钮有BUG。你既然装了物品栏插件就用44号来做触发往下执行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-7-4 16:03:47 来自手机 | 显示全部楼层
星际z 发表于 2018-7-4 15:36
检测按钮有BUG。你既然装了物品栏插件就用44号来做触发往下执行。

44号怎么用呢...
回复 支持 反对

使用道具 举报

发表于 2018-7-4 18:28:21 | 显示全部楼层
看演示图怎么用的
回复 支持 反对

使用道具 举报

发表于 2018-7-4 19:24:57 | 显示全部楼层
这个好像很简单,就那机枪兵来说,机枪兵的兴奋剂按钮是  7 号位置
可以选择单位机枪 7位置  ID 1
   
按下后  增加10000¥钱   

大致应该是这样吧,当然我还没有试过!
回复 支持 反对

使用道具 举报

发表于 2018-7-4 19:57:15 | 显示全部楼层
演示图你不看的吗 H$APGFN5K4AROK`$$J66.png
回复 支持 反对

使用道具 举报

发表于 2018-7-4 21:32:04 | 显示全部楼层
我简单跟你说下
星际的机制是
先运行condition再运行action


举个栗子
Player:
请选择所有玩家
Condition:
Switch(Switch 100, Set);
Switch(Switch 200, Set);

Action:
Comment("计数器ID:100,节点ID:1,成功往下执行", 100, 1, 0, 1, 34);
Comment("按下了按钮", 1, 0, 0, 12, 32);
PreserveTrigger();


运行的顺序是从上往下
先看你开关100有没有打开
如果打开了那继续往下运行
然后看你开关200有没有打开
如果打开了并且这是最后一条
就得出condition中的命令全部有效,继而执行action中的命令
如果condition中有1条命令无效,就结束本轮的运行,转为下一条触发

action的命令也跟condition一样
从上往下运行
不同的是:
星际自带的action的命令全都是有效的
举个例子
SetSwitch(Switch,State);  ←设置一个开关
CreateUnit(Number,Unit,Where,ForPlayer); ←创建指定的单位
只要你写多少条指令 系统就会运行多少条


当action执行完毕后
如果没有这条命令PreserveTrigger();
那么这条触发就会被销毁


有的人会问PreserveTrigger();应该放在顶部还是放在底部
答案是随意
无论你写了10条PreserveTrigger(); 还是20条
它的作用只是告诉这条触发是否可以循环运行


废话说到这里你应该基本了解了星际原生态的运行情况了
下面就解释下这条34号的comment的作用
Comment("计数器ID:100,节点ID:1,成功往下执行", 100, 1, 0, 1, 34);
comment是经过魔改后的命令
既能当condition又能当action
上面我已经说过了
原生态的action都是有效的
我给玩家1添加了50水晶 这条命令永远都是有效的
它没有比较 不存在执行有效无效的概念


回到上面红字部分
Comment("", 100, 1, 0, 1, 34);  ←检测按钮被按下
字面意思就能知道这是个条件
那么判断的内容是什么?计数器100 被某个人按下了
被谁按下?我这里偷懒选了所有玩家,所以每个玩家都会被检测一次
计数器100是怎么定义的? 在“可检测按下的按钮中设置

如果条件执行成功
那么将会把你按下按钮的单位
绑定为节点x(x是你填入的值)
并继续运行下一条指令
Comment("按下了按钮", 1, 0, 0, 12, 32);
这条指令的意思是  在节点1的头上显示文字
如果条件执行失败
什么都不会做 等待第二轮的执行
就跟上面的condition里的一样
触发的本质就是一个循环圈
运行完没有pt的会被销毁
运行到一半终止 或者 添加pt的会被保留继续运行
其中comment既充当条件又充当事件,而且功能繁多


回复 支持 反对

使用道具 举报

发表于 2018-7-4 21:34:36 | 显示全部楼层
(WP8GXRX6XL$VQF(S`K3CPM.png


我选了4个probe  按同一个按钮 只有第一个有效
回复 支持 反对

使用道具 举报

发表于 2018-7-4 21:55:22 | 显示全部楼层
还有什么是节点你可以理解为取名字


就拿我上图为例
有4个probe
其中有一个叫王小明

那你怎么知道谁是谁


这时候就需要绑定节点  或者说给它取名


绑定后能做什么?
喊话
添加血量
替换当前武器
等等


只要这个单位不死
你就能随时随地通知它做各种各样的动作
访问这个单位的各种属性
如果死亡,你需要重新绑定



回复 支持 反对

使用道具 举报

发表于 2018-7-4 23:29:43 | 显示全部楼层
检测按钮触发有2个BUG。第一个BUG用A83的话来讲叫做延迟触发。意思是你短时间内多次按的话 他有几率无视你条件在执行1次。
比如你设置条件资源有10000, 动作检测按钮给单位加1000血,扣住10000资源。
然后你现在刚好有10000资源,正常情况下你点击按钮后他会给单位加1000血。扣你10000资源
但这BUG话会让你直接加2000血。但只扣你10000资源。
第2个BUG是,你的资源没达到10000的时候你点击了按钮。当你达到10000的时候他立马执行。
既然你地图有加物品栏插件的话 你直接用物品栏的检测单位是否英雄或者检测英雄拥有物品来写往下面的触发

点评

有bug的是你的脑子 这句话真没说错  详情 回复 发表于 2018-7-5 17:04
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|站点地图|永恒的星际联盟 ( 苏ICP备17020173号-1 )

GMT+8, 2020-7-7 19:54 , Processed in 0.010367 second(s), 11 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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