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

Project1

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

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1335
在线时间
164 小时
注册时间
2022-9-17
帖子
102
跳转到指定楼层
1
发表于 2022-11-16 10:57:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
现有一个插件,启动之后,他将一直处于运行的状态。
我想使用游戏中的开关,比如1号,当$gameSwitches.value(1)为true的时候,这个插件正常工作,当为false的时候,这个插件就直接“拉闸停摆”。请问从哪里可以着手修改?

Lv3.寻梦者

梦石
0
星屑
1606
在线时间
220 小时
注册时间
2022-2-3
帖子
160
2
发表于 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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4139
在线时间
500 小时
注册时间
2011-3-26
帖子
110
3
发表于 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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 14:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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