设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 475|回复: 3
打印 上一主题 下一主题

[有事请教] 直接调用Interpreter和在事件页设置的问题。

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5405
在线时间
1105 小时
注册时间
2013-7-8
帖子
2005

极短23参与

跳转到指定楼层
1
发表于 2023-11-16 16:05:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
即时战斗(等待)模式下。
想要实现这个效果:、



这样写:


就会只操作一次。
如果是换成回合制模式,会操作两次,但是会分开来行动,先行动一次,然后在所有单位行动完再行动一次。
请问大佬们,这是为什么?

Lv2.观梦者

梦石
0
星屑
485
在线时间
86 小时
注册时间
2023-10-26
帖子
26
2
发表于 2023-11-16 17:31:37 | 只看该作者
回合制不清楚,即时制主要是因为场上的主体(_subject)只能有一个,连续行动会发生覆盖,被覆盖主体的战斗者虽然设定的行动还在,但是到ta的回合开始就被自动清空了,看不出来发生过什么。

RM为了解决这个问题,一次强制行动事件指令调用后会暂停事件执行,等到当前行动结束以后再继续下一条事件。

具体实现有两层,
一层为,一旦角色开始行动,系统进入一个新状态(action),该状态下事件不会从暂停中恢复,直到角色行动结束,系统回到了一个状态(turn),这个状态下事件才会继续。
另一层为,事件本身被标记为“等待强制行动结束”,直到场上没有强制行动的角色,才会继续执行。

脚本指令本身是一个整体,不能让一个脚本自行分为两条。可以试下写成两个脚本指令来解决这个问题。

点评

标准答案  发表于 2023-11-16 18:26

评分

参与人数 1+1 收起 理由
我是大仙 + 1 精品文章

查看全部评分

回复 支持 2 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
994
在线时间
84 小时
注册时间
2018-12-18
帖子
84
3
发表于 2023-11-16 18:35:38 | 只看该作者
本帖最后由 蹲厕所的女孩 于 2023-11-16 18:38 编辑

回合制会执行两次是因为每次调用强制战斗行动时,角色并没有进行行动,而是将这次强制行动push进了角色的action数组里,到特定的时机了才会进行取出来行动,所以即使全部写进一条脚本指令了依然可以push两次action,所以对回合制没有影响。
至于为什么是先行动一次,再等所有角色行动结束了再行动一次,这个是你事件调用时机的问题,打个比方,这个事件是在回合结束时调用的,但那个角色行动速度是最快的,那么他就会最先行动一次,但这时只从action数组中取出了一次行动,所以回合结束时还会再行动一次,相反如果你的事件是在回合开始时调用的,但角色又是速度最慢的,那这个角色会直接最先行动两次,然后不行动了,这个是不确定的,跟你事件调用时机和角色的行动顺序有关。

评分

参与人数 1+1 收起 理由
我是大仙 + 1 精品文章

查看全部评分

回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 05:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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