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

Project1

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

[已经解决] 關於存檔截圖腳本與其他腳本相衝突~~~囧|||

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
113 小时
注册时间
2008-3-25
帖子
204
跳转到指定楼层
1
发表于 2009-11-25 21:49:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 銀藍色的零 于 2009-11-28 12:57 编辑

我實在不喜歡RM內建的那一套存檔腳本
可是找遍了我能找的地方
都找不到漂亮的存檔畫面的腳本
不知大家是否能幫我找找呢?

感謝大家的幫忙~~~(鞠躬

by 零
選擇是隨時都在進行的~不同的選擇造就了不同的未來~即使在微小的事~也能產生改變未來漣漪~~~

Lv3.寻梦者

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
帖子
4128

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

2
发表于 2009-11-25 22:25:53 | 只看该作者
有套脚本叫做截图存档,我的很多游戏的存档都是基于那个修改,比如斗神坛说,战国凌云志,求人不如求自己,我们也不知道你的需要,透过这个机会好好锻炼一下自己,加几幅图片,修改一下坐标,我想这个能力你一定的有的吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
6 小时
注册时间
2009-10-12
帖子
443
3
发表于 2009-11-25 23:57:13 | 只看该作者
多少次,我们饱含真情地说,请善用搜索;
多少次,我们万分无奈地找,那一个脚本

给你附上链接地址,目前站上最好的存档脚本之一。有了它为基础,你自己可以再修改一下
http://rpg.blue/web/index.php?doc-view-3902
对于犬而言,他生来就被赋予一个位置,一种使命,他从不为自己而活,而是为了那个位置和使命。
没有犬能够脱离族群、血统和社会的桎梏,因为那对他们而言从不是桎梏,而是生命的意义;不是夺去自由的铁圈,而是代表身份的铭牌。
我只想要个位置。任何位置。我只想要个工作。任何工作。
没人肯要我。
那些同情,爱,尊重,自由,放任,都比不过有人需要我。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9418
在线时间
2749 小时
注册时间
2008-9-5
帖子
3544

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

4
发表于 2009-11-26 19:18:57 | 只看该作者
自己学着修改一下脚本是件不错的事哦。。能自己动手就不要老是找别人帮忙嘛。。。
这样才能漫漫得学会自己制作自己的效果呀。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
113 小时
注册时间
2008-3-25
帖子
204
5
 楼主| 发表于 2009-11-26 19:32:09 | 只看该作者
謝謝大家~
我是真的找不到
我會嘗試自己修改看看的
非常謝謝你們~~~(鞠躬
選擇是隨時都在進行的~不同的選擇造就了不同的未來~即使在微小的事~也能產生改變未來漣漪~~~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9418
在线时间
2749 小时
注册时间
2008-9-5
帖子
3544

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

6
发表于 2009-11-26 19:39:39 | 只看该作者
有件事。。就是存档界面的窗口的Y坐标是统一在初始那边设定的。。。。不知道这样说你能不能懂咧。。。
反正你要修改的话会遇见的啦。。。到时候你就知道了。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
113 小时
注册时间
2008-3-25
帖子
204
7
 楼主| 发表于 2009-11-26 21:21:20 | 只看该作者
我碰到問題了~~~囧|||
我套用此套腳本後
發現到在讀檔的部份可以正確顯示
但是在存檔的部分卻會出現錯誤
經檢查後發現與另一套選單腳本相衝
不知道要怎樣才能不會衝突呢?

選單腳本
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/    ◆ メニュー画面改造 - KGC_MenuAlter ◆
#_/    ◇ Last update : 2008/03/02 ◇
#_/----------------------------------------------------------------------------
#_/  メニュー画面を怪しいスタイルに改造します。
#_/============================================================================
#_/ ≪多人数パーティ[LargeParty]≫より上
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ カスタマイズ項目 ★
#==============================================================================

module KGC
  # ◆メニュー背景透過
  MA_MENU_TRANSPARENT = true

  # ◆[正常]時に表示する文字列
  MA_FINE_STATE_NAME = "正常"
  # ◆メニューステータスにバトラーグラフィックを表示
  MA_MENU_STATUS_BATTLER = true
  # ◆メニューステータスに表示する人数
  #  ※仕様上、5 以上にすると表示が被ります。
  MA_MENU_STATUS_MEMBER = 4

  # ◆必須メンバーの背景色
  MA_INDISPENSABLE_COLOR = Color.new(0, 128, 192, 96)
  # ◆待機メンバーの背景色
  MA_STAND_COLOR         = Color.new(0, 0, 0, 96)
  #  ↑2つは≪多人数パーティ[LargeParty]≫が無いと無効。
  #  使用しない場合は、第4引数を 0 にしてください。

  # ◆コマンド名「ステータス」
  MA_COMMAND_STATUS = "狀態"
  # ◆コマンド名「セーブ」
  MA_COMMAND_SAVE = "儲存"
  # ◆コマンド名「ゲーム終了」
  MA_COMMAND_END = "遊戲結束"
  # ◆コマンド名「プレイ記録」(≪プレイ記録画面≫)
  MA_COMMAND_PLAY_RECORD = "プレイ記録"
  # ◆コマンド名「パーティ編成」(≪多人数パーティ≫)
  MA_COMMAND_PARTY_ARRANGE = "パーティ編成"
  # ◆コマンド名「スキル設定」(≪スキルCP制≫)
  MA_COMMAND_SKILL_SETTING = "スキル設定"
  # ◆コマンド名「モンスター図鑑」(≪モンスター図鑑≫)
  MA_COMMAND_MONSTER_GUIDE = "モンスター図鑑"
  # ◆コマンド名「あらすじ」(≪あらすじ≫)
  MA_COMMAND_OUTLINE = "あらすじ"
  # ◆コマンド名「パラメータ振り分け」(≪パラメータ振り分け≫)
  MA_COMMAND_DISTRIBUTE_PARAMETER = "パラメータ振分"

  # ◆一行に表示するコマンド数
  MA_COL_COMMANDS = 7
  # ◆メニューコマンドリスト
  #  以下の中から使用したいコマンドを表示順に格納。
  #  (6 以降は、対応する機能を導入しないと使えません)
  #  ≪ 0..アイテム  1..スキル  2..装備  3..ステータス  4..セーブ  5..終了
  #     6..プレイ記録  7..パーティ編成  8..スキル設定  9..戦闘難易度
  #     10..ACBウェイトモード  11..モンスター図鑑  12..あらすじ
  #     13..パラメータ振り分け ≫
  #  ※同じコマンドを複数指定するとバグります。
#  MA_COMMANDS = [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 5]
  MA_COMMANDS = [0, 1, 2, 3, 4, 5]
  # ◆ActiveCountBattle ウェイトモード名
  MA_ACB_WAIT_MODE = ["フルアクティブ", "セミアクティブ", "ウェイト"]

  # ◆メニュー画面トランジション
  MA_MENU_TRANSITION = "015-Diamond01"
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported = {} if $imported == nil
$imported["MenuAlter"] = true

#==============================================================================
# ■ Game_Temp
#==============================================================================

class Game_Temp
  attr_accessor :menu_selected_index
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MenuAlter initialize
  def initialize
    initialize_KGC_MenuAlter

    @menu_selected_index = nil
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  attr_reader :exp_list
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_Base
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● 名前の描画
  #--------------------------------------------------------------------------
  def draw_actor_name(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_shadow_text(x, y, 120, 32, actor.name)
  end
  #--------------------------------------------------------------------------
  # ● クラスの描画
  #--------------------------------------------------------------------------
  def draw_actor_class(actor, x, y)
    self.contents.font.color = normal_color
    self.contents.draw_shadow_text(x, y, 236, 32, actor.class_name)
  end
  #--------------------------------------------------------------------------
  # ● レベルの描画
  #--------------------------------------------------------------------------
  def draw_actor_level(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_shadow_text(x, y, 32, 32, "Lv")
    self.contents.font.color = normal_color
    self.contents.draw_shadow_text(x + 32, y, 24, 32, actor.level.to_s, 2)
  end
  #--------------------------------------------------------------------------
  # ● 描画用のステート文字列作成
  #--------------------------------------------------------------------------
  def make_battler_state_text(battler, width, need_normal)
    # 括弧の幅を取得
    brackets_width = self.contents.text_size("[]").width
    # ステート名の文字列を作成
    text = ""
    battler.states.each { |i|
      if $data_states[i].rating >= 1
        if text == ""
          text = $data_states[i].name
        else
          new_text = text + "/" + $data_states[i].name
          text_width = self.contents.text_size(new_text).width
          break if text_width > width - brackets_width
          text = new_text
        end
      end
    }
    # ステート名の文字列が空の場合は KGC::MA_FINE_STATE_NAME にする
    if text == ""
      text = KGC::MA_FINE_STATE_NAME if need_normal
    elsif battler.is_a?(Game_Enemy)
      # 敵の場合は括弧をつける
      text = "[#{text}]"
    end
    # 完成した文字列を返す
    return text
  end
  #--------------------------------------------------------------------------
  # ● ステートの描画
  #--------------------------------------------------------------------------
  def draw_actor_state(actor, x, y, width = 120)
    text = make_battler_state_text(actor, width, true)
    self.contents.font.color = actor.dead? ? knockout_color : normal_color
    self.contents.draw_shadow_text(x, y, width, 32, text)
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_MenuCommand
#------------------------------------------------------------------------------
#  メニュー用のコマンド選択を行うウィンドウです。
#==============================================================================

class Window_MenuCommand < Window_Selectable
        #--------------------------------------------------------------------------
        # ● オブジェクト初期化
        #                 commands : コマンド文字列の配列
        #--------------------------------------------------------------------------
        def initialize(commands)
    col_max = KGC::MA_COL_COMMANDS
                # コマンドの個数からウィンドウの高さを算出
                super(0, 0, 640, (commands.size / col_max + 1) * 32 + 32)
    @column_max = col_max
                @item_max = commands.size
                @commands = commands
                self.contents = Bitmap.new(width - 32, height - 32)
                refresh
                self.index = 0
        end
        #--------------------------------------------------------------------------
        # ● リフレッシュ
        #--------------------------------------------------------------------------
        def refresh(commands = nil)
    @commands = commands if commands != nil
                self.contents.clear
                for i in 0...@item_max
                        draw_item(i, normal_color)
                end
        end
        #--------------------------------------------------------------------------
        # ● 項目の描画
        #                 index : 項目番号
        #                 color : 文字色
        #--------------------------------------------------------------------------
        def draw_item(index, color)
                self.contents.font.color = color
                rect = Rect.new((index % @column_max) * ((width - 32) / @column_max),
      index / @column_max * 32, (width - 32) / @column_max, 32)
                self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
                self.contents.draw_text(rect, @commands[index], 1)
        end
  #--------------------------------------------------------------------------
  # ● 項目の無効化
  #     index : 項目番号
  #--------------------------------------------------------------------------
  def disable_item(index)
    draw_item(index, disabled_color)
  end
  #--------------------------------------------------------------------------
  # ● カーソルの矩形更新
  #--------------------------------------------------------------------------
  def update_cursor_rect
    # カーソル位置が 0 未満の場合
    if @index < 0
      self.cursor_rect.empty
      return
    end
    # 現在の行を取得
    row = @index / @column_max
    # 現在の行が、表示されている先頭の行より前の場合
    if row < self.top_row
      # 現在の行が先頭になるようにスクロール
      self.top_row = row
    end
    # 現在の行が、表示されている最後尾の行より後ろの場合
    if row > self.top_row + (self.page_row_max - 1)
      # 現在の行が最後尾になるようにスクロール
      self.top_row = row - (self.page_row_max - 1)
    end
    # カーソルの幅を計算
    cursor_width = (width - 32) / @column_max
    # カーソルの座標を計算
    x = @index % @column_max * cursor_width
    y = @index / @column_max * 32 - self.oy
    # カーソルの矩形を更新
    self.cursor_rect.set(x, y, cursor_width, 32)
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_MenuStatus
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(items = KGC::MA_COL_COMMANDS)
    @dy = (items / KGC::MA_COL_COMMANDS + 1) * 32 + 32
    @dw = 608 / KGC::MA_MENU_STATUS_MEMBER
    @dh = 384 - @dy
    super(0, @dy, 640, @dh)
    @column_max = KGC::MA_MENU_STATUS_MEMBER
    bh = (($game_party.actors.size - 1) / @column_max + 1) * @dh - 32
    self.contents = Bitmap.new(608, bh)
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.size = 20
    @item_max = $game_party.actors.size
    ch = @dh - 192
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      x = i % @column_max * @dw + 8
      y = i / @column_max * @dh + ch
      if $imported["LargeParty"]
        # 必須メンバー
        if $game_party.indispensable_actors.include?(actor)
          color = KGC::MA_INDISPENSABLE_COLOR
        # 戦闘参加メンバー以降
        elsif i >= $game_party.battle_actors.size
          color = KGC::MA_STAND_COLOR
        else
          color = Color.new(0, 0, 0, 0)
        end
        self.contents.fill_rect(x - 8, y - ch, @dw, @dh, color)
      end
      if KGC::MA_MENU_STATUS_BATTLER
        draw_actor_graphic(actor, x, y - ch)
      else
        draw_actor_graphic(actor, x + 64, y - ch / 3)
      end
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x, y + 24)
      draw_actor_level(actor, x, y + 48)
      draw_actor_state(actor, x + 64, y + 48)
      draw_actor_hp(actor, x, y + 96)
      draw_actor_sp(actor, x, y + 124)

      if $imported["HPSPAlter2"]
        # EXP描画
        draw_actor_next_exp(actor, x, y + 72)
        next
      end
      # HP/SPゲージを導入している場合
      if $imported["HPSPAlter"]
        # EXPゲージ描画
        rest_exp = actor.next_rest_exp_s.to_i
        next_exp = actor.next_exp_s.to_i - actor.exp_list[actor.level]
        gx = x
        gw = (next_exp - rest_exp) * @g_width / next_exp
        if KGC::HPSP_GAUGE_SLANT
          gy = @g_height + 96
          gy2 = @g_height + 1
          for i in 0...(@g_height + 2)
            self.contents.blt(gx + 31 + i, y + gy - i,
              @hpsp_gauge, Rect.new(0, gy2 - i, 102, 1))
          end
          gy -= 1
          gy2 = @g_height * 4 + 1
          for i in 0...@g_height
            self.contents.blt(gx + 33 + i, y + 99 - i,
              @hpsp_gauge, Rect.new(0, gy2 - i , gw, 1))
          end
        else
          self.contents.blt(gx + 31, y + 95,
            @hpsp_gauge, Rect.new(0, 0, 102, @g_height + 2))
          self.contents.blt(gx + 32, y + 96,
            @hpsp_gauge, Rect.new(0, @g_height * 4 + 2 , gw, @g_height))
        end
      end
      self.contents.font.color = system_color
      self.contents.draw_shadow_text(x, y + 72, 32, 32, "Next")
      self.contents.font.color = normal_color
      self.contents.draw_shadow_text(x + 32, y + 72, 100, 32, actor.next_rest_exp_s, 2)
    end
  end
  #--------------------------------------------------------------------------
  # ● カーソル矩形更新
  #--------------------------------------------------------------------------
  def update_cursor_rect
    # カーソル位置が 0 未満の場合
    if @index < 0
      self.cursor_rect.empty
      return
    end
    # カーソルの座標を計算
    x = @index % @column_max * @dw
    y = @index / @column_max * @dh - self.oy
    # カーソルの矩形を更新
    self.cursor_rect.set(x, y, @dw, @dh - 32)
    self.oy = @index / @column_max * @dh
  end
  #--------------------------------------------------------------------------
  # ● グラフィックの描画
  #--------------------------------------------------------------------------
  if KGC::MA_MENU_STATUS_BATTLER
  def draw_actor_graphic(actor, x, y)
    bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    cw, ch = bitmap.width, bitmap.height
    self.contents.blt(x, y, bitmap, bitmap.rect)
  end
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_Item
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Window_Item < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MenuAlter initialize
  def initialize
    initialize_KGC_MenuAlter

    self.back_opacity = 160
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_Skill
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Window_Skill < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MenuAlter initialize
  def initialize(actor)
    initialize_KGC_MenuAlter(actor)

    self.back_opacity = 160
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_SkillStatus
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Window_SkillStatus < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MenuAlter initialize
  def initialize(actor)
    initialize_KGC_MenuAlter(actor)

    self.back_opacity = 160
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_Target
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Window_Target < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MenuAlter initialize
  def initialize
    initialize_KGC_MenuAlter

    self.back_opacity = 160
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_EquipLeft
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Window_EquipLeft < Window_Base
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MenuAlter initialize
  def initialize(actor)
    initialize_KGC_MenuAlter(actor)

    self.back_opacity = 160
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_EquipRight
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Window_EquipRight < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MenuAlter initialize
  def initialize(actor)
    initialize_KGC_MenuAlter(actor)

    self.back_opacity = 160
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_EquipItem
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Window_EquipItem < Window_Selectable
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_MenuAlter initialize
  def initialize(actor, equip_type)
    initialize_KGC_MenuAlter(actor, equip_type)

    self.back_opacity = 160
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Map
#==============================================================================

class Scene_Map
  #--------------------------------------------------------------------------
  # ● メニューの呼び出し
  #--------------------------------------------------------------------------
  alias call_menu_KGC_MenuAlter call_menu
  def call_menu
    $game_temp.menu_selected_index = nil

    call_menu_KGC_MenuAlter
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Menu
#==============================================================================

class Scene_Menu
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  def main
    if $game_temp.menu_selected_index != nil
      @menu_index = $game_temp.menu_selected_index
    end
    # スプライトセットを作成
    @spriteset = Spriteset_Map.new if KGC::MA_MENU_TRANSPARENT
    # コマンドウィンドウを作成
    @commands = []
    @com_index = []
    KGC::MA_COMMANDS.each_with_index { |com, i|
      case com
      when 0
        @commands << $data_system.words.item
      when 1
        @commands << $data_system.words.skill
      when 2
        @commands << $data_system.words.equip
      when 3
        @commands << KGC::MA_COMMAND_STATUS
      when 4
        @commands << KGC::MA_COMMAND_SAVE
      when 5
        @commands << KGC::MA_COMMAND_END
      #when 6
        #@commands << KGC::MA_COMMAND_PLAY_RECORD
      #when 7
       # @commands << KGC::MA_COMMAND_PARTY_ARRANGE
      #when 8
       # @commands << KGC::MA_COMMAND_SKILL_SETTING
     # when 9
       # @commands << ($imported["BattleDifficulty"] ?
      #    Difficulty.get[0] : "No Command")
     # when 10
      #  @commands << ($imported["ActiveCountBattle"] ?
     #     KGC::MA_ACB_WAIT_MODE[$game_system.wait_mode] : "No Command")
     # when 11
     #   @commands << ($imported["MonsterGuide"] ?
     #     KGC::MA_COMMAND_MONSTER_GUIDE : "No Command")
     # when 12
     #   @commands << ($imported["Outline"] ?
     #     KGC::MA_COMMAND_OUTLINE : "No Command")
     # when 13
      #  @commands << ($imported["DistributeParameter"] ?
     #     KGC::MA_COMMAND_DISTRIBUTE_PARAMETER : "No Command")
      end
      @com_index[com] = i
    }
    @command_window = Window_MenuCommand.new(@commands)
    @command_window.back_opacity = 160 if KGC::MA_MENU_TRANSPARENT
    @command_window.index = @menu_index
    # 項目を無効化
    disable_command
    # プレイ時間ウィンドウを作成
    @playtime_window = Window_PlayTime.new
    @playtime_window.back_opacity = 160 if KGC::MA_MENU_TRANSPARENT
    @playtime_window.x = 0
    @playtime_window.y = 384
    # ゴールドウィンドウを作成
    @gold_window = Window_Gold.new
    @gold_window.back_opacity = 160 if KGC::MA_MENU_TRANSPARENT
    @gold_window.opacity = 0
    @gold_window.x = 640 - @gold_window.width
    @gold_window.y = @command_window.height - @gold_window.height
    # ゴールドウィンドウ位置を調整
    @gold_window.x = 160
    @gold_window.y = 414
    if $imported["PlaceMission"]
      # 情報ウィンドウを作成
      @info_window = Window_Information.new
      @info_window.back_opacity = 160 if KGC::MA_MENU_TRANSPARENT
      @info_window.x = 160
      @info_window.y = 384
    else
    end
    # ステータスウィンドウを作成
    @status_window = Window_MenuStatus.new(@commands.size)
    @status_window.back_opacity = 160 if KGC::MA_MENU_TRANSPARENT
    @status_window.x = 0
    offset = 608 / KGC::MA_COL_COMMANDS
    if $imported["BattleDifficulty"] && @com_index[9] != nil
      # 難易度選択ウィンドウを作成
      commands = []
      $game_system.difficulty_list.each { |diff|
        commands.push(diff[0])
      }
      @difficulty_window = Window_Command.new(160, commands)
      @difficulty_window.back_opacity = 160 if KGC::MA_MENU_TRANSPARENT
      @difficulty_window.x =
        [16 + @com_index[9] % KGC::MA_COL_COMMANDS * offset,
        640 - @difficulty_window.width].min
      @difficulty_window.y = 16 + @com_index[9] / KGC::MA_COL_COMMANDS * 32
      @difficulty_window.z = 2000
      @difficulty_window.active = false
      @difficulty_window.visible = false
    end
    if $imported["ActiveCountBattle"] && @com_index[10] != nil
      # ウェイトモード選択ウィンドウを作成
      @waitmode_window = Window_Command.new(160, KGC::MA_ACB_WAIT_MODE)
      @waitmode_window.back_opacity = 160 if KGC::MA_MENU_TRANSPARENT
      @waitmode_window.x =
        [16 + @com_index[10] % KGC::MA_COL_COMMANDS * offset,
        640 - @waitmode_window.width].min
      @waitmode_window.y = 16 + @com_index[10] / KGC::MA_COL_COMMANDS * 32
      @waitmode_window.z = 2000
      @waitmode_window.active = false
      @waitmode_window.visible = false
    end
    # トランジション実行
    Graphics.transition(30, "Graphics/Transitions/" + KGC::MA_MENU_TRANSITION)
    # メインループ
    loop {
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    }
    # トランジション準備
    Graphics.freeze
    # ウィンドウを解放
    @command_window.dispose
    @playtime_window.dispose
    @steps_window.dispose if @steps_window != nil
    @gold_window.dispose
    @status_window.dispose
    @info_window.dispose if @info_window != nil
    @difficulty_window.dispose if @difficulty_window != nil
    @waitmode_window.dispose if @waitmode_window != nil
    @spriteset.dispose if KGC::MA_MENU_TRANSPARENT
  end
  #--------------------------------------------------------------------------
  # ● 無効コマンドを設定
  #--------------------------------------------------------------------------
  def disable_command
    if !$imported["PlayRecord"] && @com_index[6] != nil
      @command_window.disable_item(@com_index[6])
    end
    if !($imported["LargeParty"] && $game_system.partyform_permit) && @com_index[7] != nil
      @command_window.disable_item(@com_index[7])
    end
    if !$imported["SkillCPSystem"] && @com_index[8] != nil
      @command_window.disable_item(@com_index[8])
    end
    if !$imported["BattleDifficulty"] && @com_index[9] != nil
      @command_window.disable_item(@com_index[9])
    end
    if !$imported["ActiveCountBattle"] && @com_index[10] != nil
      @command_window.disable_item(@com_index[10])
    end
    if !$imported["MonsterGuide"] && @com_index[11] != nil
      @command_window.disable_item(@com_index[11])
    end
    if !$imported["Outline"] && @com_index[12] != nil
      @command_window.disable_item(@com_index[12])
    end
    if !$imported["DistributeParameter"] && @com_index[13] != nil
      @command_window.disable_item(@com_index[13])
    end
    # パーティ人数が 0 人の場合
    if $game_party.actors.size == 0
      # アイテム、スキル、装備、ステータスを無効化
      @command_window.disable_item(@com_index[0]) if @com_index[0] != nil
      @command_window.disable_item(@com_index[1]) if @com_index[1] != nil
      @command_window.disable_item(@com_index[2]) if @com_index[2] != nil
      @command_window.disable_item(@com_index[3]) if @com_index[3] != nil
    end
    # セーブ禁止の場合
    if $game_system.save_disabled && @com_index[4] != nil
      # セーブを無効にする
      @command_window.disable_item(@com_index[4])
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # ウィンドウを更新
    @command_window.update
    @playtime_window.update
    @steps_window.update if @steps_window != nil
    @gold_window.update
    @status_window.update
    @info_window.update if @info_window != nil
    @difficulty_window.update if @difficulty_window != nil
    @waitmode_window.update if @waitmode_window != nil
    # コマンドウィンドウがアクティブの場合: update_command を呼ぶ
    if @command_window.active
      update_command
      return
    end
    # ステータスウィンドウがアクティブの場合: update_status を呼ぶ
    if @status_window.active
      update_status
      return
    end
    # 難易度選択ウィンドウがアクティブの場合: update_difficulty を呼ぶ
    if @difficulty_window != nil && @difficulty_window.active
      update_difficulty
      return
    end   
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (コマンドウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_command
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # マップ画面に切り替え
      $scene = Scene_Map.new
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      command = KGC::MA_COMMANDS[@command_window.index]
      # パーティ人数が 0 人で、セーブ、ゲーム終了以外のコマンドの場合
      if $game_party.actors.size == 0 && command != 4 && command != 5
        # ブザー SE を演奏
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # コマンド内容で分岐
      case command
      when 0  # アイテム
        $game_system.se_play($data_system.decision_se)
        # アイテム画面に切り替え
        $scene = Scene_Item.new
      when 1  # スキル
        $game_system.se_play($data_system.decision_se)
        # ステータスウィンドウをアクティブにする
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2  # 装備
        $game_system.se_play($data_system.decision_se)
        # ステータスウィンドウをアクティブにする
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3  # ステータス
        $game_system.se_play($data_system.decision_se)
        # ステータスウィンドウをアクティブにする
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 4  # セーブ
        if $game_system.save_disabled
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # セーブ画面に切り替え
        $scene = Scene_Save.new
      when 5  # ゲーム終了
        $game_system.se_play($data_system.decision_se)
        # ゲーム終了画面に切り替え
        $scene = Scene_End.new
      when 6  # プレイ記録
        unless $imported["PlayRecord"]
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # プレイ記録画面に切り替え
        $scene = Scene_Record.new
      when 7  # パーティ編成
        # ≪多人数パーティ≫を導入していない、または編成禁止の場合
        if !$imported["LargeParty"] || !$game_system.partyform_permit
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # パーティ編成画面に切り替え
        $scene = Scene_PartyForm.new
      when 8  # スキル設定
        unless $imported["SkillCPSystem"]
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # ステータスウィンドウをアクティブにする
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 9  # 難易度変更
        unless $imported["BattleDifficulty"]
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # 難易度選択ウィンドウをアクティブにする
        @command_window.active = false
        @difficulty_window.active = true
        @difficulty_window.visible = true
        @difficulty_window.index = $game_system.difficulty
      when 10  # ウェイトモード変更
        unless $imported["ActiveCountBattle"]
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # 難易度選択ウィンドウをアクティブにする
        @command_window.active = false
        @waitmode_window.active = true
        @waitmode_window.visible = true
        @waitmode_window.index = $game_system.wait_mode
      when 11  # モンスター図鑑
        unless $imported["MonsterGuide"]
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # モンスター図鑑画面に切り替え
        $scene = Scene_MonsterGuide.new
      when 12  # あらすじ
        unless $imported["Outline"]
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # あらすじ画面に切り替え
        $scene = Scene_Outline.new
      when 13  # パラメータ振り分け
        unless $imported["DistributeParameter"]
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # ステータスウィンドウをアクティブにする
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      end
      # 選択コマンドを保存
      $game_temp.menu_selected_index = @command_window.index
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (ステータスウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_status
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # コマンドウィンドウをアクティブにする
      @command_window.active = true
      @status_window.active = false
      @status_window.index = -1
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      command = KGC::MA_COMMANDS[@command_window.index]
      # コマンド内容で分岐
      case command
      when 1  # スキル
        if $game_party.actors[@status_window.index].restriction >= 2
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $game_system.se_play($data_system.decision_se)
        # スキル画面に切り替え
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # 装備
        $game_system.se_play($data_system.decision_se)
        # 装備画面に切り替え
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # ステータス
        $game_system.se_play($data_system.decision_se)
        # ステータス画面に切り替え
        $scene = Scene_Status.new(@status_window.index)
      when 8  # スキル設定
        $game_system.se_play($data_system.decision_se)
        # スキル設定画面に切り替え
        $scene = Scene_SelectBattleSkill.new(@status_window.index)
      when 13  # パラメータ振り分け
        $game_system.se_play($data_system.decision_se)
        # 振り分け画面に切り替え
        $scene = Scene_DistributeParameter.new(@status_window.index,
          @command_window.index,
          Scene_DistributeParameter::HOST_MENU)
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (難易度選択ウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_difficulty
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # コマンドウィンドウに切り替え
      @command_window.active = true
      @difficulty_window.active = false
      @difficulty_window.visible = false
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # 決定  SE を演奏
      $game_system.se_play($data_system.decision_se)
      # 難易度変更
      $game_system.difficulty = @difficulty_window.index
      # コマンドウィンドウ再作成
      @commands[@command_window.index] = Difficulty.get[0]
      @command_window.refresh(@commands)
      disable_command
      # コマンドウィンドウに切り替え
      @command_window.active = true
      @difficulty_window.active = false
      @difficulty_window.visible = false
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (ウェイトモードウィンドウがアクティブの場合)
  #--------------------------------------------------------------------------
  def update_waitmode
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # コマンドウィンドウに切り替え
      @command_window.active = true
      @waitmode_window.active = false
      @waitmode_window.visible = false
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # 決定  SE を演奏
      $game_system.se_play($data_system.decision_se)
      # ウェイトモード変更
      $game_system.wait_mode = @waitmode_window.index
      # コマンドウィンドウ再作成
      @commands[@command_window.index] =
        KGC::MA_ACB_WAIT_MODE[$game_system.wait_mode]
      @command_window.refresh(@commands)
      disable_command
      # コマンドウィンドウに切り替え
      @command_window.active = true
      @waitmode_window.active = false
      @waitmode_window.visible = false
      return
    end
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Item
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Scene_Item
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias main_KGC_MenuAlter main
  def main
    # スプライトセットを作成
    @spriteset = Spriteset_Map.new

    # 元の処理を実行
    main_KGC_MenuAlter

    @spriteset.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias update_KGC_MenuAlter update
  def update
    @help_window.back_opacity = 160

    # 元の処理を実行
    update_KGC_MenuAlter
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Skill
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Scene_Skill
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias main_KGC_MenuAlter main
  def main
    # スプライトセットを作成
    @spriteset = Spriteset_Map.new

    # 元の処理を実行
    main_KGC_MenuAlter

    @spriteset.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias update_KGC_MenuAlter update
  def update
    @help_window.back_opacity = 160

    # 元の処理を実行
    update_KGC_MenuAlter
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Equip
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Scene_Equip
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias main_KGC_MenuAlter main
  def main
    # スプライトセットを作成
    @spriteset = Spriteset_Map.new

    # 元の処理を実行
    main_KGC_MenuAlter

    @spriteset.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias update_KGC_MenuAlter update
  def update
    @help_window.back_opacity = 160

    # 元の処理を実行
    update_KGC_MenuAlter
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Status
#==============================================================================

if KGC::MA_MENU_TRANSPARENT
class Scene_Status
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  alias main_KGC_MenuAlter main
  def main
    # スプライトセットを作成
    @spriteset = Spriteset_Map.new

    # 元の処理を実行
    main_KGC_MenuAlter

    @spriteset.dispose
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_End
#==============================================================================

class Scene_End
  #--------------------------------------------------------------------------
  # ● メイン処理
  #--------------------------------------------------------------------------
  if KGC::MA_MENU_TRANSPARENT
  alias main_KGC_MenuAlter main
  def main
    # スプライトセットを作成
    @spriteset = Spriteset_Map.new

    # 元の処理を実行
    main_KGC_MenuAlter

    @spriteset.dispose
  end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    # コマンドウィンドウを更新
    @command_window.update
    # B ボタンが押された場合
    if Input.trigger?(Input::B)
      # キャンセル SE を演奏
      $game_system.se_play($data_system.cancel_se)
      # メニュー画面に切り替え
      index = KGC::MA_COMMANDS.index(5)
      if index != nil
        $scene = Scene_Menu.new(index)
      else
        $scene = Scene_Menu.new
      end
      return
    end
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # コマンドウィンドウのカーソル位置で分岐
      case @command_window.index
      when 0  # タイトルへ
        command_to_title
      when 1  # シャットダウン
        command_shutdown
      when 2  # やめる
        command_cancel
      end
      return
    end
  end
end
選擇是隨時都在進行的~不同的選擇造就了不同的未來~即使在微小的事~也能產生改變未來漣漪~~~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9418
在线时间
2749 小时
注册时间
2008-9-5
帖子
3544

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

8
发表于 2009-11-27 18:30:21 | 只看该作者
没有具体问题哟。。。。
脚本基本看不出什么错误。。。。
还有。。。。看着日文头好晕哦。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
113 小时
注册时间
2008-3-25
帖子
204
9
 楼主| 发表于 2009-11-27 21:11:12 | 只看该作者
若是我將存檔截圖腳本放在選單腳本下方
讀檔時會顯示存檔截圖的腳本模式
但是遊戲存檔時又會顯示成原來內建的模式

但是我若將存檔截圖腳本放在選單腳本上方
存檔時就會出現錯誤(讀檔ok)


是哪衝到了呢?
選擇是隨時都在進行的~不同的選擇造就了不同的未來~即使在微小的事~也能產生改變未來漣漪~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
6 小时
注册时间
2009-10-12
帖子
443
10
发表于 2009-11-28 12:49:08 | 只看该作者
找到大概796行,看见这样一段:
  1. when 4  # セーブ
  2.         if $game_system.save_disabled
  3.           $game_system.se_play($data_system.buzzer_se)
  4.           return
  5.         end
  6.         $game_system.se_play($data_system.decision_se)
  7.         # セーブ画面に切り替え
  8.         $scene = Scene_Save.new
复制代码
看到了吗,这里就是表示调用存档脚本的地方。你把截图存档脚本放在这个脚本上面。然后把这里面调用存档的地方(就最后一句)改成:
  1. $scene = Scene_Loadsave.new
复制代码
这样就应该没错了。如果还有问题随时PM我。
对于犬而言,他生来就被赋予一个位置,一种使命,他从不为自己而活,而是为了那个位置和使命。
没有犬能够脱离族群、血统和社会的桎梏,因为那对他们而言从不是桎梏,而是生命的意义;不是夺去自由的铁圈,而是代表身份的铭牌。
我只想要个位置。任何位置。我只想要个工作。任何工作。
没人肯要我。
那些同情,爱,尊重,自由,放任,都比不过有人需要我。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-26 21:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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