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

Project1

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

[有事请教] 请问,如何将攻击指令改变为回合结束?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
105
在线时间
12 小时
注册时间
2021-8-13
帖子
5
跳转到指定楼层
1
发表于 2021-11-8 13:55:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如题,有什么办法将战斗中的攻击指令的功能改为结束回合
并且将攻击指令的文本更改为回合结束呢?

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
2
发表于 2021-11-8 15:15:03 | 只看该作者
本帖最后由 夏虫沉默 于 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. };
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
3
发表于 2021-11-8 15:20:24 | 只看该作者
本帖最后由 夏虫沉默 于 2021-12-13 11:52 编辑

rpg_windows.js文件的Window_ActorCommand.prototype.addAttackCommand方法控制战斗的攻击名字,修改TextManager.attack为你想要改的名字即可(名字需要用英文的引号''包围,例如'回合结束')
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
4
发表于 2021-11-8 15:27:00 | 只看该作者

参考

本帖最后由 夏虫沉默 于 2021-11-8 15:28 编辑

参考这个内容

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

2021-11-08_152317.jpg
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
12 小时
注册时间
2021-8-13
帖子
5
5
 楼主| 发表于 2021-11-12 21:13:53 | 只看该作者
夏虫沉默 发表于 2021-11-8 15:20
rpg_windows.js文件的Window_ActorCommand.prototype.addAttackCommand方法控制战斗的攻击名字,修改TextMa ...

非常感谢
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
539
在线时间
140 小时
注册时间
2015-11-10
帖子
66
6
发表于 2021-12-10 16:16:12 | 只看该作者

想问一下大神怎么调用这个结束回合的函数,我想做一个玩家在战斗指令界面呆的时间过长会强制结束玩家回合的机制,但不清楚怎么调用函数

点评

使用YEP_X_BattleSysATB插件和前置插件YEP_BattleEngineCore可能还简单些  发表于 2021-12-13 13:12
也不一定要立即结束回合,你可以设置剩余角色为防御命令  发表于 2021-12-10 22:47
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
539
在线时间
140 小时
注册时间
2015-11-10
帖子
66
7
发表于 2021-12-12 15:18:32 | 只看该作者

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

点评

调用BattleManager.selectNextCommand()可以跳过当前角色的回合,如果要跳过所有角色的回合,需要加一层循环  发表于 2021-12-13 12:37
哪天有空时我探索一下这个问题  发表于 2021-12-12 20:13
唉,感觉是我想简单了,这个貌似并不是调用一个代码能解决的事情,我还是去单开个帖子问问吧,打扰大神了  发表于 2021-12-12 18:57
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1830
在线时间
314 小时
注册时间
2021-11-7
帖子
165
8
发表于 2021-12-13 12:55:01 | 只看该作者
892342302 发表于 2021-12-12 15:18
再一次打扰大神了,我想问的是上面那段函数endCommandSelection有没有办法用脚本调用一下,只要调用了这 ...

如果使用等待240帧的事件需要考虑--玩家是否在4s内做出了选择,如果玩家是3s时选择了,那么这个时间需要重置,不然就剩1s给玩家了,考虑到玩家的体验,还需要增加一个倒计时图案(可以使用显示图片,4张图片切换),让玩家看出剩余的时间
欲速春风山劝阻,不得恰恰不得呼。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
539
在线时间
140 小时
注册时间
2015-11-10
帖子
66
9
发表于 2021-12-13 15:52:36 | 只看该作者
夏虫沉默 发表于 2021-12-13 12:55
如果使用等待240帧的事件需要考虑--玩家是否在4s内做出了选择,如果玩家是3s时选择了,那么这个时间需要 ...

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-18 17:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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