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

Project1

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

[已经解决] 某開關開啟時,其他開關就關閉

[复制链接]

Lv1.梦旅人

梦石
0
星屑
80
在线时间
1730 小时
注册时间
2009-7-12
帖子
443
跳转到指定楼层
 楼主| 发表于 2013-2-16 01:58:09 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
我想用公共事件寫一個效果
當1號開關開啟時,該公共事件並行處理
事件內容為
有A、B、C、D,共四個開關
其中一個開關被開啟時,另外三個就會被關閉

請問該事件內容要如何寫?

用腳本也可以,只要能用1號開關控制該腳本是否激活就行

那啥…我以為用戶名只是通行碼…
所以我暱稱不是serena718哈,是月見斐夜
头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

12
发表于 2013-2-17 10:14:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
1730 小时
注册时间
2009-7-12
帖子
443
11
 楼主| 发表于 2013-2-16 16:12:58 | 只看该作者
嗯,已經解決了,謝謝各位的幫忙
我原本糾結在要怎麼讓四個開關間互相利用
沒想到一個變數就解決了中間的判定問題
看來我一直是把簡單的問題複雜化呢=ㄦ=

那啥…我以為用戶名只是通行碼…
所以我暱稱不是serena718哈,是月見斐夜
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
32054
在线时间
5082 小时
注册时间
2012-11-19
帖子
4877

开拓者

10
发表于 2013-2-16 15:53:56 | 只看该作者
芯☆淡茹水 发表于 2013-2-16 15:44

    恩,就是麻烦。建议LZ用变量控制开关的开和关
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9340
在线时间
2745 小时
注册时间
2008-9-5
帖子
3540

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

9
发表于 2013-2-16 15:52:06 | 只看该作者
哪有~~哀家写的那一段根本没有判定处理~这个要判定处理的话很麻烦~
哀家就是很暴力地先把所有开关给关了~
之后再打开指定的那个开关罢了~

点评

的確。這樣我只要用變數指定,在調用腳本,直接打開指定開關就好了,試一下這方法  发表于 2013-2-16 15:57
这样就跳过了判定~思路不是更清晰了吗?  发表于 2013-2-16 15:52
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
1730 小时
注册时间
2009-7-12
帖子
443
8
 楼主| 发表于 2013-2-16 15:52:04 | 只看该作者
我在想是不是要用另外4個變數去紀錄開關目前是開啟還是關閉...
就跟寫升級事件一樣,一個紀錄目前等級,一個紀錄先前的等級
可是這樣我又不知道怎麼寫了我去

那啥…我以為用戶名只是通行碼…
所以我暱稱不是serena718哈,是月見斐夜
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
32054
在线时间
5082 小时
注册时间
2012-11-19
帖子
4877

开拓者

7
发表于 2013-2-16 15:44:07 | 只看该作者
  1. class Interpreter
  2.   def day_night_switch_control(id)
  3.     if $game_switches[2] = true
  4.       $game_switches[3] = false   
  5.       $game_switches[4] = false   
  6.       $game_switches[5] = false
  7.     elsif $game_switches[3] = true
  8.       $game_switches[2] = false   
  9.       $game_switches[4] = false   
  10.       $game_switches[5] = false
  11.     elsif $game_switches[4] = true
  12.       $game_switches[2] = false   
  13.       $game_switches[3] = false   
  14.       $game_switches[5] = false
  15.     elsif $game_switches[5] = true
  16.       $game_switches[2] = false   
  17.       $game_switches[3] = false   
  18.       $game_switches[4] = false
  19.     end
  20.     return
  21.   end
  22. end
复制代码

点评

就算用elsif還是不行的,他還是只會判定最上面的那個,比如2=on,若把3=on,他又會把3給關了  发表于 2013-2-16 15:50
这样的话~如果之前ID数值小的开关打开了,然后再打开ID大的开关的话~依然会把ID大的那个开关关掉而不是关掉ID小的开关。  发表于 2013-2-16 15:49
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9340
在线时间
2745 小时
注册时间
2008-9-5
帖子
3540

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

