查看: 2308|回复: 3

[有事请教] 如何使用游戏内的开关来控制整个插件的启动或停止

[复制链接]
梦石
0
星屑
1445
在线时间
181 小时
注册时间
2022-9-17
回帖
99
发表于 2022-11-16 10:57:24 | 显示全部楼层 |阅读模式

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

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

×
现有一个插件,启动之后,他将一直处于运行的状态。
我想使用游戏中的开关,比如1号,当$gameSwitches.value(1)为true的时候,这个插件正常工作,当为false的时候,这个插件就直接“拉闸停摆”。请问从哪里可以着手修改?
梦石
0
星屑
1607
在线时间
220 小时
注册时间
2022-2-3
回帖
158
发表于 2022-11-17 07:50:43 | 显示全部楼层
这个可以通过语法来制作。
if 语句
请使用 if 语句来规定假如条件为 true 时被执行的 JavaScript 代码块。
语法:
if (条件) {
    如果条件为 true 时执行的代码
}

具体可以参考: https://www.runoob.com/js/js-if-else.html

点评

最后还是采用了这个方法~条条大路通罗马  发表于 2022-11-19 09:44
我的联系方式Q: 1127808900
欢迎一起讨论任何问题
回复 1 0

使用道具 举报

梦石
0
星屑
5204
在线时间
457 小时
注册时间
2011-3-26
回帖
100
发表于 2022-11-18 14:01:55 | 显示全部楼层
本帖最后由 rfvtgbzxc 于 2022-11-18 19:13 编辑

RM插件是在原来的函数上重写并追加自己的内容,要做到运行时“关闭”,就要插件自己写一个卸载自己的逻辑,把自己改动过的所有函数的原型都“还原”。这太复杂了,一个1000多行的插件,就可以把程序的原型在几十个地方都加以修改,想要做到最完美的效果,即连追加的原型函数都被删掉,这工作量有点离谱。更何况很多函数还是被反复重写了的,完全没办法由插件自己确定去掉自己以后“原来”的调用层次是怎样的。
从原型上删除一个方法:
  1. delete Game_Actor.prototype.somefunction;
复制代码

但不推荐在运行时中消除插件影响的这个思路,单独配置一个config文件,修改以后重载游戏,在PluginManager.setup()运行之前决定装载哪些插件,这样比较好。这样就有点像各路游戏安装自己的模组一样。他们也不会运行时开关某个插件,都是修改后重启游戏。
回复 1 0

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部