查看: 6642|回复: 15

[已经解决] 求指教!MV里面怎么用脚本控制事件的独立开关【已解决】

[复制链接]
梦石
0
星屑
1240
在线时间
9 小时
注册时间
2016-3-8
回帖
0
发表于 2016-3-20 22:54:58 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 blackrasiel 于 2016-3-21 00:43 编辑

如题,因为需要脚本后台运算完当X<0时 打开事件的独立开关A,一直找不到独立开关的控制语句是event().什么,求指教!
---------------------------------------------------------------------------------------------------------------------------------------------
翻阅了一下,自己找到了~$gameSelfSwitches.value([this.Character.event().id, 'A']),原来mapid可以不打。
梦石
0
星屑
425
在线时间
5 小时
注册时间
2011-12-24
回帖
1
发表于 2016-5-23 22:09:10 | 显示全部楼层
你好,mv不能再用$game_self_switches[[2,1,"A"]]=true/false脚本来解决了,
mv要用这个RX_T_BatchCtrl_Self_Switch插件,先下载此插件
在插件管理中启用,然后使用方法

例1:事件ID1、事件ID3、事件ID5的獨立開関Ano
this.bc_s_sw([1, 3, 5], "A, on");
(A大文字、on小文字、半角文件。)

例2:地圖ID10、事件ID2、事件ID9的獨立開関Coff

this.bc_s_sw_m(10, [2, 9], "C, off");


標準

    不可同時操作獨立開関A~D。

RX_T_BatchCtrl_Self_Switch.zip

1.19 KB, 下载次数: 165

回复 0 1

使用道具 举报

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
回帖
80
发表于 2020-5-12 12:49:08 | 显示全部楼层
guanjun124 发表于 2016-5-23 22:09
**** 作者被禁止或删除 内容自动屏蔽 ****

请问,我想重置整个游戏的独立开关,应该怎么写?

点评

你不在这贴回复我在别的贴问我简直了,我找了半天才找回来,yep插件在奶牛简书里面有群号,加群就有下载  发表于 2020-5-13 19:27
大佬,为啥没必要啊?我是想做二周目保留装备物品,重置所有独立开关  发表于 2020-5-12 13:20
完全没有必要  发表于 2020-5-12 13:03
回复

使用道具 举报

梦石
0
星屑
394
在线时间
115 小时
注册时间
2016-1-17
回帖
77
发表于 2020-5-12 14:53:52 | 显示全部楼层
raisewing 发表于 2020-5-12 12:49
请问,我想重置整个游戏的独立开关,应该怎么写?

for( i=1 ; i<地图总数+1 ; i++) {
       for( j=1; j<地图事件最多数+1 ; j++){
         var keyA=[i,j,"A"] ;  $gameSelfSwitches.value(keyA,false);
         var keyB=[i,j,"B"] ;  $gameSelfSwitches.value(keyB,false);
         var keyC=[i,j,"C"] ;  $gameSelfSwitches.value(keyC,false);
         var keyD=[i,j,"A"] ;  $gameSelfSwitches.value(keyD,false);
                 }
                   }

点评

尴尬,试了试发现并不会内存越界,是我想多了。不过我发现了一个神奇的clear(),写 $gameSelfSwitches.clear(); $gameSelfSwitches.onChange(); 即可重置全部开关。  发表于 2020-7-17 18:11
这段代码稍微有点问题呢。第一点是应该用setValue(key, value)而非value(key),第二点是对事件数少于j的地图可能会内存越界。  发表于 2020-7-17 18:03

评分

参与人数 1赞 +1 收起 理由
raisewing + 1 错误提示 invalid or unexpected token

查看全部评分

回复

使用道具 举报

梦石
0
星屑
394
在线时间
115 小时
注册时间
2016-1-17
回帖
77
发表于 2020-5-12 14:54:46 | 显示全部楼层

最后那个中括号里是 “D”,我也不知道行不行- - 编程小白一个

评分

参与人数 1赞 +1 收起 理由
raisewing + 1 我去试试,谢谢大佬

查看全部评分

回复

使用道具 举报