6
发表于 2013-2-16 15:24:29 | 只看该作者
事实上,乃换个写法吧,先把开关全关了,然后指定打开一个咧:
RUBY 代码复制
  1. class Interpreter
  2.   def day_night_switch_control(id)
  3.     mor = 2
  4.     noo = 3
  5.     eve = 4
  6.     nig = 5
  7.     $game_switches[mor] = false
  8.     $game_switches[noo] = false
  9.     $game_switches[eve] = false
  10.     $game_switches[nig] = false
  11.     $game_switches[id] = true
  12.   end
  13. end

点评

比如2=on,要把3給on時,系統會自動再把3給off...  发表于 2013-2-16 15:48
這的確是把過程簡化了,但是我還是找不到中間判定的思路,只要另一個開關被打開時,腳本只會判定最優先執行的那個  发表于 2013-2-16 15:47
调用这个脚本的时候,在后面加个小括弧,里面写上要打开的开关id。  发表于 2013-2-16 15:25
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
32054
在线时间
5082 小时
注册时间
2012-11-19
帖子
4877

开拓者

5
发表于 2013-2-16 15:15:56 | 只看该作者
  很简单啊



呃,第一个条件的开关4错了,该是 OFF

点评

這個我試過了,下面的判定會直接覆蓋上面的,詳細看下我LS貼的腳本  发表于 2013-2-16 15:32

评分

参与人数 1星屑 +66 收起 理由
hys111111 + 66 感谢回答,后面的开关会打开。.

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
1730 小时
注册时间
2009-7-12
帖子
443
4
 楼主| 发表于 2013-2-16 15:09:00 | 只看该作者
cinderelmini 发表于 2013-2-16 11:37
话说

这个设定本来就矛盾了啊~

是的,就是這個意思
我之前是試寫了這個腳本
RUBY 代码复制
  1. class Interpreter
  2.   def day_night_switch_control
  3.     mor = 2
  4.     noo = 3
  5.     eve = 4
  6.     nig = 5
  7.     if $game_switches[mor] == true and ($game_switches[noo] and $game_switches[eve] and $game_switches[nig]) != true
  8.       if ($game_switches[noo] or $game_switches[eve] or $game_switches[nig]) == true
  9.         $game_switches[mor] = false
  10.       end
  11.     end
  12.     if $game_switches[noo] == true and ($game_switches[mor] and $game_switches[eve] and $game_switches[nig]) != true
  13.       if ($game_switches[mor] or $game_switches[eve] or $game_switches[nig]) == true
  14.         $game_switches[noo] = false
  15.       end
  16.     end
  17.     if $game_switches[eve] == true and ($game_switches[mor] and $game_switches[noo] and $game_switches[nig]) != true
  18.       if ($game_switches[mor] or $game_switches[noo] or $game_switches[nig]) == true
  19.         $game_switches[eve] = false
  20.       end
  21.     end
  22.     if $game_switches[nig] == true and ($game_switches[mor] and $game_switches[noo] and $game_switches[eve]) != true
  23.       if ($game_switches[mor] or $game_switches[noo] or $game_switches[eve]) == true
  24.         $game_switches[nig] = false
  25.       end
  26.     end
  27.   end
  28. end


然後在公共事件裡直接調用day_night_switch_control

結果效果還是沒出來,該關的不關,不該關的被關了呃

评分

参与人数 1星屑 +100 收起 理由
hys111111 + 100 nor、eve好晕……

查看全部评分


那啥…我以為用戶名只是通行碼…
所以我暱稱不是serena718哈,是月見斐夜
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9340
在线时间
2745 小时
注册时间
2008-9-5
帖子
3540

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

3
发表于 2013-2-16 11:37:43 | 只看该作者
话说
其中一個開關被開啟時,另外三個就會被關閉

这个设定本来就矛盾了啊~
是哀家没理解好?
因为当四个开关其中一个被打开了,
那么其他的开关就不可能被打开,进而关闭其他开关了~~

于是斐夜酱的意思是不是:
即使四个开关中有一个被打开~
然后如果下次操作打开其他的某个开关~
那么之前打开的开关就要关掉?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 03:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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