查看: 3310|回复: 8

[有事请教] 请问,如何通过删改js源码来改变战斗选择流程?

[复制链接]
梦石
0
星屑
143
在线时间
21 小时
注册时间
2018-7-25
回帖
15
发表于 2018-7-26 10:05:06 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 游鱼戏虾 于 2018-7-26 10:05 编辑

各位大神,我想要将战斗流程调整为一开始就直接选择攻击、技能、道具选项,而不用先选择战斗和逃走。
但在manager、scene和window中注释掉PartyCommand相关内容后,已进入战斗并不能选择,会直接卡死?
我应该如何改写插件来修改这一流程?

TIM截图20180725195219.png

主要注释掉了这些地方:

[ TIM截图20180725195632.png
把input的条件改成了直接开始角色行动选择。

TIM截图20180725195425.png
注释掉了整个战、逃选择窗口

TIM截图20180725195550.png
同理



菜单这一款感觉一动就会联动不少枝干,因为没有JS基础,麻烦大神们有空看看逻辑上有多少疏漏,谢谢。

还想编写一个不用选择点击进入二级菜单就能查看道具、技能和状态的主菜单,也还没有理清楚怎么把二级菜单提高一个层级。

谢谢各位大佬的阅读和指导。
TIM截图20180725195403.png
TIM截图20180725195446.png
个人公众号:苍极
抖音号:手游鉴毒师
游戏行业边缘人,谢谢关注~
梦石
0
星屑
92
在线时间
36 小时
注册时间
2018-7-16
回帖
23
发表于 2018-7-26 10:41:36 | 显示全部楼层
你可以去安装插件来解决问题,看样子你目前没有装插件..吧,
https://rpg.blue/thread-404511-1-1.html

这个帖子介绍了yep系列的插件,yep系列是个很棒的插件系列,
=========================================
解决战斗时先显示操作而不是战斗逃跑,请选择
YEP_BattleEngineCore.js   战斗核心插件,

如果还不知道怎么装插件,就继续追问=w=,
插件可以实现很多厉害的功能,你这够厉害...直接去动js文件,,,你等熟悉后可以试试看自己写插件..
回复 1 0

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-7-26 10:50:18 | 显示全部楼层
那是因为可操作窗口依然还是,战斗逃跑,那个窗口。
即时你把他删掉了。
你没设置新的可操作窗口,就不可操作。

你可以查看PartyCommand那个窗口的‘fight’ 这个选项是什么执行内容
查找commandfight这个函数。
可以找到
Scene_Battle.prototype.commandFight = function() {
    this.selectNextCommand();
};

你可以试试把this.selectNextCommand();
加在this.addWindow(this._actorCommandWindow);
下面
看有没有用
回复

使用道具 举报

梦石
0
星屑
143
在线时间
21 小时
注册时间
2018-7-25
回帖
15
 楼主| 发表于 2018-7-26 10:54:45 | 显示全部楼层
1010629390 发表于 2018-7-26 10:41
你可以去安装插件来解决问题,看样子你目前没有装插件..吧,
https://rpg.blue/thread-404511-1-1.html

谢谢大佬的提点。

知道应该有插件能够实现这个功能,只是觉得从原生js上实现可能也不算难。
主要是没有JS基础,看代码就算能懂他的逻辑,也不知道怎么改才是对的,var、this和call的调用没啥头绪。
个人公众号:苍极
抖音号:手游鉴毒师
游戏行业边缘人,谢谢关注~
回复

使用道具 举报

梦石
0
星屑
143
在线时间
21 小时
注册时间
2018-7-25
回帖
15
 楼主| 发表于 2018-7-26 11:26:39 | 显示全部楼层
yang1zhi 发表于 2018-7-26 10:50
那是因为可操作窗口依然还是,战斗逃跑,那个窗口。
即时你把他删掉了。
你没设置新的可操作窗口,就不可操 ...

谢谢大佬的解说。
逻辑有点理解了,但是加上后没有变化。
  1. Scene_Battle.prototype.createActorCommandWindow = function() {
  2.     this._actorCommandWindow = new Window_ActorCommand();
  3. //    this._actorCommandWindow.setHandler('attack', this.commandAttack.bind(this));
  4.     this._actorCommandWindow.setHandler('skill',  this.commandSkill.bind(this));
  5. //    this._actorCommandWindow.setHandler('guard',  this.commandGuard.bind(this));
  6.     this._actorCommandWindow.setHandler('item',   this.commandItem.bind(this));
  7.     this._actorCommandWindow.setHandler('cancel', this.selectPreviousCommand.bind(this));
  8.     this.addWindow(this._actorCommandWindow);
  9. };
复制代码

是加在这下面吗?
个人公众号:苍极
抖音号:手游鉴毒师
游戏行业边缘人,谢谢关注~
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45714
在线时间
7951 小时
注册时间
2009-7-6
回帖
13338

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2018-7-26 14:44:38 | 显示全部楼层
可以试试把
[pre lang="javascript"]Scene_Battle.prototype.startPartyCommandSelection = function() {
    this.refreshStatus();
    this._statusWindow.deselect();
    this._statusWindow.open();
    this._actorCommandWindow.close();
    this._partyCommandWindow.setup();
};[/pre]

这段开始队伍指令的执行内容直接转入角色命令内容
[pre lang="javascript"]Scene_Battle.prototype.startPartyCommandSelection = function() {
    this.refreshStatus();
    this._statusWindow.deselect();
    this._statusWindow.open();
    this.selectNextCommand();
};[/pre]

当然,这个我没测试,不知道窗口之间会有什么影响, 自己调整一下即可
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
143
在线时间
21 小时
注册时间
2018-7-25
回帖
15
 楼主| 发表于 2018-7-26 17:31:09 | 显示全部楼层
fux2 发表于 2018-7-26 14:44
可以试试把
Scene_Battle.prototype.startPartyCommandSelection = function() {
    this.refreshStatus() ...

非常感谢,试了一下是那个效果。不过后续是否有影响还不知道。
谢谢大佬的指导。
个人公众号:苍极
抖音号:手游鉴毒师
游戏行业边缘人,谢谢关注~
回复

使用道具 举报

梦石
0
星屑
92
在线时间
11 小时
注册时间
2017-9-30
回帖
2
发表于 2018-7-27 12:22:38 来自手机 | 显示全部楼层
是吧,这儿比那个要死不活的贴吧好多了
回复

使用道具 举报

梦石
0
星屑
143
在线时间
21 小时
注册时间
2018-7-25
回帖
15
 楼主| 发表于 2018-7-27 12:29:55 | 显示全部楼层
书生与剑 发表于 2018-7-27 12:22
是吧,这儿比那个要死不活的贴吧好多了

谢谢~
个人公众号:苍极
抖音号:手游鉴毒师
游戏行业边缘人,谢谢关注~
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部