梦石
0
星屑
3922
在线时间
1198 小时
注册时间
2016-8-9
回帖
2355

开拓者

发表于 2020-5-13 02:42:19 | 显示全部楼层
raisewing 发表于 2020-5-12 12:49
请问,我想重置整个游戏的独立开关,应该怎么写?

对的,一个个开关能累死你,一不小心漏掉一个 你排查起来都是费劲的哟~~

请使用yep插件
YEP.104 – New Game+

这个插件需要YEP_SaveCore,确保它放在YEP_SaveCore下面
新游戏拓展是一个很好的方式来提供游戏重玩的初始值。它可以让玩家重新体验游戏,但是可以携带之前的物品,角色,技能,甚至开关或者变量。这里有很多游戏来设置你的二周目游戏。


-来自奶牛君的简书

***我暂时还没使用,具体需要层主自己探索 。***

评分

参与人数 1赞 +1 收起 理由
raisewing + 1 塞糖

查看全部评分

酸酸甜甜就④哇噢
回复 1 0

使用道具 举报

梦石
0
星屑
417
在线时间
125 小时
注册时间
2010-10-11
回帖
80
发表于 2020-5-14 22:32:57 | 显示全部楼层
白嫩白嫩的 发表于 2020-5-13 02:42
对的,一个个开关能累死你,一不小心漏掉一个 你排查起来都是费劲的哟~~

请使用yep插件

不好意思哈大佬,因为这个帖子变成了已经解决,然后在我的帖子中这个帖子好像就不见了,所以我没找到这个帖子,你在我这个帖子里会消息了,消息中心才会显示出来。。。

点评

好吧 能解决你的问题就好  发表于 2020-5-15 23:07
好吧 能解决你的问题就好  发表于 2020-5-15 22:46
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2020-5-14 22:57:59 | 显示全部楼层
本帖最后由 tseyik 于 2020-5-14 23:00 编辑

/ *:
  * @plugindesc一次對所有地圖上的所有事件進行自切換。
  請參考幫助以了解詳細用法。
  * @作者Chanosuke
  *
  *使用@help插件命令輸入以下字符串。
  “ TYA_SelfSwitchAlll true/false(啟用或禁用)A / B / C / D(自切換類型)”

  示例1:TYA_SelfSwitchAll tr​​ue A→啟用所有自開關A。
  示例2:TYA_SelfSwitchAll false B→禁用所有自開關B。
  * /
TYA_SwitchControl.js
  1. /*:
  2. * @plugindesc 全マップの全イベントのセルフスイッチを一括で操作します。
  3. 詳しい使い方はヘルプを参照してください。
  4. * @author 茶の助
  5. *
  6. * @help プラグインコマンドにて下記の文字列を入力してください。
  7. 「TYA_SelfSwitchAll true/false(有効か無効か) A/B/C/D(セルフスイッチの種類)」

  8. 例1:TYA_SelfSwitchAll true A → 全てのセルフスイッチAを有効にする。
  9. 例2:TYA_SelfSwitchAll false B → 全てのセルフスイッチBを無効にする。
  10. */

  11. (function () {
  12.     var _Game_Interpreter_pluginCommand      = Game_Interpreter.prototype.pluginCommand;
  13.     Game_Interpreter.prototype.pluginCommand = function (command, args) {
  14.         _Game_Interpreter_pluginCommand.call(this, command, args);
  15.         
  16.         if (command === 'TYA_SelfSwitchAll') {
  17.           for (var mi = 1; mi <= 1000; mi++) {
  18.             for (var ei = 1; ei <= 2500; ei++) {
  19.               $gameSelfSwitches.setValue([mi, ei, args[1]], eval(args[0]));
  20.             }
  21.           }
  22.         }
  23.     };
  24. })();
复制代码
回复

使用道具 举报

梦石
0
星屑
394
在线时间
115 小时
注册时间
2016-1-17
回帖
77
发表于 2020-5-15 14:59:55 | 显示全部楼层

for循环条件里,地图总数用你自己的数据代进去,99张地图那就i<100, 这个你直接在游戏里新建一个事件,选择脚本输入就行了应该- -
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部