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

Project1

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

[已经解决] 關於二周目在標題再增加一個指令的問題…

[复制链接]

Lv1.梦旅人

梦石
0
星屑
80
在线时间
62 小时
注册时间
2009-1-10
帖子
46
跳转到指定楼层
1
发表于 2014-7-30 00:12:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
因為想要遊戲二周目後再追加看CG的功能,所以我找來了這一個腳本…(我用的是默認標題而不是事件標題
但是第20號變數似乎重新開遊戲後又會重設(ry
  1. =begin
  2.       RGSS3
  3.       
  4.       ★ スタートコマンド拡張 ★
  5.       
  6.       タイトルコマンドを増やし複数のマップからゲームを開始することができます。
  7.       おまけの追加などにどうぞ。
  8.       
  9.       ● 仕様 ●==========================================================
  10.       これはタイトル画面から複数のマップに飛ばすことを可能にするものです。
  11.       --------------------------------------------------------------------
  12.       これ自体にサウンドやギャラリーの機能はありません。
  13.       ====================================================================
  14.       
  15.       ● 注意 ●==========================================================
  16.       「ゲーム内共有変数」との併用を前提条件にしたスクリプト素材です。
  17.       --------------------------------------------------------------------
  18.       最初からコマンドを増やした状態で開始し、その後も変更させない場合は、
  19.       「ゲーム内共有変数」は必要ありません。
  20.       ====================================================================
  21.       
  22.       ver1.00

  23.       Last Update : 2011/12/23
  24.       12/23 : RGSS2からの移植
  25.       
  26.       ろかん   http://kaisou-ryouiki.sakura.ne.jp/
  27. =end

  28. #===========================================
  29. #   設定箇所
  30. #===========================================
  31. module Rokan
  32. module Game_Start_Command
  33.     # 判断に利用する変数番号
  34.     GSV = 20
  35.    
  36.     DEF_LIST = {
  37.     #--------------------------------------------------------------------
  38.     # 追加コマンドを定義(0~2は使用しないでください)
  39.     #--------------------------------------------------------------------
  40.     # 0 => ニューゲーム
  41.     # 1 => コンティニュー
  42.     # 2 => シャットダウン
  43.     #--------------------------------------------------------------------
  44.     # 定義番号 => ["コマンド名", 開始マップID, マップX座標, マップY座標],
  45.     #--------------------------------------------------------------------
  46.     3 => ["ギャラリー", 4, 10, 13],
  47.     4 => ["サウンド",   3, 11, 10],
  48.     #--------------------------------------------------------------------
  49.     }
  50.    
  51.    
  52.     COMMAND_LIST = {
  53.     #--------------------------------------------------------------------
  54.     # 指定変数内容によるコマンド内容を設定
  55.     # 望むコマンドの順番を上で定義した番号をつかって表現してください
  56.     #--------------------------------------------------------------------
  57.     # 指定変数に格納されている数値 => [コマンドの順番],
  58.     #--------------------------------------------------------------------
  59.     0 => [0, 1, 2],
  60.     1 => [0, 1, 3, 2],
  61.     2 => [0, 1, 4, 2],
  62.     3 => [0, 1, 3, 4, 2],
  63.     #--------------------------------------------------------------------
  64.     }
  65. end
  66. end
  67. #===========================================
  68. #   ここまで
  69. #===========================================

  70. $rsi ||= {}
  71. $rsi["スタートコマンド拡張"] = true

  72. module DataManager
  73.   #--------------------------------------------------------------------------
  74.   # ● インクルード Rokan::Game_Start_Command
  75.   #--------------------------------------------------------------------------
  76.   include Rokan::Game_Start_Command
  77.   #--------------------------------------------------------------------------
  78.   # ● 定義されたコマンドリストの取得
  79.   #--------------------------------------------------------------------------
  80.   def self.def_list
  81.     DEF_LIST
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● 定義されたコマンドリストの取得
  85.   #--------------------------------------------------------------------------
  86.   def self.command_list
  87.     COMMAND_LIST[$game_variables[GSV]]
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 拡張コマンドのセットアップ
  91.   #--------------------------------------------------------------------------
  92.   def self.setup_ex_command(index)
  93.     create_game_objects
  94.     data = def_list[command_list[index]]
  95.     $game_party.setup_starting_members
  96.     $game_map.setup(data[1])
  97.     $game_player.moveto(data[2], data[3])
  98.     $game_player.refresh
  99.     Graphics.frame_count = 0
  100.   end
  101. end

  102. class Window_TitleCommand < Window_Command
  103.   #--------------------------------------------------------------------------
  104.   # ● コマンドリストの作成
  105.   #--------------------------------------------------------------------------
  106.   def make_command_list
  107.     DataManager.command_list.each{|i|
  108.       case i
  109.       when 0
  110.         add_command(Vocab::new_game, :new_game)
  111.       when 1
  112.         add_command(Vocab::continue, :continue, continue_enabled)
  113.       when 2
  114.         add_command(Vocab::shutdown, :shutdown)
  115.       else
  116.         add_command(DataManager.def_list[i][0], :ex_command)
  117.       end
  118.     }
  119.   end
  120. end

  121. class Scene_Title < Scene_Base
  122.   #--------------------------------------------------------------------------
  123.   # ● コマンドウィンドウの作成
  124.   #--------------------------------------------------------------------------
  125.   alias _ex_command_create_command_window create_command_window
  126.   def create_command_window
  127.     _ex_command_create_command_window
  128.     @command_window.set_handler(:ex_command, method(:command_ex))
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ● 拡張コマンド
  132.   #--------------------------------------------------------------------------
  133.   def command_ex
  134.     DataManager.setup_ex_command(@command_window.index)
  135.     close_command_window
  136.     fadeout_all
  137.     $game_map.autoplay
  138.     SceneManager.goto(Scene_Map)
  139.   end
  140. end
复制代码
另外請教一下怎樣把ギャラリー那個指令改成呼叫CG鑑賞的畫面…我用的是Claimh的ギャラリー腳本
我自己試過修改一點但按下去時還是沒有反應

Lv1.梦旅人

梦石
0
星屑
54
在线时间
1049 小时
注册时间
2012-1-27
帖子
1446
2
发表于 2014-7-30 00:17:53 | 只看该作者
本帖最后由 黑化の鼠标 于 2014-7-30 00:56 编辑

你这份脚本里是有提到说明,如果要完全使用这个脚本的技能还需要一个「ゲーム内共有変数」的脚本。
然后呢,顺着脚本里提到的原网站地址,得到的脚本就是这个。
大致的使用方法就是丢在MAIN之前,然后在这个脚本的3941行输入对应需要共享的开关和变量号数,其中39行对应开关,41行对应变量。
那个3840行的例如我想应该写的已经清楚了没必要再过多说明。
RUBY 代码复制
  1. =begin
  2.       RGSS3
  3.       
  4.    ★ ゲーム内共有変数 ★
  5.  
  6.       設定箇所で指定したスイッチと変数をゲーム全体で共有します。
  7.       
  8.       ● 仕様 ●==========================================================
  9.       スクリプト導入後にセーブするとゲームフォルダ内に新しく
  10.       "PublicData"
  11.       というrvdata2ファイルが自動的に作成されます。
  12.       --------------------------------------------------------------------
  13.       共有データセーブのタイミングは、通常のセーブ時
  14.       共有データロードのタイミングは、通常のロード時&ゲーム立ち上げ時です。
  15.       ====================================================================
  16.       
  17.       ● イベントについて ●==============================================
  18.       イベントコマンドのスクリプトに、
  19.         write_public_data
  20.       と記述すると、任意のタイミングで共有データのセーブを行うことができます。
  21.       エンディング時などにどうぞ。
  22.       ====================================================================
  23.       
  24.       ver1.00
  25.  
  26.       Last Update : 2011/12/17
  27.       12/17 : RGSS2からの移植
  28.       
  29.       ろかん   [url]http://kaisou-ryouiki.sakura.ne.jp/[/url]
  30. =end
  31.  
  32.  
  33.  
  34. module PUBLIC_DATA
  35. #----------------------------------------------------------------------------
  36. # ● 設定箇所ここから
  37. #----------------------------------------------------------------------------
  38.   # 共有するスイッチ番号 (例 : SWITCH = [3, 7, 12])
  39.   SWITCH = []
  40.   # 共有する変数番号 (例 : VARIABLE = [1, 6])
  41.   VARIABLE = []
  42.   # 通常のセーブと同時に共有データのセーブも行うかどうか(true/ false)
  43.   S_AUTOSAVE = true
  44. #----------------------------------------------------------------------------
  45. # ● 設定箇所ここまで
  46. #----------------------------------------------------------------------------
  47. end
  48.  
  49. $rsi ||= {}
  50. $rsi["ゲーム内共有変数"] = true
  51.  
  52. $public = [{}, {}]
  53. #==============================================================================
  54. # ■ PUBLIC_DATA
  55. #------------------------------------------------------------------------------
  56. #  共有データの書き込み、読み込みを実行するモジュール
  57. #==============================================================================
  58. module PUBLIC_DATA
  59.   # 共有データファイル名
  60.   FILE_NAME = "PublicData.rvdata2"
  61.   #--------------------------------------------------------------------------
  62.   # ● 共有データの書き込み
  63.   #--------------------------------------------------------------------------
  64.   def self.write_public_data
  65.     SWITCH.each{|i| $public[0][i] = $game_switches[i]}
  66.     VARIABLE.each{|i| $public[1][i] = $game_variables[i]}
  67.     save_data($public, FILE_NAME)
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 共有データの読み込み
  71.   #--------------------------------------------------------------------------
  72.   def self.read_public_data
  73.     if File.exist?(FILE_NAME)
  74.       $public = load_data(FILE_NAME)
  75.       $public[0].each_pair{|key, value|
  76.         $game_switches[key] = value if SWITCH.include?(key)
  77.       }
  78.       $public[1].each_pair{|key, value|
  79.         $game_variables[key] = value if VARIABLE.include?(key)
  80.       }
  81.     end
  82.   end
  83. end
  84.  
  85. class << DataManager
  86.   #--------------------------------------------------------------------------
  87.   # ● 各種ゲームオブジェクトの作成
  88.   #--------------------------------------------------------------------------
  89.   alias public_data_create_game_objects create_game_objects
  90.   def create_game_objects
  91.     public_data_create_game_objects
  92.     PUBLIC_DATA.read_public_data
  93.   end
  94.   #--------------------------------------------------------------------------
  95.   # ● セーブの実行
  96.   #--------------------------------------------------------------------------
  97.   alias public_data_save_game save_game
  98.   def save_game(index)
  99.     if public_data_save_game(index)
  100.       PUBLIC_DATA.write_public_data
  101.       true
  102.     else
  103.       false
  104.     end
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ● ロードの実行
  108.   #--------------------------------------------------------------------------
  109.   alias public_data_load_game load_game
  110.   def load_game(index)
  111.     if public_data_load_game(index)
  112.       PUBLIC_DATA.read_public_data
  113.       true
  114.     else
  115.       false
  116.     end
  117.   end
  118. end
  119.  
  120. class Game_Interpreter
  121.   #--------------------------------------------------------------------------
  122.   # ● 共有データの保存
  123.   #--------------------------------------------------------------------------
  124.   def write_public_data
  125.     PUBLIC_DATA.write_public_data
  126.   end
  127. end

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

惨了,没装全局变量,这下只能玩读档进EXTRA的把戏了∑(゚ω゚ノ)ノ
我感觉我快成兜售Q键幻灯片狂魔了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
62 小时
注册时间
2009-1-10
帖子
46
3
 楼主| 发表于 2014-7-30 15:13:29 | 只看该作者
本帖最后由 艾尔露 于 2014-7-30 15:15 编辑
黑化の鼠标 发表于 2014-7-30 00:17
你这份脚本里是有提到说明,如果要完全使用这个脚本的技能还需要一个「ゲーム内共有変数」的脚本。
然后呢 ...


最近網絡太不穩定一直上不到6R
非常感謝你的回答……我本來有想到要用全局變量來解決的,
結果犯了智障沒有弄一個文件來保存變量啊哈哈哈哈(乾笑){:8_443:}  (結果昨天晚上斷了網就自己用全局變量改好了腳本)
另外CG的問題我自己也解決了,非常抱歉,下次果然應該自己再試一下再上來問的{:2_253:}
也很感謝你的幫忙
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 09:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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