幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: 六楼小特

[已过期] VX的选择项只能有4个……请问各位怎么增加选择项的数目?

[复制链接]

1

主题

6

帖子

50

积分

②入门

积分
50
 楼主| 发表于 2010-6-27 11:47:09 | 显示全部楼层
!!竟然出现了……

真谢谢您了,我这里可以下载……但是出现了一个解压错误提示……
他们都管我叫Wyc
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-27 11:54:49 | 显示全部楼层
我解压没有问题。。。。是不是网速的问题导致没有下载完全

本帖子中包含更多资源

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

x
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

1

主题

6

帖子

50

积分

②入门

积分
50
 楼主| 发表于 2010-6-27 12:17:51 | 显示全部楼层
嗯,看到了……正在研究……谢谢您了啊……
他们都管我叫Wyc
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-27 12:29:41 | 显示全部楼层
不用谢。。这个是纯事件的方法,只需要复制事件,加上按照我在第一页的说明更改就可以了。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

10

主题

68

帖子

1201

积分

⑥精研

积分
1201
发表于 2010-7-4 21:18:31 | 显示全部楼层
  1. #
  2. #    特殊選択ウインドウ表示(RGSS2)
  3. #  (C)2008 TYPE74RX-T
  4. #
  5. # ★ カスタマイズポイント:19~21行目
  6. #
  7. # 改造箇所
  8. #・メッセージウインドウの全文字列の描画が終了するまで操作を無効に。
  9. #・選択肢ウインドウ消去のタイミングをメッセージ消去のタイミングと擬似的に同一に。
  10. #・項目決定時に強制的に文章送りをするように。
  11. #==============================================================================
  12. # ★ RX_T_SelectWindow
  13. #------------------------------------------------------------------------------
  14. #  特殊な選択ウインドウを表示するためのモジュールです。
  15. #==============================================================================
  16. module RX_T_SelectWindow
  17.   RX2c7_Width = 160 # 特殊選択ウインドウの幅
  18.   RX2c7_X = 384     # 特殊選択ウインドウの表示座標(X軸)
  19.   RX2c7_Y = 0       # 特殊選択ウインドウの表示座標(Y軸)
  20.   #--------------------------------------------------------------------------
  21.   # ● 開始処理
  22.   #--------------------------------------------------------------------------
  23.   def start
  24.     super
  25.     @rx_select_window = Window_Command.new(RX2c7_Width, $game_temp.rx_sel_commands)
  26.     @rx_select_window.x = RX2c7_X
  27.     @rx_select_window.y = RX2c7_Y
  28.     @rx_select_window.active = false
  29.     @rx_select_window.visible = false
  30.     @rx2c7_copy_commands = $game_temp.rx_sel_commands.dup
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 終了処理
  34.   #--------------------------------------------------------------------------
  35.   def terminate
  36.     super
  37.     @rx_select_window.dispose
  38.   end
  39.   #--------------------------------------------------------------------------
  40.   # ● フレーム更新
  41.   #--------------------------------------------------------------------------
  42.   def update
  43.     super
  44.     # 特殊選択ウインドウ表示フラグが立っていたら
  45.     if $game_message.visible and $game_temp.rx_sel_command
  46.       # コマンド内容が変化していればリメイク
  47.       unless @rx2c7_copy_commands == $game_temp.rx_sel_commands
  48.         @rx2c7_copy_commands = $game_temp.rx_sel_commands.dup
  49.         @rx_select_window.dispose
  50.         @rx_select_window = Window_Command.new(RX2c7_Width, $game_temp.rx_sel_commands)
  51.         @rx_select_window.x = RX2c7_X
  52.         @rx_select_window.y = RX2c7_Y
  53.       end
  54.       # コマンドを出現させる
  55.       @rx_select_window.active = true
  56.       @rx_select_window.visible = true
  57.       # メッセージの全ての文字列が表示終了後に選択を開始する
  58.       unless $game_temp.rx_select_window_open
  59.         @rx_select_window.update
  60.         update_rx_select_window
  61.       end
  62.     end
  63.     # 終了フラグが立っていればウインドウを消去
  64.     if $game_temp.rx_select_window_close
  65.       @rx_select_window.active = false
  66.       @rx_select_window.visible = false
  67.       $game_temp.rx_select_window_close = false
  68.     end
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ★ 特殊選択ウインドウ表示
  72.   #--------------------------------------------------------------------------
  73.   def update_rx_select_window
  74.     if Input.trigger?(Input::B)
  75.       $game_temp.rx_sel_command = false
  76.       Sound.play_cancel
  77.       # キャンセル時は選択結果を 0 に
  78.       $game_variables[$game_temp.rx_sel_variables] = 0
  79.       # メッセージウインドウ送りフラグをオン
  80.       $game_temp.rx_select_window_skip = true
  81.     elsif Input.trigger?(Input::C)
  82.       $game_temp.rx_sel_command = false
  83.       Sound.play_decision
  84.       # 指定の変数に選択結果を代入
  85.       $game_variables[$game_temp.rx_sel_variables] = @rx_select_window.index + 1
  86.       # メッセージウインドウ送りフラグをオン
  87.       $game_temp.rx_select_window_skip = true
  88.     end
  89.   end
  90. end
  91. #==============================================================================
  92. # ■ Game_Temp
  93. #------------------------------------------------------------------------------
  94. #  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン
  95. # スタンスは $game_temp で参照されます。
  96. #==============================================================================
  97. class Game_Temp
  98.   #--------------------------------------------------------------------------
  99.   # ● 公開インスタンス変数
  100.   #--------------------------------------------------------------------------
  101.   attr_accessor :rx_select_window_open    # 選択ウインドウ表示開始中フラグ
  102.   attr_accessor :rx_select_window_close   # 選択ウインドウ消去フラグ
  103.   attr_accessor :rx_select_window_skip    # 特殊選択後のメッセージ送りフラグ
  104.   #--------------------------------------------------------------------------
  105.   # ● オブジェクト初期化
  106.   #--------------------------------------------------------------------------
  107.   alias rx_rgss2c7_initialize initialize
  108.   def initialize
  109.     # メソッドを呼び戻す
  110.     rx_rgss2c7_initialize
  111.     # ★ 特殊選択ウインドウ表示フラグ
  112.     @rx_sel_command = false
  113.     # ★ 特殊選択肢
  114.     @rx_sel_commands = []
  115.     # ★ 特殊選択ウインドウの選択結果を格納する変数番号
  116.     @rx_sel_variables = 1
  117.     # ★ 特殊選択ウインドウの選択結果を格納する変数番号
  118.     @rx_sel_variables = 1
  119.     # ★ 特殊選択ウインドウの表示開始中フラグ
  120.     @rx_select_window_open = false
  121.     # ★ 特殊選択ウインドウの消去フラグ
  122.     @rx_select_window_close = false
  123.     # ★ 特殊選択後のメッセージ送りフラグ
  124.     @rx_select_window_skip = false
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # ★ 特殊選択ウインドウ表示フラグ
  128.   #--------------------------------------------------------------------------
  129.   def rx_sel_command
  130.     return @rx_sel_command
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ★ 特殊選択ウインドウ表示フラグの設定
  134.   #--------------------------------------------------------------------------
  135.   def rx_sel_command=(judge)
  136.     @rx_sel_command = judge
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ★ 特殊選択肢
  140.   #--------------------------------------------------------------------------
  141.   def rx_sel_commands
  142.     return @rx_sel_commands
  143.   end
  144.   #--------------------------------------------------------------------------
  145.   # ★ 特殊選択肢の設定
  146.   #--------------------------------------------------------------------------
  147.   def rx_sel_commands=(commands)
  148.     @rx_sel_commands = commands
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ★ 特殊選択ウインドウの選択結果を格納する変数番号
  152.   #--------------------------------------------------------------------------
  153.   def rx_sel_variables
  154.     return @rx_sel_variables
  155.   end
  156.   #--------------------------------------------------------------------------
  157.   # ★ 特殊選択ウインドウの選択結果を格納する変数番号の設定
  158.   #--------------------------------------------------------------------------
  159.   def rx_sel_variables=(variables)
  160.     @rx_sel_variables = variables
  161.   end
  162. end
  163. #==============================================================================
  164. # ■ Interpreter
  165. #------------------------------------------------------------------------------
  166. #  イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ
  167. # スや Game_Event クラスの内部で使用されます。
  168. #==============================================================================
  169. class Game_Interpreter
  170.   #--------------------------------------------------------------------------
  171.   # ★ 注釈
  172.   #--------------------------------------------------------------------------
  173.   alias rx_rgss2c7_command_108 command_108
  174.   def command_108
  175.     # 特殊選択肢表示
  176.     if @parameters[0].include?("特殊选择:")
  177.       # 選択結果を格納する変数番号の取得と決定
  178.       rx_int = rx_get_str_arrays(@parameters[0])
  179.       $game_temp.rx_sel_variables = rx_int[0]
  180.       # 特殊選択ウインドウ表示フラグをオン
  181.       $game_temp.rx_sel_command = true
  182.       # 特殊選択ウインドウ表示表示開始中フラグオン
  183.       $game_temp.rx_select_window_open = true
  184.       # コマンドを含めた注釈の内容を全取得
  185.       str1 = rx_get_all_parameter(@parameters[0])
  186.       # コマンドから先の文字列を全取得
  187.       str2 = rx_get_all_str(str1, "特殊选择:")
  188.       # アクター名を表示する場合の処理
  189.       strray = rx_get_str_strrays(str2)
  190.       # 変数指定部分の要素を削除
  191.       strray.delete_at(0)
  192.       for i in 0...strray.size
  193.         if strray.include?("actorID")
  194.           # 注釈から数字の文字列のみ取得し、数字の配列として返す
  195.           name_id = rx_get_str_arrays(strray)
  196.           # 指定ミスを指摘する(0)
  197.           if name_id[0] == 0
  198.             print "指定のアクターIDが 0 です。"
  199.             exit
  200.           end
  201.           # 指定ミスを指摘する(設定数を超えた場合)
  202.           if name_id[0] >= $data_actors.size
  203.             print "設定されていないアクターID " + name_id[0].to_s + " を指定しています。"
  204.             exit
  205.           end
  206.           # アクター名を発言者名に代入(IDは直接指定値に依存)
  207.           strray = $game_actors[name_id[0]].name
  208.         end
  209.         if strray.include?("Vactor")
  210.           # 注釈から数字の文字列のみ取得し、数字の配列として返す
  211.           var_id = rx_get_str_arrays(strray)
  212.           # 指定ミスを指摘する(0)
  213.           if $game_variables[var_id[0]] == 0
  214.             print "指定のアクターIDが 0 です。"
  215.             exit
  216.           end
  217.           # 指定ミスを指摘する(設定数を超えた場合)
  218.           if $game_variables[var_id[0]] >= $data_actors.size
  219.             print "設定されていないアクターID " + $game_variables[var_id[0]].to_s + " を指定しています。"
  220.             exit
  221.           end
  222.           # アクター名を発言者名に代入(IDは変数の内容に依存)
  223.           strray = $game_actors[$game_variables[var_id[0]]].name
  224.         end
  225.       end
  226.       # コマンドを含めた注釈の内容から文字列のみ抜き出したものを配列化
  227.       $game_temp.rx_sel_commands = strray
  228.       # 継続(競合対策)
  229.       return true
  230.     end
  231.     # メソッドを呼び戻す
  232.     rx_rgss2c7_command_108
  233.   end
  234. end
  235. #==============================================================================
  236. # ■ Window_Base
  237. #------------------------------------------------------------------------------
  238. #  ゲーム中のすべてのウィンドウのスーパークラスです。
  239. #==============================================================================
  240. class Window_Base < Window
  241.   #--------------------------------------------------------------------------
  242.   # ● ウィンドウを閉じる
  243.   #--------------------------------------------------------------------------
  244.   alias rx_select_window_close close
  245.   def close
  246.     # ウインドウを閉じる際に選択肢ウインドウ消去フラグを立てる
  247.     $game_temp.rx_select_window_close = true
  248.     # メソッドを呼び戻す
  249.     rx_select_window_close
  250.   end
  251. end
  252. #==============================================================================
  253. # ■ Window_Message
  254. #------------------------------------------------------------------------------
  255. #  文章表示に使うメッセージウィンドウです。
  256. #==============================================================================
  257. class Window_Message < Window_Selectable
  258.   #--------------------------------------------------------------------------
  259.   # ● フレーム更新
  260.   #--------------------------------------------------------------------------
  261.   alias rx_select_window_update update
  262.   def update
  263.     # メソッドを呼び戻す
  264.     rx_select_window_update
  265.     # 全ての文字が表示完了していて選択肢表示中なら開始中フラグをオフにする
  266.     if $game_temp.rx_select_window_open && @text == nil
  267.       $game_temp.rx_select_window_open = false
  268.    end
  269.     # 選択ウインドウメッセージ送りフラグがオンならメッセージを送りをする
  270.     if $game_temp.rx_select_window_skip
  271.       self.pause = false
  272.       if @text != nil and not @text.empty?
  273.         new_page if @line_count >= MAX_LINE
  274.       else
  275.         terminate_message
  276.       end
  277.       # フラグを初期化
  278.       $game_temp.rx_select_window_skip = false
  279.     end
  280.   end
  281.   #--------------------------------------------------------------------------
  282.   # ● 改ページ処理
  283.   #--------------------------------------------------------------------------
  284.   alias rx_select_window_new_page new_page
  285.   def new_page
  286.     # 改ページ時に選択肢ウインドウ消去フラグを立てる
  287.     $game_temp.rx_select_window_close = true
  288.     # メソッドを呼び戻す
  289.     rx_select_window_new_page
  290.   end
  291. end
  292. #==============================================================================
  293. # ■ Scene_Map
  294. #------------------------------------------------------------------------------
  295. #  マップ画面の処理を行うクラスです。
  296. #==============================================================================
  297. class Scene_Map < Scene_Base
  298.   include RX_T_SelectWindow
  299. end
复制代码




这里用标记来设置选项内容
可以定义为角色名(需要ID) 变量(返回ID角色名) 文本
最前面的1就是选项值所返回给的变量
然后通过条件处理判断选项

本帖子中包含更多资源

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

x
我的网站: www.myegclub.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-20 11:01 , Processed in 0.017930 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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