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

Project1

 找回密码
 注册会员
搜索

直接调用Interpreter和在事件页设置的问题。

查看数: 486 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2023-11-16 16:05

正文摘要:

即时战斗(等待)模式下。 想要实现这个效果:、 就会只操作一次。 如果是换成回合制模式,会操作两次,但是会分开来行动,先行动一次,然后在所有单位行动完再行动一次。 请问大佬们,这是为什么? ...

回复

蹲厕所的女孩 发表于 2023-11-16 18:35:38
本帖最后由 蹲厕所的女孩 于 2023-11-16 18:38 编辑

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

评分

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

查看全部评分

泼墨漓江 发表于 2023-11-16 17:31:37
回合制不清楚,即时制主要是因为场上的主体(_subject)只能有一个,连续行动会发生覆盖,被覆盖主体的战斗者虽然设定的行动还在,但是到ta的回合开始就被自动清空了,看不出来发生过什么。

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

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

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

点评

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

评分

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

查看全部评分

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

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

GMT+8, 2024-11-29 03:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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