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

Project1

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

[已经解决] 如何快速关闭一个地图内所有事件的独立开关?

[复制链接]

Lv2.观梦者

梦石
0
星屑
685
在线时间
661 小时
注册时间
2012-10-21
帖子
350
跳转到指定楼层
1
发表于 2015-4-6 19:39:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
假设一个地图有若干事件,能否快速将所有事件的独立开关A\D全部关闭?

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

2
发表于 2015-4-6 19:47:52 | 只看该作者
本帖最后由 VIPArcher 于 2015-4-6 19:50 编辑

https://rpg.blue/home.php?mod=sp ... o=blog&id=12653
事件脚本
  1. m5_c_ss(地图id,[],["B","C"])
复制代码
未测试

评分

参与人数 1星屑 +200 收起 理由
taroxd + 200 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22953
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
3
发表于 2015-4-6 20:06:14 | 只看该作者
本帖最后由 tseyik 于 2015-4-6 20:07 编辑

セルフスイッチの自動OFF
主功能
場所移動地圖切替時、設定独立开关(独立変数(需要セルフ変数脚本)自動的OFF

事件初期化方法。



独立変数時。

$game_variables.delete(地圖ID, 独立変数号碼配列)

・例: 地圖11移動後、地圖2的独立开关AOFF。
場所移動:[011:MAP011](008,006)

$game_self_switches.delete(2, [”A"])
  1. =begin

  2. ▼ セルフスイッチの自動OFF ver. 1.1

  3. RPGツクールVXAce用スクリプト

  4. 制作 : 木星ペンギン
  5. URL  : http://woodpenguin.blog.fc2.com/

  6. ------------------------------------------------------------------------------
  7. 概要

  8. □ 場所移動でマップが切り替わった時に、設定したセルフスイッチ(とセルフ変数)を
  9.  自動的にOFFにします。

  10. ------------------------------------------------------------------------------
  11. 初期化するセルフスイッチ(変数)を直接指定する場合

  12.   ・イベントコマンドのスクリプトで、↓のスクリプトを入れて実行すると
  13.    そのマップ ID のセルフスイッチが OFF になります。
  14.   
  15.    $game_self_switches.delete(マップID, セルフスイッチの配列)
  16.   
  17.   
  18.   ・セルフ変数の場合は、↓のスクリプトでセルフ変数が 0 になります。
  19.   
  20.    $game_variables.delete(マップID, 変数番号の配列)

  21. =end

  22. module Wooden
  23. module AutoOFF
  24. #//////////////////////////////////////////////////////////////////////////////
  25. #
  26. # 設定項目
  27. #
  28. #//////////////////////////////////////////////////////////////////////////////
  29.   #--------------------------------------------------------------------------
  30.   # ● OFF にするセルフスイッチの配列
  31.   #--------------------------------------------------------------------------
  32.   SelfSwitches = ["A", "B", "C", "D"]
  33.   
  34.   #--------------------------------------------------------------------------
  35.   # ● OFF にするセルフ変数の配列
  36.   #     当然ですが「セルフ変数の追加」スクリプトが入っていないと意味ありません。
  37.   #--------------------------------------------------------------------------
  38.   SelfVariables = []
  39.   
  40.   #--------------------------------------------------------------------------
  41.   # ● セルフスイッチ自動 OFF の例外マップ
  42.   #     例:マップ ID 2 では、セルフスイッチの A だけを OFF に、
  43.   #         マップ ID 3 では、セルフスイッチの B と C を OFF にしたい場合
  44.   #
  45.   #         { 2 => ["A"],
  46.   #           3 => ["B", "C"] }
  47.   #
  48.   #         と設定してください。
  49.   #--------------------------------------------------------------------------
  50.   Ex_SelfSwitches = {}
  51.   
  52. end
  53. end

  54. #//////////////////////////////////////////////////////////////////////////////
  55. #
  56. # 以降、変更する必要なし
  57. #
  58. #//////////////////////////////////////////////////////////////////////////////

  59. #==============================================================================
  60. # ■ Game_Variables
  61. #==============================================================================
  62. class Game_Variables
  63.   #--------------------------------------------------------------------------
  64.   # ● セルフ変数の削除
  65.   #--------------------------------------------------------------------------
  66.   def delete(map_id, keys)
  67.     return unless @self_variables
  68.     @self_variables.reject! {|key,| key[0] == map_id && keys.include?(key[2]) }
  69.   end
  70. end

  71. #==============================================================================
  72. # ■ Game_SelfSwitches
  73. #==============================================================================
  74. class Game_SelfSwitches
  75.   #--------------------------------------------------------------------------
  76.   # ● セルフスイッチの削除
  77.   #--------------------------------------------------------------------------
  78.   def delete(map_id, keys)
  79.     @data.reject! {|key,| key[0] == map_id && keys.include?(key[2]) }
  80.   end
  81. end

  82. #==============================================================================
  83. # ■ Game_Map
  84. #==============================================================================
  85. class Game_Map
  86.   #--------------------------------------------------------------------------
  87.   # ● モジュール
  88.   #--------------------------------------------------------------------------
  89.   include Wooden
  90.   #--------------------------------------------------------------------------
  91.   # ◯ セットアップ
  92.   #--------------------------------------------------------------------------
  93.   alias _wooden_autooff_setup setup
  94.   def setup(map_id)
  95.     if @map_id != map_id
  96.       if AutoOFF::Ex_SelfSwitches.include?(@map_id)
  97.         $game_self_switches.delete(@map_id, AutoOFF::Ex_SelfSwitches[@map_id])
  98.       else
  99.         $game_self_switches.delete(@map_id, AutoOFF::SelfSwitches)
  100.       end
  101.       $game_variables.delete(@map_id, AutoOFF::SelfVariables)
  102.     end
  103.     _wooden_autooff_setup(map_id)
  104.   end
  105. end
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 00:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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