Project1

标题: 请问,如何将攻击指令改变为回合结束? [打印本页]

作者: ReMoonIsPig    时间: 2021-11-8 13:55
标题: 请问,如何将攻击指令改变为回合结束?
如题,有什么办法将战斗中的攻击指令的功能改为结束回合
并且将攻击指令的文本更改为回合结束呢?
作者: 夏虫沉默    时间: 2021-11-8 15:15
本帖最后由 夏虫沉默 于 2021-12-13 12:33 编辑

rpg_scenne.js文件的Scene_Battle.prototype.createActorCommandWindow 方法控制战斗的命令菜单的执行,修改this._actorCommandWindow.setHandler('attack', this.commandAttack.bind(this));可以改变执行攻击的功能。
也可以修改commandAttack方法,例如:
JAVASCRIPT 代码复制
  1. Scene_Battle.prototype.commandAttack = function() {
  2.         for (let i=1;i<=$gameParty.size();i++){
  3.                 BattleManager.selectNextCommand();//跳过当前角色的回合(这里如果是调用this.selectNextCommand()会卡住)
  4.         }       
  5. };

作者: 夏虫沉默    时间: 2021-11-8 15:20
本帖最后由 夏虫沉默 于 2021-12-13 11:52 编辑

rpg_windows.js文件的Window_ActorCommand.prototype.addAttackCommand方法控制战斗的攻击名字,修改TextManager.attack为你想要改的名字即可(名字需要用英文的引号''包围,例如'回合结束')
作者: 夏虫沉默    时间: 2021-11-8 15:27
标题: 参考
本帖最后由 夏虫沉默 于 2021-11-8 15:28 编辑

参考这个内容

2021-11-08_152317.jpg (107.94 KB, 下载次数: 26)

2021-11-08_152317.jpg

作者: ReMoonIsPig    时间: 2021-11-12 21:13
夏虫沉默 发表于 2021-11-8 15:20
rpg_windows.js文件的Window_ActorCommand.prototype.addAttackCommand方法控制战斗的攻击名字,修改TextMa ...

非常感谢
作者: 892342302    时间: 2021-12-10 16:16
夏虫沉默 发表于 2021-11-8 15:27
参考这个内容

想问一下大神怎么调用这个结束回合的函数,我想做一个玩家在战斗指令界面呆的时间过长会强制结束玩家回合的机制,但不清楚怎么调用函数
作者: 892342302    时间: 2021-12-12 15:18
夏虫沉默 发表于 2021-11-8 15:27
参考这个内容

再一次打扰大神了,我想问的是上面那段函数endCommandSelection有没有办法用脚本调用一下,只要调用了这个函数应该能强制结束玩家的回合吧,战斗中执行一个等待240帧的并行事件,下面调用一下这个代码,也就是说玩家必须在4秒内做出战斗命令,不然就会空过,求大神指点一下对代码一窍不通的我
作者: 夏虫沉默    时间: 2021-12-13 12:55
892342302 发表于 2021-12-12 15:18
再一次打扰大神了,我想问的是上面那段函数endCommandSelection有没有办法用脚本调用一下,只要调用了这 ...

如果使用等待240帧的事件需要考虑--玩家是否在4s内做出了选择,如果玩家是3s时选择了,那么这个时间需要重置,不然就剩1s给玩家了,考虑到玩家的体验,还需要增加一个倒计时图案(可以使用显示图片,4张图片切换),让玩家看出剩余的时间
作者: 892342302    时间: 2021-12-13 15:52
夏虫沉默 发表于 2021-12-13 12:55
如果使用等待240帧的事件需要考虑--玩家是否在4s内做出了选择,如果玩家是3s时选择了,那么这个时间需要 ...

让大神费心了,刚才试了一下,这个确实可以跳过角色的回合,但是有一个问题,执行这条命令的时候玩家必须是在只有战斗,逃跑两个命令界面的时候,点下战斗会跳过玩家回合;但如果玩家在点击战斗后,选择攻击,技能那个界面触发指令,玩家再选指令后会有setattack为null的报错。感觉那种到时间强制结束玩家回合的效果得靠一些插件来实现了,因为在某些rmvx游戏里面见过,所以想看看mv能不能实现,不能也没关系,做游戏最重要的就是变通,用别的方式一样能让玩家获得类似的体验,再一次感谢大神这么无私的精神!




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1