查看: 2102|回复: 3

[已经解决] 如何当角色学习到某个技能后触发事件?

[复制链接]
梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
发表于 2014-9-3 08:34:36 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 bloodyliao 于 2014-9-3 08:41 编辑

就是当角色学会某个技能,如升级学会或者用物品学会,学会后能够触发事件,事件里能读取学习技能的角色id,请问要如何实现?
咱想做成,角色学习某个技能后,给他永久附加一个状态。

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2014-9-3 12:30:16 | 显示全部楼层
本帖最后由 三途亚梦 于 2014-9-3 12:46 编辑

只要用一个并行处理的公共事件就可以检测人物是否学习了某技能;
加个60帧等待减少游戏处理上的负担,让它每1秒检测现有队员中是否有人学会了该技能,并给该角色附加一个状态,这个状态让它死亡不会解除基本上就是永久状态。
不过只要这个公共事件还存在即使死后消除了也会马上再附上新的状态。
另外论坛应该是有关于如何设置一个永久状态的方法的,模仿那个做就可以。

$game_party.members[0].skill_learn?($data_skills[3])
这个句子用来检测领队是否学会了3号技能
如果你还想让这个技能可能被遗忘,就在否则里消除掉附加的状态

以这个方法把所有队员处理一遍应该就可以解决了。

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
 楼主| 发表于 2014-9-3 12:42:54 | 显示全部楼层
三途亚梦 发表于 2014-9-3 12:30
只要用一个并行处理的公共事件就可以检测人物是否学习了某技能;
加个60帧等待减少游戏处理上的负担,让它 ...

因为角色很多……要一个个检查吗?每个地图都要运行担心影响负担啊……
咱有个永久状态脚本,所以只要学习后添加状态就好了,不用重复检查
问题是,如何在学习技能时添加这个永久状态呢?

点评

再要不你可以选择把这个技能做成一个关联公共事件的技能,使用它执行一次检定。这样如果你结合开关还可以让这个状态随意愿打开和关闭。  发表于 2014-9-3 13:06
8个队员还是能接受的吧。 RM处理负担主要在事件的个数上,事件的内容只要不写几千上万行不至于影响运行。毕竟RM的处理是1帧1个事件。  发表于 2014-9-3 12:59
有8个队员……咱是要做被动技能,学习之后永久加状态给学习技能的人  发表于 2014-9-3 12:49
这个检查的队员不是角色诶……难道你队员也有几十个么……  发表于 2014-9-3 12:47
回复

使用道具 举报

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2014-9-3 12:53:44 | 显示全部楼层
bloodyliao 发表于 2014-9-3 12:42
因为角色很多……要一个个检查吗?每个地图都要运行担心影响负担啊……
咱有个永久状态脚本,所以只要学 ...

如果你获得这个技能的方法很多,我觉得用公共事件处理是比较得当的。而且比较能够适应随时产生的变化。

其实只要加了等待处理起来负担就不会有多大,你实在担心的话就得操作开关了。
并行处理的公共事件是接受开关控制的,你只要在需要的时候打开这个开关,一定用不到的时候解除。
不过这个方法大概不能一劳永逸,是否繁琐取决于你怎么给这个技能获得的方法定位。

如果这个技能只有某一种途径获得,你在获得这个技能的事件里进行一次检测就足够了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部