查看: 4612|回复: 7

[已经解决] 如何打开随机开关

[复制链接]
梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
回帖
138
发表于 2016-2-18 09:12:47 | 显示全部楼层 |阅读模式

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

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

×
是这样的,我做了个小游戏,这有150个开关,根据随机数判定打开某一开关,但是纯事件工作量太大了,所以想问问有什么办法能打开随机开关呢?比如随机数是1,打开101号开关,随机数是2,打开102开关···
梦石
0
星屑
1309
在线时间
904 小时
注册时间
2014-12-4
回帖
349
发表于 2016-2-18 09:24:48 | 显示全部楼层
本帖最后由 翻滚牛宝宝 于 2016-2-18 10:44 编辑
  1. var num=Math.floor(Math.random()*150+101);
  2. if ( $gameSwitches.Value(num) ==true)
  3. {
  4. $gameSwitches.setValue(num, true/false);
  5. $gameVariables.setValue(num, value);

  6. }
复制代码
直接写在事件页 脚本 里就好了

点评

跳转的用个开关分歧吧  发表于 2016-2-18 10:41
是的  发表于 2016-2-18 10:33
第一行设置变量 ,第二行true打开false关闭么  发表于 2016-2-18 10:21
我以为是1-150。。  发表于 2016-2-18 09:52
他是要打开101-250号开关  发表于 2016-2-18 09:50

评分

参与人数 2星屑 +176 收起 理由
余烬之中 + 166 认可答案
夏末渐离 + 10 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
60
在线时间
306 小时
注册时间
2014-8-5
回帖
403
发表于 2016-2-18 09:31:11 | 显示全部楼层
本帖最后由 夏末渐离 于 2016-2-18 09:53 编辑
  1. /*:
  2. * @author 夏末渐离
  3. * @help
  4. * 需为UTF8编码
  5. * 使用插件指令RandomSwitch即可打开一个在101-250范围的随机开关
  6. * 并且把每次改变的开关ID记录到150号变量的值
  7. */
  8. (function(){
  9.     var GetRandomNum=function(Min,Max)
  10.     {
  11.         var Range = Max - Min;
  12.         var Rand = Math.random();
  13.         return(Min + Math.round(Rand * Range));
  14.     };
  15.     var XM_openRandomSwitches=function(){
  16.         var currentNum=GetRandomNum(101,250);
  17.         $gameVariables.setValue(150,currentNum);
  18.         $gameSwitches.setValue(currentNum,true);
  19.     };
  20.     var XM_160218_pluginCommand=Game_Interpreter.prototype.pluginCommand;
  21.     Game_Interpreter.prototype.pluginCommand = function(command, args) {
  22.         XM_160218_pluginCommand.call(this,command,args);
  23.         if(command=="RandomSwitch")
  24.             XM_openRandomSwitches();
  25.     };
  26. }());
复制代码

点评

编程最重要的是什么  发表于 2016-2-18 11:00
  点我进入    
       ↓      
回复

使用道具 举报

梦石
0
星屑
245
在线时间
219 小时
注册时间
2015-9-24
回帖
138
 楼主| 发表于 2016-2-18 10:30:25 | 显示全部楼层
本帖最后由 chenyilindzh 于 2016-2-18 11:27 编辑

这个运行了会报错········
QQ图片20160218112631.png

点评

你看看这样写对不对,判断某开关是否开启要怎么写呢?  发表于 2016-2-18 10:48
看2楼,跳转那个 你用个专门开关的分歧 写下就好了  发表于 2016-2-18 10:43
回复

使用道具 举报

梦石
0
星屑
60
在线时间
306 小时
注册时间
2014-8-5
回帖
403
发表于 2016-2-18 11:52:35 | 显示全部楼层
chenyilindzh 发表于 2016-2-18 10:30
这个运行了会报错········
  1. var num1=Math.floor(Math.random()*25+1);
  2. for(var i=0; i<num1;i++)
  3. {
  4.    var num2=Math.floor(Math.random()*25+101);
  5.    if($gameSwitches.value(num2) ==true)
  6.    $gameSwitches.setValue(num2,false);
  7. }
复制代码

点评

3q  发表于 2016-2-18 13:22
  点我进入    
       ↓      
回复

使用道具 举报

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
回帖
729
发表于 2016-2-18 12:31:26 | 显示全部楼层
也不過150個 其實妳研究這些代碼的時間早就弄好了

点评

我弄一个区域中的25个都弄了3天多··  发表于 2016-2-18 13:22
回复

使用道具 举报

梦石
0
星屑
497
在线时间
266 小时
注册时间
2015-12-8
回帖
729
发表于 2016-2-18 13:31:25 | 显示全部楼层
chenyilindzh 发表于 2016-2-18 10:30
这个运行了会报错········

那是因為妳還有設定其他條件吧

不然只是用變量來控制的話 其他事件和東西都設定好的話 一兩個小時就設定好了
回复

使用道具 举报

笑问情缘

梦石
0
星屑
68
在线时间
238 小时
注册时间
2006-5-3
回帖
544
发表于 2016-2-18 18:33:29 来自手机 | 显示全部楼层
随机开关很容易吧,直接用变量控制,不就可以了吗?
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部