Project1

标题: 某開關開啟時,其他開關就關閉 [打印本页]

作者: serena718    时间: 2013-2-16 01:58
标题: 某開關開啟時,其他開關就關閉
我想用公共事件寫一個效果
當1號開關開啟時,該公共事件並行處理
事件內容為
有A、B、C、D,共四個開關
其中一個開關被開啟時,另外三個就會被關閉

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

用腳本也可以,只要能用1號開關控制該腳本是否激活就行
作者: 紫英晓狼1130    时间: 2013-2-16 06:58
條件分歧:當獨立開關A為ON時,獨立開關B、C、D為OFF
以此類推.…
作者: 梦翼无痕    时间: 2013-2-16 11:20
繁体···不看了···
作者: cinderelmini    时间: 2013-2-16 11:37
话说
其中一個開關被開啟時,另外三個就會被關閉

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

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

作者: serena718    时间: 2013-2-16 15:09
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

結果效果還是沒出來,該關的不關,不該關的被關了呃
作者: 芯☆淡茹水    时间: 2013-2-16 15:15
  很简单啊



呃,第一个条件的开关4错了,该是 OFF
作者: cinderelmini    时间: 2013-2-16 15:24
事实上,乃换个写法吧,先把开关全关了,然后指定打开一个咧:
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


作者: 芯☆淡茹水    时间: 2013-2-16 15:44
  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
复制代码

作者: serena718    时间: 2013-2-16 15:52
我在想是不是要用另外4個變數去紀錄開關目前是開啟還是關閉...
就跟寫升級事件一樣,一個紀錄目前等級,一個紀錄先前的等級
可是這樣我又不知道怎麼寫了我去
作者: cinderelmini    时间: 2013-2-16 15:52
哪有~~哀家写的那一段根本没有判定处理~这个要判定处理的话很麻烦~
哀家就是很暴力地先把所有开关给关了~
之后再打开指定的那个开关罢了~
作者: 芯☆淡茹水    时间: 2013-2-16 15:53
芯☆淡茹水 发表于 2013-2-16 15:44

    恩,就是麻烦。建议LZ用变量控制开关的开和关
作者: serena718    时间: 2013-2-16 16:12
嗯,已經解決了,謝謝各位的幫忙
我原本糾結在要怎麼讓四個開關間互相利用
沒想到一個變數就解決了中間的判定問題
看來我一直是把簡單的問題複雜化呢=ㄦ=
作者: 晴兰    时间: 2013-2-17 10:14
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1