Project1

标题: 如何永久消除一个事件? [打印本页]

作者: 小__风    时间: 2016-9-26 20:16
标题: 如何永久消除一个事件?
如题,就是在第一次进游戏的时候,角色刚出生的地方有一个自动执行的事件,怎样让这个事件只执行一次,而且关掉游戏后再重启,这个事件还是被消除了,求做法或脚本。
作者: 小__风    时间: 2016-9-26 20:31
@夜狠简单 那具体该怎么做?
作者: 小__风    时间: 2016-9-26 20:37
@七重 差不多那个意思,但是是让这个事件执行过一次后就被永久的删除了,就算关掉游戏再次重启还是不会出现。
作者: 御曹司    时间: 2016-9-26 20:50
这叫做全局变量
论坛的
呜喵五
就有写的说
作者: QQ蚊子湯    时间: 2016-9-26 20:55
基本使用方法:

在機關發動結束後打開某個共有開關、儲存開關狀態(在事件的腳本選項裡加上 write_public_data)
如果你沒有從其他事件關閉他
以後這個開關都是開著的=(不會再發動機關)

  1. =begin
  2.       RGSS3
  3.       
  4.    ★ ゲーム内共有変数 ★

  5.       設定箇所で指定したスイッチと変数をゲーム全体で共有します。
  6.       
  7.       ● 仕様 ●==========================================================
  8.       スクリプト導入後にセーブするとゲームフォルダ内に新しく
  9.       "PublicData"
  10.       というrvdata2ファイルが自動的に作成されます。
  11.       --------------------------------------------------------------------
  12.       共有資料儲存的時機在存檔時
  13.      共有資料讀取的時間在讀檔和開新遊戲時。
  14.       ====================================================================
  15.       
  16.       ● イベントについて ●==============================================
  17.       在事件的腳本裡加上
  18.         write_public_data
  19.       可以直接指定的共有資料的儲存。
  20.       可以用在通關時存檔。
  21.       ====================================================================
  22.       
  23.       ver1.00

  24.       Last Update : 2011/12/17
  25.       12/17 : RGSS2からの移植
  26.       作者:
  27.       ろかん   http://kaisou-ryouiki.sakura.ne.jp/
  28.        翻譯者:QQ蚊子湯
  29.     根據利用利用規約更改部分內容後二次發布
  30. =end



  31. module PUBLIC_DATA
  32. #----------------------------------------------------------------------------
  33. # ● 從這裡開始設定
  34. #----------------------------------------------------------------------------
  35.   # 共有開關編號 (例 : SWITCH = [3, 7, 12])
  36.   SWITCH = []
  37.   # 共有變數編號 (例 : VARIABLE = [1, 6])
  38.   VARIABLE = []
  39.   # 是否要在存檔時自動儲存共有資料的當前狀況(true/ false)
  40.   S_AUTOSAVE = true
  41. #----------------------------------------------------------------------------
  42. # ● 設定到此為止
  43. #----------------------------------------------------------------------------
  44. end

  45. $rsi ||= {}
  46. $rsi["ゲーム内共有変数"] = true

  47. $public = [{}, {}]
  48. #==============================================================================
  49. # ■ PUBLIC_DATA
  50. #------------------------------------------------------------------------------
  51. #  共有データの書き込み、読み込みを実行するモジュール
  52. #==============================================================================
  53. module PUBLIC_DATA
  54.   # 共有データファイル名
  55.   FILE_NAME = "PublicData.rvdata2"
  56.   #--------------------------------------------------------------------------
  57.   # ● 共有データの書き込み
  58.   #--------------------------------------------------------------------------
  59.   def self.write_public_data
  60.     SWITCH.each{|i| $public[0][i] = $game_switches[i]}
  61.     VARIABLE.each{|i| $public[1][i] = $game_variables[i]}
  62.     save_data($public, FILE_NAME)
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ● 共有データの読み込み
  66.   #--------------------------------------------------------------------------
  67.   def self.read_public_data
  68.     if File.exist?(FILE_NAME)
  69.       $public = load_data(FILE_NAME)
  70.       $public[0].each_pair{|key, value|
  71.         $game_switches[key] = value if SWITCH.include?(key)
  72.       }
  73.       $public[1].each_pair{|key, value|
  74.         $game_variables[key] = value if VARIABLE.include?(key)
  75.       }
  76.     end
  77.   end
  78. end

  79. class << DataManager
  80.   #--------------------------------------------------------------------------
  81.   # ● 各種ゲームオブジェクトの作成
  82.   #--------------------------------------------------------------------------
  83.   alias public_data_create_game_objects create_game_objects
  84.   def create_game_objects
  85.     public_data_create_game_objects
  86.     PUBLIC_DATA.read_public_data
  87.   end
  88.   #--------------------------------------------------------------------------
  89.   # ● セーブの実行
  90.   #--------------------------------------------------------------------------
  91.   alias public_data_save_game save_game
  92.   def save_game(index)
  93.     if public_data_save_game(index)
  94.       PUBLIC_DATA.write_public_data
  95.       true
  96.     else
  97.       false
  98.     end
  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● ロードの実行
  102.   #--------------------------------------------------------------------------
  103.   alias public_data_load_game load_game
  104.   def load_game(index)
  105.     if public_data_load_game(index)
  106.       PUBLIC_DATA.read_public_data
  107.       true
  108.     else
  109.       false
  110.     end
  111.   end
  112. end

  113. class Game_Interpreter
  114.   #--------------------------------------------------------------------------
  115.   # ● 共有データの保存
  116.   #--------------------------------------------------------------------------
  117.   def write_public_data
  118.     PUBLIC_DATA.write_public_data
  119.   end
  120. end
复制代码

作者: 夜狠简单    时间: 2016-9-26 22:23
建议用楼上那种方法就好了。
这个不清楚最好还是别用

消失.zip

1.43 MB, 下载次数: 375


作者: duzine    时间: 2016-9-28 02:49
哪需要腳本?  一個開關就能搞定...
作者: 艾玛菌    时间: 2016-9-28 21:11
新建事件页= =什么都不弄不就好了?




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