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

Project1

 找回密码
 注册会员
搜索
楼主: alllll
打印 上一主题 下一主题

[有事请教] 求教RMMV,YEP的ATB战斗系统如何做到玩家一回合多次行动

[复制链接]

Lv2.观梦者

梦石
0
星屑
597
在线时间
39 小时
注册时间
2023-10-5
帖子
10
跳转到指定楼层
1
发表于 2023-10-29 12:52:10 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
俺是最近接触rpgmaker的萌新,最近在模仿一款喜欢的游戏做战斗系统时遇到了这个问题,似乎装了YEP的ATB战斗系统后,系统自带的“行动回数”增加就无效了,俺想要装备或者状态可以为玩家提供一回合多动的效果,大佬们知道有什么办法可以实现吗,如果有必要,俺愿意提供一定的现金作为报酬解决这个问题……

Lv2.观梦者

梦石
0
星屑
597
在线时间
39 小时
注册时间
2023-10-5
帖子
10
2
 楼主| 发表于 2023-10-30 15:35:32 | 显示全部楼层
shiroin 发表于 2023-10-29 16:11
就ATB战斗模式的原理而言,你想要做到多次行动,核心还是每次行动后能瞬间让对应角色行动条充能完毕,插件 ...

尝试过疯狂模式了,但没得编程能力,编写的总是效果错误
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
597
在线时间
39 小时
注册时间
2023-10-5
帖子
10
3
 楼主| 发表于 2023-10-30 23:20:13 | 显示全部楼层
本帖最后由 alllll 于 2023-10-30 23:27 编辑
shiroin 发表于 2023-10-30 15:51
具体是怎么写的?效果错误又报错了什么问题?


