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

Project1

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

[有事请教] 怎样通过修改代码跳过战斗时的队伍命令和角色命令?

[复制链接]

Lv2.观梦者

梦石
0
星屑
938
在线时间
109 小时
注册时间
2013-2-16
帖子
18
跳转到指定楼层
1
发表于 2020-7-24 20:54:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
为了追求更简洁的战斗,想做成进入战斗直接展示技能界面(类似Evenicle2)

选择技能后就直接选择敌人打过去,跳过前面的两层选项(队伍命令PartyCommandSelection,角色命令ActorCommandSelection)
然后把普攻、防御和逃跑直接做成技能

捣鼓了好久只能把队伍命令跳过了(就是刚开始选战斗和逃跑的):
【把Scene_Battle 里的 startPartyCommandSelection 前三行复制到 changeInputWindow 里面,
   changeInputWindow的条件语句改成直接执行 startActorCommandSelection 那句,
   因为刚开始_actor是-1,所以要判断一下把BattleManager.selectNextCommand()加上巴拉巴拉……】本人东拼西凑的代码最多就走到这里了

接下来因为不知道从角色命令(选择攻击、技能、防御、道具等等的窗口)到技能窗口(_skillWindow)中间到底经历了什么,
所以尝试修改代码一直失败,所以来向大佬们求助了

请教:
1、这个设想有没有现成插件可以实现?(看了YEP和MOG,基本排除这两个可能)
2、最后使用道具的选项没办法做成技能,能不能和SkillList一起放在同一个窗口?
3、有没有关于系统代码的详细教程或者手册可以参考学习?(找了F1帮助,没有或没找到细化到Scene_Battle、BattleManager这样的)

Lv2.观梦者

梦石
0
星屑
913
在线时间
162 小时
注册时间
2019-4-18
帖子
38
2
发表于 2020-7-24 21:53:16 | 只看该作者
直接做成ARPG不就行了,连进入战斗画面都省了。
按1攻击,2防御,3456技能。7喝药
想法略奇葩,楼主一定是做饭烧菜一锅炖,整理衣物什么的,衣裤鞋帽通通丢一起的人
省事!

点评

我现在在做的游戏,解决战斗操作繁琐的办法,就是所有角色全部自动战斗,当然这样也牺牲了很大的游戏性  发表于 2020-7-26 19:12
楼主想法不算奇葩,如果做手游的话,实际用手机测试,就会发现MV做出游戏系统操作太繁琐(包括战斗、商店、技能都是),其实是不适合做手游的  发表于 2020-7-26 19:10
鼠标点也很麻烦啊,以后发展声控,再再以后视控,再再再以后直接意念控!  发表于 2020-7-24 23:54
按123太麻烦了,鼠标直接点技能多方便呀  发表于 2020-7-24 22:40
回复 支持 0 反对 1

使用道具 举报

Lv2.观梦者

梦石
0
星屑
938
在线时间
109 小时
注册时间
2013-2-16
帖子
18
3
 楼主| 发表于 2020-7-27 14:02:09 | 只看该作者
想破头也没找到其他的方法,暂时只能做到这样了

  1. // JavaScript source code
  2. /*:
  3. * @plugindesc 简洁战斗
  4. * @author 靖康
  5. * @help
  6. * 将分布式的战斗窗口整合成一个,战斗直接打开技能窗口
  7. * 攻击、防御和逃跑命令需要额外加在技能里。目前没办法使用道具,除非想办法把道具加入技能
  8. * 技能类型被妥协了,也就是只能使用1号技能类型了,切换技能类型不会做
  9. *
  10. * 垃圾小白代码,几乎没有兼容性
  11. */


  12. Scene_Battle.prototype.changeInputWindow = function() {
  13.     if (BattleManager.isInputting()) {
  14.         if (!BattleManager.actor()) {BattleManager.selectNextCommand();}
  15.         this.refreshStatus();
  16.         this._statusWindow.deselect();
  17.         this._statusWindow.open();//取消队伍命令,把它额外做了的工作搬出来

  18.         this._statusWindow.select(BattleManager.actor().index());//选定将要行动的角色

  19.         this._skillWindow.setStypeId(1);//不知道怎么读取角色技能类型,直接设为1
  20.         this.commandSkill();//选中技能时的回调
  21.         //this.startActorCommandSelection();
  22.         /* if (BattleManager.actor()) {
  23.             this.startActorCommandSelection();
  24.         } else {
  25.             this.startPartyCommandSelection();
  26.         }*/
  27.     } else {
  28.         this.endCommandSelection();
  29.     }
  30. };

  31. Scene_Battle.prototype.commandSkill = function() {
  32.     this._skillWindow.setActor(BattleManager.actor());
  33.     //this._skillWindow.setStypeId(this._actorCommandWindow.currentExt());//移到外面做,其实并没有什么意义
  34.     this._skillWindow.refresh();
  35.     this._skillWindow.show();
  36.     this._skillWindow.activate();
  37. };

  38. Scene_Battle.prototype.onSkillCancel = function() { //取消你的取消
  39.     //this._skillWindow.hide();
  40.     //this._actorCommandWindow.activate();

  41.     //this._skillWindow.setStypeId(1);//把取消改为查看下一个技能类型?

  42. };
复制代码


基本实现了直接打开技能,但技能类型判定实在不会就直接阉割了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
99
在线时间
42 小时
注册时间
2021-5-14
帖子
34
4
发表于 2021-5-30 09:37:26 | 只看该作者
靖康之变KK100 发表于 2020-7-27 14:02
想破头也没找到其他的方法,暂时只能做到这样了

万分感谢您的分享和思路!!太感谢了,我也是想要这样的效果,研究了好几天。这个非常实用。
不需要理会楼上这种没理解别人需求就开始阴阳怪气的
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-7 08:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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