Project1

标题: 有关在游戏中途用脚本开启/关闭插件 [打印本页]

作者: 黛惠    时间: 2021-2-7 10:58
标题: 有关在游戏中途用脚本开启/关闭插件
原委是这样的:使用了pixi渲染器,为此关闭了Community_Basic插件。现在想在进入第二张地图后关闭渲染器并打开Community_Basic。
已善用搜索,在收藏夹中发现了以前保存过的p1的脚本,但是找不到来源,所以也不清楚用法QAQ
请问这个插件该如何使用?或者有脚本/插件能做到在游戏事件中开关插件吗?

JAVASCRIPT 代码复制
  1. var aliasPluginCommand = Game_Interpreter.prototype.pluginCommand;
  2.  
  3. Game_Interpreter.prototype.pluginCommand = function(command, args) {
  4.    aliasPluginCommand.call(this, command, args);
  5.    if (command === 'plugincommandtextname') {
  6.       dostuff(args);
  7.    }
  8. };

作者: Bengbengknight    时间: 2021-2-7 16:25
(⊙﹏⊙)
才疏学浅
猜一下能不能在插件代码里面加上插件指令来控制插件的禁用与开启,然后在游戏事件中使用对应的插件指令
作者: 白嫩白嫩的    时间: 2021-2-7 17:22
折叠内容是一段SAN_AnalogMove.js的插件命令设置代码,楼主可以比葫芦画瓢试试
之前因为插件冲突,我想试着用脚本在移动路线控制该插件的开启和关闭,因为说明里只有插件命令,只能去扒代码,发现原来是这么写的,就直接用里面的脚本实验,发现可以执行,反推的话应该问题也不大,加油楼主,实现后希望回来告知下解决方案~~

SAN_AnalogMove.js插件针对插件开关的代码

作者: Bengbengknight    时间: 2021-2-7 17:34
emmm比如说
  1. var _Game_Interpreter_pluginCommand =
  2.             Game_Interpreter.prototype.pluginCommand;
  3. Game_Interpreter.prototype.pluginCommand = function(command, args) {
  4.         _Game_Interpreter_pluginCommand.call(this, command, args);
  5.         if (command === 'PluginName')
  6.         {
  7.                 if(args[0] =="disable")
  8.                 {
  9.                        this._enable = false;// 让插件无效掉
  10.                 }
  11.                 else if (args[0] == "enable")
  12.                 {
  13.                       this._enable = true;// 使能插件功能
  14.                 }
  15.          }
  16. // 若干插件代码
复制代码

事件里面使用指令 PluginName enable/disable
然后插件里面对this._enable响应来进行开关插件(比如让插件里面的方法都加一个if (this._enable) 再执行)
或者直接在if的disable分支里面清空命名空间,然后在enable的分支里面重新把命名空间的东西都写上(啊这样感觉十分糟糕)
作者: Bengbengknight    时间: 2021-2-7 21:10
本帖最后由 Bengbengknight 于 2021-2-7 21:13 编辑

其实我脚本也是初学啦,不过要是还有问题的话也可以把插件发出来帮忙改一下
要是想学一下插件指令的话可以看下这篇教程
https://rpg.blue/thread-395487-1-1.html
第三节  插件参数和命令那里,感觉还蛮清楚的
作者: Bengbengknight    时间: 2021-2-7 23:29
Bengbengknight 发表于 2021-2-7 21:10
其实我脚本也是初学啦,不过要是还有问题的话也可以把插件发出来帮忙改一下
要是想学一下插件指 ...

哈哈哈哈哈哈哈哈哈
不过要是想搞个直接对其他原生插件进行开关感觉比较困难,游戏启动的时候插件内容已经写入内存了,命名空间的各种方式又各不相同,不能直接全屏蔽。。。

可能还是添加开关比较容易




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