Project1

标题: 如何在菜单里增加和队友交谈的选项 [打印本页]

作者: 勇者付崇林    时间: 2022-10-26 21:31
标题: 如何在菜单里增加和队友交谈的选项
有没有这种插件或者脚本,谢谢大家
作者: xiamumomo    时间: 2022-10-26 22:00
Yep主菜单管理?
作者: 勇者付崇林    时间: 2022-10-27 08:47
xiamumomo 发表于 2022-10-26 22:00
Yep主菜单管理?

查了一下没找到主菜单管理怎么能多一个闲聊的功能。然后现在找到了一个流月大佬做的闲聊插件但是又不知道怎么显示人物头像或者立绘了……
作者: xiamumomo    时间: 2022-10-27 20:08
勇者付崇林 发表于 2022-10-27 08:47
查了一下没找到主菜单管理怎么能多一个闲聊的功能。然后现在找到了一个流月大佬做的闲聊插件但是又不知道 ...

主菜单插件可以添加公共事件到主菜单里也可以通过关键词添加插件的至于你说的插件我是没用过=。=
作者: RyanYe    时间: 2022-10-27 22:38
什么叫“和队友交谈”?
具体说说?
作者: 勇者付崇林    时间: 2022-10-28 08:16
RyanYe 发表于 2022-10-27 22:38
什么叫“和队友交谈”?
具体说说?

有一个叫《废都物语》里面就是有这个功能。就是在地图旅行时进入菜单后多一个和队友聊天的选项可以提示任务或者交代剧情这样的功能
作者: 蜜橘团子    时间: 2022-10-28 13:26
应该是和女祭司一样,可以按一个键显示队友的插图,然后交流,选择亲嘴或者拥抱,脱衣服之类的
像按X键呼出队友的图片和对话框,就可以和她互动,和在地图和NPC说话是一样的,只不过队友在玩家身体里也能和她说话

这样的话设置按某个键弹出插图和选项或许也可以做到提交任务和沟通
作者: xiaohuangdi    时间: 2022-10-28 14:48
邏輯就是“開啓公共事件”
你找到任何一個能開啓公共事件的插件就行,或者自己改界面。
不在界面的話,直接用道具就能“開啓公共事件”;

公共事件裏面是一堆判定。
劇情進度變量001=1時,“去村長家”
=2時,“去山上采藥”;
=3時,“”
====
作者: asukalin    时间: 2022-10-28 23:23
本帖最后由 asukalin 于 2022-10-28 23:42 编辑



我在做的游戏。在主菜单加了一个选项“切换主角”。
点击“切换主角”再点击人物,会启动公共事件。
在我的例子里,公共事件就是换到选择的人物当领队。
你的情况,公共事件大概就是跟选择的人物开始对话。

我是直接修改 rmmz_windows.js 和 rmmz_scenes.js 的。

rmmz_windows.js 关于绘制主菜单选项的那几行,有个叫作 addOriginalCommands() 的选项。

  1. Window_MenuCommand.prototype.makeCommandList = function() {
  2.     this.addMainCommands();
  3.     this.addFormationCommand();
  4.     this.addOriginalCommands();  //这个
  5.     this.addOptionsCommand();
  6.     this.addSaveCommand();
  7.     this.addGameEndCommand();
  8. };
复制代码


原本是空的,留给我加东西的。

  1. Window_MenuCommand.prototype.addOriginalCommands = function() {
  2. };
复制代码


往里面加东西。

  1. Window_MenuCommand.prototype.addOriginalCommands = function() {
  2.     //这部分是我加的
  3.     const varNoSwitch = 4;
  4.     const enabledPlus = !$gameSwitches.value(varNoSwitch);
  5.     if (this.needsCommand("switchMain")) {
  6.         this.addCommand("切换主角", "switchMain", enabledPlus);
  7.     }
  8. };
复制代码


这样,在主菜单上就会多出一个名叫“切换主角”的选项。
它对应的函数(标签“switchMain”)在 rmmz_scenes.js 那边。

  1. Scene_Menu.prototype.createCommandWindow = function() {
  2.     const rect = this.commandWindowRect();
  3.     const commandWindow = new Window_MenuCommand(rect);
  4.     commandWindow.setHandler("switchMain", this.commandSwitchMain.bind(this));        //这行是我插进去的
  5.     commandWindow.setHandler("item", this.commandItem.bind(this));
  6.     commandWindow.setHandler("skill", this.commandPersonal.bind(this));
  7.     commandWindow.setHandler("equip", this.commandPersonal.bind(this));
  8.     commandWindow.setHandler("status", this.commandPersonal.bind(this));
  9.     commandWindow.setHandler("formation", this.commandFormation.bind(this));
  10.     commandWindow.setHandler("options", this.commandOptions.bind(this));
  11.     commandWindow.setHandler("save", this.commandSave.bind(this));
  12.     commandWindow.setHandler("gameEnd", this.commandGameEnd.bind(this));
  13.     commandWindow.setHandler("cancel", this.popScene.bind(this));
  14.     this.addWindow(commandWindow);
  15.     this._commandWindow = commandWindow;
  16. };

  17. //这是"switchMain"的具体内容
  18. Scene_Menu.prototype.commandSwitchMain = function() {
  19.     this._statusWindow.setFormationMode(true);
  20.     this._statusWindow.selectLast();
  21.     this._statusWindow.activate();
  22.     this._statusWindow.setHandler("ok", this.onSwitchMainOk.bind(this));            //如果按了“切换主角”选项会怎么样
  23.     this._statusWindow.setHandler("cancel", this.onSwitchMainCancel.bind(this));    //如果按了取消键会怎么样
  24. };

  25. //这部分是按下“切换主角”选项之后会运行的内容
  26. Scene_Menu.prototype.onSwitchMainOk = function() {
  27.     //这里面,需要自己具体写了
  28.     //.....(省略)
  29.     //总而言之,到了最后都要运行公共事件
  30.     $gameTemp.reserveCommonEvent(id);  //运行第id号公共事件
  31. };
复制代码



我用的是MZ,和MV可能有点不一样。
我不懂代码,这些修改都是拼拼凑凑给弄出来的。

作者: 勇者付崇林    时间: 2022-10-29 17:52
asukalin 发表于 2022-10-28 23:23
我在做的游戏。在主菜单加了一个选项“切换主角”。
点击“切换主角”再点击人物,会启动公共事件。
在我 ...

哇!!好厉害,非常感谢,我想按照你的思路试试能不能实现我想实现的功能。再次感谢
作者: 勇者付崇林    时间: 2022-10-29 17:55
xiaohuangdi 发表于 2022-10-28 14:48
邏輯就是“開啓公共事件”
你找到任何一個能開啓公共事件的插件就行,或者自己改界面。
不在界面的話,直 ...

好的,我再去试试如何用公共事件来实现效果,谢谢~
作者: asukalin    时间: 2022-10-31 22:31
勇者付崇林 发表于 2022-10-29 17:52
哇!!好厉害,非常感谢,我想按照你的思路试试能不能实现我想实现的功能。再次感谢 ...

我把那几行代码拿出来做成插件了~~
请查收:
https://rpg.blue/thread-491472-1-1.html

哈哈哈哈哈第一次做插件,好开心~~~



作者: 勇者付崇林    时间: 2022-11-1 14:54
asukalin 发表于 2022-10-31 22:31
我把那几行代码拿出来做成插件了~~
请查收:
https://rpg.blue/thread-491472-1-1.html

我的天厉害啊朋友,我现在是通过YEP-gabwindow的一个插件大致实现了我的想法,我也想试试你的插件。




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