简单来说,就是
<After Atb eval>
user._行动次数==user._行动次数||0;
user._行动次数上限==user._行动次数上限||0;
user._行动次数+=1;
if(user._行动次数>user._行动次数上限){
    行动次数==0;
}
else{
  Atbturn=100%;
}
</after atb eval>
就是通过穿戴装备或者获得状态增加“行动次数上限”这个变量,然后“行动次数”每次玩家行动结束+1次,直到大于次数上限,这时候就会轮到敌人的回合了。
放在角色那边后确实可以让角色可以无限“我的回合”,但是我不知道如何在让玩家在装备特定装备或者获得特殊状态时增加变量“行动次数上限”,于是这个效果关不掉了……(这是我记忆中的内容,可能有点偏差,但大致是这样的
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
597
在线时间
39 小时
注册时间
2023-10-5
帖子
10
4
 楼主| 发表于 2023-10-30 23:21:20 | 显示全部楼层
余杭 发表于 2023-10-30 16:40
YEP的ATB的战斗系统,行动分为两部分读条:
“一行动条”读满,若可以进行选择操作,则开始选择行动,并进 ...

那大佬有没有相关插件推荐,我的朋友很渴求这个机制
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
597
在线时间
39 小时
注册时间
2023-10-5
帖子
10
5
 楼主| 发表于 2023-10-31 00:14:39 | 显示全部楼层
shiroin 发表于 2023-10-30 23:46
我有汉化过这种需求的插件,你可以去试试:
https://rpg.blue/thread-494592-1-1.html

谢谢大佬,不过我想看看有没有其他人推荐的atb插件,毕竟纯粹靠改代码实现实在是太繁琐了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
597
在线时间
39 小时
注册时间
2023-10-5
帖子
10
6
 楼主| 发表于 2023-10-31 15:42:51 | 显示全部楼层
shiroin 发表于 2023-10-30 23:46
我有汉化过这种需求的插件,你可以去试试:
https://rpg.blue/thread-494592-1-1.html

好吧,其实我发现上面那个代码一开始就有问题,这个代码哪怕把“ ATB Turn: +100%”放到“if”里面,这个Atbturn也会无视if内的条件自动执行
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
597
在线时间
39 小时
注册时间
2023-10-5
帖子
10
7
 楼主| 发表于 2023-10-31 16:08:03 | 显示全部楼层
shiroin 发表于 2023-10-31 15:57
额,我去翻了下代码,ATB Turn只是一个Notetags,可以加在状态注释中,但在eval里应该是没法正常生效的
...

啊,原来是这样啊,果然写这些还是需要编程的基础的,那我去试试吧,谢谢大佬
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
597
在线时间
39 小时
注册时间
2023-10-5
帖子
10
8
 楼主| 发表于 2023-11-7 21:00:07 | 显示全部楼层
shiroin 发表于 2023-10-31 15:57
额,我去翻了下代码,ATB Turn只是一个Notetags,可以加在状态注释中,但在eval里应该是没法正常生效的
...

虽然我尝试过大佬的建议。但是这些变量是没有效果的,最后我是依靠立即技能释放解决的……
不过我看现在的帖子都没有详细的相关方法,以及我想要找到某种…简化的方法,所以我就借给大佬的回复把我的方法写在这里吧
首先需要yep的“技能立即释放”,“自动被动状态“,“状态核心”,以及大佬您发布的“ WAY_CustomOnEquipEval”插件
(下列数据中,我使用了3个状态和一个公共变量实现装备特殊装备时,每个装备都可以提供一个额外回合数,脱下时解除额外回合数,其中,27号状态为“多动回合次数”,28号位“多动次数冷却”,29号为持续性的被动状态“多动回合数(预载)”,10号变量为“多次行动次数”,以及我发现不可以初始给玩家多动系列装备,否则10号变量会直接+3,如果是换装则没有问题,至于为什么不用被动状态记录多次回合次数,是因为被动状态是一直持续附加的,而且可能和状态核心有点冲突,如果为被动状态附加数据,除非附加的数据本身改变(例如公共变量10改变),否则数据不会改变(比如我要求行动一次额外回合数-1就不生效,只能另外开一个新状态)
首先是加行动数的装备
<Passive State: 29>//附加被动状态29

<Custom On Equip Eval>//穿上装备后,10号变量+1
  var NOA = $gameVariables.value(10);
  $gameVariables.setValue(10,(NOA + 1));
</Custom On Equip Eval>

<Custom On Remove Equip Eval>//脱下装备后,10号变量-1
  var NOA = $gameVariables.value(10);
  $gameVariables.setValue(10,(NOA - 1));
</Custom On Remove Equip Eval>

多动回合次数(27)
<Instant Skill: 1>//处于该状态时,1号技能立即释放,基于立即释放插件规则,这里可以改为其他技能组

<Custom Apply Effect>//显示玩家这个回合可以额外行动的次数
  user._NOAM = $gameVariables.value(10);
  user.setStateCounter(27,user._NOAM);
</Custom Apply Effect>

<Custom Action End Effect>//如果在这个状态下行动,玩家行动一次,多动次数-1,如果次数为0,则解除“多次行动”进入“冷却”状态
if(user._NOAM >= 1){
  user._NOAM -= 1;
  user.setStateCounter(27,user._NOAM);
}
else{
  user.addState(28);
}
</Custom Action End Effect>

冷却状态(28,设为一回合后结束)
<Custom Apply Effect>//获得该状态时,移除27号状态
  user.removeState(27);
</Custom Apply Effect>

<Custom Remove Effect>//该状态自然解除,获得27号状态
  user.addState(27);
</Custom Remove Effect>

多次行动状态(预载)(被动状态)
<Custom Passive Condition>//当处于27,28号状态时,不再附加该被动状态
if (user.isStateAffected(27) || user.isStateAffected(28)){
  condition = false;
} else {
  condition = true;
}
</Custom Passive Condition>

<Custom Battle Effect>//当进入战斗时,移除被动状态并添加27号状态
  user.addState(27);
  user.removeState(29);
</Custom Battle Effect>
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-17 02:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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