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

Project1

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

[已经过期] KGC加点出错

[复制链接]

Lv1.梦旅人

梦石
0
星屑
103
在线时间
518 小时
注册时间
2013-4-20
帖子
927
跳转到指定楼层
1
发表于 2013-6-15 14:53:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 夜沫痕 于 2013-6-15 14:55 编辑
  1. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  2. #==============================================================================
  3. # ■ Window_Base
  4. #==============================================================================

  5. class Window_Base < Window
  6.   #--------------------------------------------------------------------------
  7.   # ○ RP の文字色を取得
  8.   #     actor : アクター
  9.   #--------------------------------------------------------------------------
  10.   def rp_color(actor)
  11.     return (actor.rp == 0 ? knockout_color : normal_color)
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ○ 振り分けゲージの色 1 の取得
  15.   #--------------------------------------------------------------------------
  16.   def distribute_gauge_color1
  17.     color = KGC::DistributeParameter::GAUGE_START_COLOR
  18.     return (color.is_a?(Integer) ? text_color(color) : color)
  19.   end
  20.   #--------------------------------------------------------------------------
  21.   # ○ 振り分けゲージの色 2 の取得
  22.   #--------------------------------------------------------------------------
  23.   def distribute_gauge_color2
  24.     color = KGC::DistributeParameter::GAUGE_END_COLOR
  25.     return (color.is_a?(Integer) ? text_color(color) : color)
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ○ RP の描画
  29.   #     actor : アクター
  30.   #     x     : 描画先 X 座標
  31.   #     y     : 描画先 Y 座標
  32.   #     width : 幅
  33.   #--------------------------------------------------------------------------
  34.   def draw_actor_rp(actor, x, y, width = 120)
  35.     self.contents.font.color = system_color
  36.     self.contents.draw_text(x, y, 40, WLH, Vocab::rp_a)
  37.     self.contents.font.color = rp_color(actor)
  38.     xr = x + width
  39.     if width < 120
  40.       self.contents.draw_text(xr - 40, y, 40, WLH, actor.rp, 2)
  41.     else
  42.       self.contents.draw_text(xr - 90, y, 40, WLH, actor.rp, 2)
  43.       self.contents.font.color = normal_color
  44.       self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
  45.       self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxrp, 2)
  46.     end
  47.     self.contents.font.color = normal_color
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   # ○ 振り分けゲージの描画
  51.   #     actor : アクター
  52.   #     param : パラメータ
  53.   #     x     : 描画先 X 座標
  54.   #     y     : 描画先 Y 座標
  55.   #     width : 幅
  56.   #--------------------------------------------------------------------------
  57.   def draw_actor_distribute_gauge(actor, param, x, y, width = 120)
  58.     gain = actor.gain_parameter(param)
  59.     return if gain == nil || gain.limit <= 0

  60.     if KGC::DistributeParameter::ENABLE_GENERIC_GAUGE &&
  61.         $imported["GenericGauge"]
  62.       # 汎用ゲージ
  63.       draw_gauge(KGC::DistributeParameter::GAUGE_IMAGE,
  64.         x, y, width, actor.distributed_count(param), gain.limit,
  65.         KGC::DistributeParameter::GAUGE_OFFSET,
  66.         KGC::DistributeParameter::GAUGE_LENGTH,
  67.         KGC::DistributeParameter::GAUGE_SLOPE)
  68.     else
  69.       # デフォルトゲージ
  70.       gw = width * actor.distributed_count(param) / gain.limit
  71.       gc1 = distribute_gauge_color1
  72.       gc2 = distribute_gauge_color2
  73.       self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
  74.       self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  75.     end
  76.   end
  77. end

  78. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  79. #==============================================================================
  80. # ■ Window_Command
  81. #==============================================================================

  82. class Window_Command < Window_Selectable
  83.   unless method_defined?(:add_command)
  84.   #--------------------------------------------------------------------------
  85.   # ○ コマンドを追加
  86.   #    追加した位置を返す
  87.   #--------------------------------------------------------------------------
  88.   def add_command(command)
  89.     @commands << command
  90.     @item_max = @commands.size
  91.     item_index = @item_max - 1
  92.     refresh_command
  93.     draw_item(item_index)
  94.     return item_index
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ○ コマンドをリフレッシュ
  98.   #--------------------------------------------------------------------------
  99.   def refresh_command
  100.     buf = self.contents.clone
  101.     self.height = [self.height, row_max * WLH + 32].max
  102.     create_contents
  103.     self.contents.blt(0, 0, buf, buf.rect)
  104.     buf.dispose
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # ○ コマンドを挿入
  108.   #--------------------------------------------------------------------------
  109.   def insert_command(index, command)
  110.     @commands.insert(index, command)
  111.     @item_max = @commands.size
  112.     refresh_command
  113.     refresh
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ○ コマンドを削除
  117.   #--------------------------------------------------------------------------
  118.   def remove_command(command)
  119.     @commands.delete(command)
  120.     @item_max = @commands.size
  121.     refresh
  122.   end
  123.   end
  124. end

  125. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  126. #==============================================================================
  127. # □ Window_DistributeParameterActor
  128. #------------------------------------------------------------------------------
  129. #   振り分け画面で、アクターの情報を表示するウィンドウです。
  130. #==============================================================================

  131. class Window_DistributeParameterActor < Window_Base
  132.   #--------------------------------------------------------------------------
  133.   # ● オブジェクト初期化
  134.   #     x     : ウィンドウの X 座標
  135.   #     y     : ウィンドウの Y 座標
  136.   #     actor : アクター
  137.   #--------------------------------------------------------------------------
  138.   def initialize(x, y, actor)
  139.     super(x, y, Graphics.width, WLH + 32)
  140.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  141.     refresh
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● リフレッシュ
  145.   #--------------------------------------------------------------------------
  146.   def refresh
  147.     self.contents.clear
  148.     draw_actor_name(@actor, 4, 0)
  149.     draw_actor_level(@actor, 140, 0)
  150.     draw_actor_rp(@actor, 240, 0)
  151.   end
  152. end

  153. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  154. #==============================================================================
  155. # □ Window_DistributeParameterList
  156. #------------------------------------------------------------------------------
  157. #   振り分け画面で、成長させるパラメータを選択するウィンドウです。
  158. #==============================================================================

  159. class Window_DistributeParameterList < Window_Selectable
  160.   #--------------------------------------------------------------------------
  161.   # ● オブジェクト初期化
  162.   #     actor : アクター
  163.   #--------------------------------------------------------------------------
  164.   def initialize(actor)
  165.     off_h = WLH + 32
  166.     super(0, off_h, 286, Graphics.height - off_h)
  167.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  168.     refresh
  169.     self.index = 0
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # ○ 選択中のパラメータの Symbol を取得
  173.   #--------------------------------------------------------------------------
  174.   def parameter_key
  175.     return @data[self.index]
  176.   end
  177.   #--------------------------------------------------------------------------
  178.   # ● 1 ページに表示できる行数の取得
  179.   #--------------------------------------------------------------------------
  180.   def page_row_max
  181.     return super - 1
  182.   end
  183.   #--------------------------------------------------------------------------
  184.   # ● 項目を描画する矩形の取得
  185.   #     index : 項目番号
  186.   #--------------------------------------------------------------------------
  187.   def item_rect(index)
  188.     rect = super(index)
  189.     rect.y += WLH
  190.     return rect
  191.   end
  192.   #--------------------------------------------------------------------------
  193.   # ● カーソルを 1 ページ後ろに移動
  194.   #--------------------------------------------------------------------------
  195.   def cursor_pagedown
  196.     return if Input.repeat?(Input::R)
  197.     super
  198.   end
  199.   #--------------------------------------------------------------------------
  200.   # ● カーソルを 1 ページ前に移動
  201.   #--------------------------------------------------------------------------
  202.   def cursor_pageup
  203.     return if Input.repeat?(Input::L)
  204.     super
  205.   end
  206.   #--------------------------------------------------------------------------
  207.   # ● リフレッシュ
  208.   #--------------------------------------------------------------------------
  209.   def refresh
  210.     @gain_list = @actor.gain_parameter_list
  211.     @data = []
  212.     @gain_list.each { |gain| @data << gain.key }
  213.     @item_max = @data.size + 1
  214.     create_contents
  215.     @item_max -= 1
  216.     draw_caption
  217.     @item_max.times { |i| draw_item(i, @actor.can_distribute?(@data[i])) }
  218.   end
  219.   #--------------------------------------------------------------------------
  220.   # ○ 見出しの描画
  221.   #--------------------------------------------------------------------------
  222.   def draw_caption
  223.     self.contents.font.color = system_color
  224.     self.contents.draw_text(  4, 0, 96, WLH, "パラメータ")
  225.     self.contents.draw_text(120, 0, 40, WLH, Vocab.rp, 2)
  226.     self.contents.draw_text(170, 0, 80, WLH, "回数", 2)
  227.     self.contents.font.color = normal_color
  228.   end
  229.   #--------------------------------------------------------------------------
  230.   # ○ 項目の描画
  231.   #     index   : 項目番号
  232.   #     enabled : 有効フラグ
  233.   #--------------------------------------------------------------------------
  234.   def draw_item(index, enabled = true)
  235.     rect = item_rect(index)
  236.     self.contents.clear_rect(rect)
  237.     item = @data[index]
  238.     if item != nil
  239.       draw_parameter(rect.x, rect.y, @data[index], enabled)
  240.     end
  241.   end
  242.   #--------------------------------------------------------------------------
  243.   # ○ 能力値の描画
  244.   #     x       : 描画先 X 座標
  245.   #     y       : 描画先 Y 座標
  246.   #     param   : 振り分け先
  247.   #     enabled : 有効フラグ
  248.   #--------------------------------------------------------------------------
  249.   def draw_parameter(x, y, param, enabled)
  250.     gain = @gain_list.find { |v| v.key == param }
  251.     return if gain == nil

  252.     self.contents.font.color = normal_color
  253.     self.contents.font.color.alpha = enabled ? 255 : 128
  254.     self.contents.draw_text(x + 4, y, 96, WLH, gain.name)

  255.     value = @actor.distribute_cost(param)
  256.     self.contents.draw_text(x + 120, y, 40, WLH, value, 2)
  257.     if gain.limit > 0
  258.       value = sprintf("%3d/%3d", @actor.distributed_count(param), gain.limit)
  259.     else
  260.       value = sprintf("%3d%s", @actor.distributed_count(param),
  261.         KGC::DistributeParameter::HIDE_MAX_COUNT_INFINITE ? "" : "/---")
  262.     end
  263.     draw_actor_distribute_gauge(@actor, param, x + 170, y, 80)
  264.     self.contents.draw_text(x + 170, y, 80, WLH, value, 2)
  265.     self.contents.font.color = normal_color
  266.   end
  267. end

  268. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  269. #==============================================================================
  270. # □ Window_DistributeParameterStatus
  271. #------------------------------------------------------------------------------
  272. #   振り分け画面で、アクターのステータスを表示するウィンドウです。
  273. #==============================================================================

  274. class Window_DistributeParameterStatus < Window_Base
  275.   #--------------------------------------------------------------------------
  276.   # ● オブジェクト初期化
  277.   #     actor : アクター
  278.   #--------------------------------------------------------------------------
  279.   def initialize(actor)
  280.     dx = 286
  281.     off_h = WLH + 32
  282.     super(dx, off_h, Graphics.width - dx, Graphics.height - off_h)
  283.     @actor = actor
  284.     refresh(actor.gain_parameter_list[0].key)
  285.   end
  286.   #--------------------------------------------------------------------------
  287.   # ● リフレッシュ
  288.   #--------------------------------------------------------------------------
  289.   def refresh(param = nil)
  290.     @distribute_gain = nil
  291.     if param != nil
  292.       @distribute_gain = @actor.distribute_gain(param)
  293.     end

  294.     self.contents.clear
  295.     self.contents.font.color = system_color
  296.     self.contents.draw_text(0, 0, width - 32, WLH, "パラメータ変化", 1)
  297.     self.contents.font.color = normal_color
  298.     dy = WLH
  299.     KGC::DistributeParameter::PARAMS.each { |param|
  300.       draw_parameter(0, dy, param)
  301.       dy += WLH
  302.     }
  303.   end
  304.   #--------------------------------------------------------------------------
  305.   # ○ 能力値の描画
  306.   #     x    : 描画先 X 座標
  307.   #     y    : 描画先 Y 座標
  308.   #     type : 能力値の種類
  309.   #--------------------------------------------------------------------------
  310.   def draw_parameter(x, y, type)
  311.     case type
  312.     when :maxhp
  313.       name  = Vocab.hp
  314.       value = @actor.maxhp
  315.     when :maxmp
  316.       name  = Vocab.mp
  317.       value = @actor.maxmp
  318.     when :atk
  319.       name  = Vocab.atk
  320.       value = @actor.atk
  321.     when :def
  322.       name  = Vocab.def
  323.       value = @actor.def
  324.     when :spi
  325.       name  = Vocab.spi
  326.       value = @actor.spi
  327.     when :agi
  328.       name  = Vocab.agi
  329.       value = @actor.agi
  330.     when :hit
  331.       name  = Vocab.hit
  332.       value = @actor.hit
  333.     when :eva
  334.       name  = Vocab.eva
  335.       value = @actor.eva
  336.     when :cri
  337.       name  = Vocab.cri
  338.       value = @actor.cri
  339.     when :skill_speed
  340.       name  = Vocab.skill_speed
  341.       value = @actor.distributed_param(type)
  342.     when :item_speed
  343.       name  = Vocab.item_speed
  344.       value = @actor.distributed_param(type)
  345.     when :odds
  346.       name  = Vocab.odds
  347.       value = @actor.odds
  348.     else
  349.       return
  350.     end
  351.     self.contents.font.color = system_color
  352.     self.contents.draw_text(x + 4, y, 96, WLH, name)
  353.     self.contents.font.color = normal_color
  354.     self.contents.draw_text(x + 106, y, 48, WLH, value, 2)
  355.    
  356.     return if @distribute_gain == nil

  357.     self.contents.draw_text(x + 154, y, 16, WLH, "→", 1)

  358.     curr = @actor.distributed_param(type)
  359.     gain = @distribute_gain[type]
  360.     self.contents.font.color = (gain > curr ? text_color(3) :
  361.       gain < curr ? text_color(2) : normal_color)
  362.     self.contents.draw_text(x + 174, y, 48, WLH, value + (gain - curr), 2)

  363.     self.contents.font.color = normal_color
  364.   end
  365. end

  366. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  367. #==============================================================================
  368. # ■ Scene_Map
  369. #==============================================================================

  370. class Scene_Map < Scene_Base
  371.   #--------------------------------------------------------------------------
  372.   # ● 画面切り替えの実行
  373.   #--------------------------------------------------------------------------
  374.   alias update_scene_change_KGC_DistributeParameter update_scene_change
  375.   def update_scene_change
  376.     return if $game_player.moving?    # プレイヤーの移動中?

  377.     if $game_temp.next_scene == :distribute_parameter
  378.       call_distribute_parameter
  379.       return
  380.     end

  381.     update_scene_change_KGC_DistributeParameter
  382.   end
  383.   #--------------------------------------------------------------------------
  384.   # ○ パラメータ振り分け画面への切り替え
  385.   #--------------------------------------------------------------------------
  386.   def call_distribute_parameter
  387.     $game_temp.next_scene = nil
  388.     $scene = Scene_DistributeParameter.new(
  389.       $game_temp.next_scene_actor_index,
  390.       0,
  391.       Scene_DistributeParameter::HOST_MAP)
  392.   end
  393. end

  394. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  395. #==============================================================================
  396. # ■ Scene_Menu
  397. #==============================================================================

  398. class Scene_Menu < Scene_Base
  399.   if KGC::DistributeParameter::USE_MENU_DISTRIBUTE_PARAMETER_COMMAND
  400.   #--------------------------------------------------------------------------
  401.   # ● コマンドウィンドウの作成
  402.   #--------------------------------------------------------------------------
  403.   alias create_command_window_KGC_DistributeParameter create_command_window
  404.   def create_command_window
  405.     create_command_window_KGC_DistributeParameter

  406.     return if $imported["CustomMenuCommand"]

  407.     @__command_distribute_parameter_index =
  408.       @command_window.add_command(Vocab.distribute_parameter)
  409.     if @command_window.oy > 0
  410.       @command_window.oy -= Window_Base::WLH
  411.     end
  412.     @command_window.index = @menu_index
  413.   end
  414.   end
  415.   #--------------------------------------------------------------------------
  416.   # ● コマンド選択の更新
  417.   #--------------------------------------------------------------------------
  418.   alias update_command_selection_KGC_DistributeParameter update_command_selection
  419.   def update_command_selection
  420.     call_distribute_parameter_flag = false
  421.     if Input.trigger?(Input::C)
  422.       case @command_window.index
  423.       when @__command_distribute_parameter_index  # パラメータ振り分け
  424.         call_distribute_parameter_flag = true
  425.       end
  426.     end

  427.     # パラメータ振り分け画面に移行
  428.     if call_distribute_parameter_flag
  429.       if $game_party.members.size == 0
  430.         Sound.play_buzzer
  431.         return
  432.       end
  433.       Sound.play_decision
  434.       start_actor_selection
  435.       return
  436.     end

  437.     update_command_selection_KGC_DistributeParameter
  438.   end
  439.   #--------------------------------------------------------------------------
  440.   # ● アクター選択の更新
  441.   #--------------------------------------------------------------------------
  442.   alias update_actor_selection_KGC_DistributeParameter update_actor_selection
  443.   def update_actor_selection
  444.     if Input.trigger?(Input::C)
  445.       $game_party.last_actor_index = @status_window.index
  446.       Sound.play_decision
  447.       case @command_window.index
  448.       when @__command_distribute_parameter_index  # パラメータ振り分け
  449.         $scene = Scene_DistributeParameter.new(
  450.           @status_window.index,
  451.           @__command_distribute_parameter_index,
  452.           Scene_DistributeParameter::HOST_MENU)
  453.         return
  454.       end
  455.     end

  456.     update_actor_selection_KGC_DistributeParameter
  457.   end
  458. end

  459. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  460. #==============================================================================
  461. # □ Scene_DistributeParameter
  462. #------------------------------------------------------------------------------
  463. #   パラメータ振り分け画面の処理を行うクラスです。
  464. #==============================================================================

  465. class Scene_DistributeParameter < Scene_Base
  466.   #--------------------------------------------------------------------------
  467.   # ○ 定数
  468.   #--------------------------------------------------------------------------
  469.   HOST_MENU   = 0  # 呼び出し元 : メニュー
  470.   HOST_MAP    = 1  # 呼び出し元 : マップ
  471.   #--------------------------------------------------------------------------
  472.   # ● オブジェクト初期化
  473.   #     actor_index : アクターインデックス
  474.   #     menu_index  : コマンドのカーソル初期位置
  475.   #     host_scene  : 呼び出し元 (0..メニュー  1..マップ)
  476.   #--------------------------------------------------------------------------
  477.   def initialize(actor_index = 0, menu_index = 0, host_scene = HOST_MENU)
  478.     @actor_index = actor_index
  479.     @menu_index  = menu_index
  480.     @host_scene  = host_scene
  481.   end
  482.   #--------------------------------------------------------------------------
  483.   # ● 開始処理
  484.   #--------------------------------------------------------------------------
  485.   def start
  486.     super
  487.     create_menu_background

  488.     @actor     = $game_party.members[@actor_index]
  489.     @prev_info = @actor.distribution_info
  490.     create_windows
  491.   end
  492.   #--------------------------------------------------------------------------
  493.   # ○ ウィンドウ作成
  494.   #--------------------------------------------------------------------------
  495.   def create_windows
  496.     @actor_window     = Window_DistributeParameterActor.new(0, 0, @actor)
  497.     @parameter_window = Window_DistributeParameterList.new(@actor)
  498.     @status_window    = Window_DistributeParameterStatus.new(@actor)

  499.     @confirm_help_window   = Window_Help.new
  500.     @confirm_help_window.z = @status_window.z + 100
  501.     @confirm_help_window.openness = 0

  502.     @confirm_window = Window_Command.new(
  503.       KGC::DistributeParameter::CONFIRM_WIDTH,
  504.       KGC::DistributeParameter::CONFIRM_COMMANDS)
  505.     @confirm_window.x = (Graphics.width  - @confirm_window.width)  / 2
  506.     @confirm_window.y = (Graphics.height - @confirm_window.height) / 2
  507.     @confirm_window.z = @confirm_help_window.z
  508.     @confirm_window.active   = false
  509.     @confirm_window.openness = 0
  510.   end
  511.   #--------------------------------------------------------------------------
  512.   # ● 終了処理
  513.   #--------------------------------------------------------------------------
  514.   def terminate
  515.     super
  516.     dispose_menu_background
  517.     @actor_window.dispose
  518.     @parameter_window.dispose
  519.     @status_window.dispose
  520.     @confirm_help_window.dispose
  521.     @confirm_window.dispose
  522.   end
  523.   #--------------------------------------------------------------------------
  524.   # ○ 元の画面へ戻る
  525.   #--------------------------------------------------------------------------
  526.   def return_scene
  527.     case @host_scene
  528.     when HOST_MENU
  529.       $scene = Scene_Menu.new(@menu_index)
  530.     when HOST_MAP
  531.       $scene = Scene_Map.new
  532.     end
  533.   end
  534.   #--------------------------------------------------------------------------
  535.   # ● フレーム更新
  536.   #--------------------------------------------------------------------------
  537.   def update
  538.     super
  539.     update_menu_background
  540.     update_window
  541.     if @parameter_window.active
  542.       update_parameter_list
  543.     elsif @confirm_window.active
  544.       update_confirm_command
  545.     end
  546.   end
  547.   #--------------------------------------------------------------------------
  548.   # ○ ウィンドウ更新
  549.   #--------------------------------------------------------------------------
  550.   def update_window
  551.     @actor_window.update
  552.     @parameter_window.update
  553.     @status_window.update
  554.     @confirm_help_window.update
  555.     @confirm_window.update
  556.   end
  557.   #--------------------------------------------------------------------------
  558.   # ○ ウィンドウ再描画
  559.   #--------------------------------------------------------------------------
  560.   def refresh_window
  561.     @actor_window.refresh
  562.     @parameter_window.refresh
  563.     @status_window.refresh(@parameter_window.parameter_key)
  564.     Graphics.frame_reset
  565.   end
  566.   #--------------------------------------------------------------------------
  567.   # ○ 次のアクターの画面に切り替え
  568.   #--------------------------------------------------------------------------
  569.   def next_actor
  570.     @actor_index += 1
  571.     @actor_index %= $game_party.members.size
  572.     $scene = Scene_DistributeParameter.new(@actor_index,
  573.       @menu_index, @host_scene)
  574.   end
  575.   #--------------------------------------------------------------------------
  576.   # ○ 前のアクターの画面に切り替え
  577.   #--------------------------------------------------------------------------
  578.   def prev_actor
  579.     @actor_index += $game_party.members.size - 1
  580.     @actor_index %= $game_party.members.size
  581.     $scene = Scene_DistributeParameter.new(@actor_index,
  582.       @menu_index, @host_scene)
  583.   end
  584.   #--------------------------------------------------------------------------
  585.   # ○ フレーム更新 (パラメータウィンドウがアクティブの場合)
  586.   #--------------------------------------------------------------------------
  587.   def update_parameter_list
  588.     if @last_index != @parameter_window.index
  589.       @status_window.refresh(@parameter_window.parameter_key)
  590.       @last_index = @parameter_window.index
  591.     end

  592.     if Input.trigger?(Input::B)
  593.       Sound.play_cancel
  594.       activate_confirm_window
  595.     elsif Input.trigger?(Input::C)
  596.       Sound.play_decision
  597.       activate_confirm_window
  598.     elsif Input.repeat?(Input::RIGHT)
  599.       # 加算
  600.       param = @parameter_window.parameter_key
  601.       unless @actor.can_distribute?(param)
  602.         Sound.play_buzzer
  603.         return
  604.       end
  605.       Sound.play_cursor
  606.       @actor.rp_growth_effect(param)
  607.       refresh_window
  608.     elsif Input.repeat?(Input::LEFT)
  609.       # 減算
  610.       param = @parameter_window.parameter_key
  611.       unless reversible?(param)
  612.         Sound.play_buzzer
  613.         return
  614.       end
  615.       Sound.play_cursor
  616.       @actor.rp_growth_effect(param, true)
  617.       refresh_window
  618.     elsif Input.trigger?(Input::R)
  619.       Sound.play_cursor
  620.       next_actor
  621.     elsif Input.trigger?(Input::L)
  622.       Sound.play_cursor
  623.       prev_actor
  624.     end
  625.   end
  626.   #--------------------------------------------------------------------------
  627.   # ○ 減算可否判定
  628.   #     param : 対象パラメータ
  629.   #--------------------------------------------------------------------------
  630.   def reversible?(param)
  631.     return false if @actor.distributed_count(param) == 0
  632.     return true  if KGC::DistributeParameter::ENABLE_REVERSE_DISTRIBUTE

  633.     base = @prev_info.count[param]
  634.     return ( base < @actor.distributed_count(param) )
  635.   end
  636.   #--------------------------------------------------------------------------
  637.   # ○ 確認ウィンドウに切り替え
  638.   #--------------------------------------------------------------------------
  639.   def activate_confirm_window
  640.     @last_index = -1
  641.     @status_window.refresh
  642.     @confirm_window.index  = 0
  643.     @confirm_window.active = true
  644.     @confirm_window.open
  645.     @confirm_help_window.open
  646.     @parameter_window.active = false
  647.     @last_confirm_index = -1
  648.   end
  649.   #--------------------------------------------------------------------------
  650.   # ○ フレーム更新 (確認ウィンドウがアクティブの場合)
  651.   #--------------------------------------------------------------------------
  652.   def update_confirm_command
  653.     if @last_confirm_index != @confirm_window.index
  654.       @confirm_help_window.set_text(
  655.         KGC::DistributeParameter::CONFIRM_COMMAND_HELP[@confirm_window.index])
  656.       @last_confirm_index = @confirm_window.index
  657.     end

  658.     if Input.trigger?(Input::B)
  659.       Sound.play_cancel
  660.       # パラメータウィンドウに切り替え
  661.       @confirm_window.active = false
  662.       @confirm_window.close
  663.       @confirm_help_window.close
  664.       @parameter_window.active = true
  665.     elsif Input.trigger?(Input::C)
  666.       Sound.play_decision
  667.       case @confirm_window.index
  668.       when 0  # 確定
  669.         return_scene
  670.       when 1  # 中止
  671.         @actor.set_distribution_info(@prev_info)
  672.         return_scene
  673.       when 2  # キャンセル
  674.         # パラメータウィンドウに切り替え
  675.         @confirm_window.active = false
  676.         @confirm_window.close
  677.         @confirm_help_window.close
  678.         @parameter_window.active = true
  679.       end
  680.     end
  681.   end
  682. end

  683. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  684. #==============================================================================
  685. # ■ Scene_File
  686. #==============================================================================

  687. class Scene_File < Scene_Base
  688.   #--------------------------------------------------------------------------
  689.   # ● セーブデータの読み込み
  690.   #     file : 読み込み用ファイルオブジェクト (オープン済み)
  691.   #--------------------------------------------------------------------------
  692.   alias read_save_data_KGC_DistributeParameter read_save_data
  693.   def read_save_data(file)
  694.     read_save_data_KGC_DistributeParameter(file)

  695.     KGC::Commands.check_distribution_values
  696.     Graphics.frame_reset
  697.   end
  698. end
复制代码
---------------------------



此脚本  的第 428 行发生了 NameError .

uninitialized constant KGC::DistributeParameter
---------------------------
确定   
---------------------------
翻译得:如果KGC::::分布参数使用菜单分配参数的命令
如何解决?
前尘往事
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-15 09:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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