Project1

标题: 怎样打开其他事件的独立开关 [打印本页]

作者: 身之察察    时间: 2008-4-23 04:37
标题: 怎样打开其他事件的独立开关
请问能不能在一个事件里 打开另一个事件的独立开关,而且还不一定是同一张地图上的事件。

就比如说,我想实现下列功能:
在一个屋子里,有十个按钮分别控制屋子外面的10个灯的亮灭。假如玩家在屋子里将1号、3号、7号这三个按钮按下,那他从屋子里出来到外面就会发现外面的10个灯中,1、3、7号这三个灯亮了。

这个功能用开关做当然很简单,但要浪费10个开关,我想用独立开关实现,但不知道能不能在屋子里通过按按钮 打开或关闭屋子外面的灯的独立开关。请问这能实现么? 谢谢 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 9244579    时间: 2008-4-23 04:39
$game_self_switches[[地图编号,事件编号,"A"]] = true/false [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 9244579    时间: 2008-4-23 04:54
不过用10个开关也没什么,其实开关可以突破5000
作者: 身之察察    时间: 2008-4-23 04:58
非常感谢您,我刚才试了一下,成功了 担又产生了一些问题
就是如果在同一张地图上,这样用一个事件打开另一个事件的独立开关后,不会马上产生效果
要从这张图出去再回来才能看到效果,     就是说 如果我的按钮和灯在同一个屋子里
我按下按钮,灯却没亮,我只有从屋子里出去,然后再进来才看到灯亮了,这个问题能解决么
非常感谢
作者: 9244579    时间: 2008-4-23 04:58
  1. #==============================================================================
  2. # ■ Game_Switches
  3. #------------------------------------------------------------------------------
  4. #  处理开关的类。编入的是类 Array 的外壳。本类的实例请参考
  5. # $game_switches。
  6. #==============================================================================

  7. class Game_Switches
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     @data = []
  13.   end
  14.   #--------------------------------------------------------------------------
  15.   # ● 获取开关
  16.   #     switch_id : 开关 ID
  17.   #--------------------------------------------------------------------------
  18.   def [](switch_id)
  19.     if switch_id <= 999999999999 and @data[switch_id] != nil
  20.       return @data[switch_id]
  21.     else
  22.       return false
  23.     end
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 设置开关
  27.   #     switch_id : 开关 ID
  28.   #     value     : ON (true) / OFF (false)
  29.   #--------------------------------------------------------------------------
  30.   def []=(switch_id, value)
  31.     if switch_id <= 999999999999
  32.       @data[switch_id] = value
  33.     end
  34.   end
  35. end
复制代码

把开关限制修改下嘿嘿,只是VB只V了5000个开关给我们哈
我们可以用脚本来判断哦
$game_switches[123456] = true #打开123456开关

分歧里也用脚本
if $game_switches[123456] == true # 如果是事件了第分歧就不要加if了
else
end


作者: 9244579    时间: 2008-4-23 04:59
我建议你直接用开关就行了,别咸麻烦! 可以突破了
MS 那个米刷新
作者: 水迭澜    时间: 2008-4-23 05:00
打开独立开关之后事件脚本 $game_map.need_refresh = true 试试
作者: 身之察察    时间: 2008-4-23 05:03
谢谢,麻烦了,也谢谢 水迭澜 同志 很成功




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