Project1

标题: 我想做恐怖rpg..该如何删去游戏菜单里的特技装备状态呢? [打印本页]

作者: 源散生    时间: 2014-11-1 23:34
标题: 我想做恐怖rpg..该如何删去游戏菜单里的特技装备状态呢?
纯新人,很多都不知道。求帮助
作者: cinderelmini    时间: 2014-11-2 00:01
本帖最后由 cinderelmini 于 2014-11-2 00:03 编辑

1》按F11打开脚本编辑器
2》找到Scene_Menu脚本,下拉到26行
3》把
  1. @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
复制代码
改成
  1. @command_window = Window_Command.new(160, [s1, s5, s6])
复制代码
4》完成
作者: H·H·Y    时间: 2014-11-2 00:22
本帖最后由 H·H·Y 于 2014-11-2 12:47 编辑

1.按下F11打开脚本编辑器

2.找到Scene_Menu,使用以下脚本覆盖
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Scene_Menu
  3. #------------------------------------------------------------------------------
  4. #  处理菜单画面的类。
  5. #==============================================================================
  6.  
  7. class Scene_Menu
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #     menu_index : 命令光标的初期位置
  11.   #--------------------------------------------------------------------------
  12.   def initialize(menu_index = 0)
  13.     @menu_index = menu_index
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 主处理
  17.   #--------------------------------------------------------------------------
  18.   def main
  19.     # 生成命令窗口
  20.     s1 = $data_system.words.item
  21.     s2 = "存档"
  22.     s3 = "结束游戏"
  23.     @command_window = Window_Command.new(160, [s1, s2, s3])
  24.     @command_window.index = @menu_index
  25.     # 同伴人数为 0 的情况下
  26.     if $game_party.actors.size == 0
  27.       # 物品、特技、装备、状态无效化
  28.       @command_window.disable_item(0)
  29.     end
  30.     # 禁止存档的情况下
  31.     if $game_system.save_disabled
  32.       # 存档无效
  33.       @command_window.disable_item(1)
  34.     end
  35.     # 生成游戏时间窗口
  36.     @playtime_window = Window_PlayTime.new
  37.     @playtime_window.x = 0
  38.     @playtime_window.y = 224
  39.     # 生成步数窗口
  40.     @steps_window = Window_Steps.new
  41.     @steps_window.x = 0
  42.     @steps_window.y = 320
  43.     # 生成金钱窗口
  44.     @gold_window = Window_Gold.new
  45.     @gold_window.x = 0
  46.     @gold_window.y = 416
  47.     # 生成状态窗口
  48.     @status_window = Window_MenuStatus.new
  49.     @status_window.x = 160
  50.     @status_window.y = 0
  51.     # 执行过渡
  52.     Graphics.transition
  53.     # 主循环
  54.     loop do
  55.       # 刷新游戏画面
  56.       Graphics.update
  57.       # 刷新输入信息
  58.       Input.update
  59.       # 刷新画面
  60.       update
  61.       # 如果切换画面就中断循环
  62.       if $scene != self
  63.         break
  64.       end
  65.     end
  66.     # 准备过渡
  67.     Graphics.freeze
  68.     # 释放窗口
  69.     @command_window.dispose
  70.     @playtime_window.dispose
  71.     @steps_window.dispose
  72.     @gold_window.dispose
  73.     @status_window.dispose
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 刷新画面
  77.   #--------------------------------------------------------------------------
  78.   def update
  79.     # 刷新窗口
  80.     @command_window.update
  81.     @playtime_window.update
  82.     @steps_window.update
  83.     @gold_window.update
  84.     @status_window.update
  85.     # 命令窗口被激活的情况下: 调用 update_command
  86.     if @command_window.active
  87.       update_command
  88.       return
  89.     end
  90.     # 状态窗口被激活的情况下: 调用 update_status
  91.     if @status_window.active
  92.       update_status
  93.       return
  94.     end
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ● 刷新画面 (命令窗口被激活的情况下)
  98.   #--------------------------------------------------------------------------
  99.   def update_command
  100.     # 按下 B 键的情况下
  101.     if Input.trigger?(Input::B)
  102.       # 演奏取消 SE
  103.       $game_system.se_play($data_system.cancel_se)
  104.       # 切换的地图画面
  105.       $scene = Scene_Map.new
  106.       return
  107.     end
  108.     # 按下 C 键的情况下
  109.     if Input.trigger?(Input::C)
  110.       # 同伴人数为 0、存档、游戏结束以外的场合
  111.       if $game_party.actors.size == 0 and @command_window.index == 0
  112.         # 演奏冻结 SE
  113.         $game_system.se_play($data_system.buzzer_se)
  114.         return
  115.       end
  116.       # 命令窗口的光标位置分支
  117.       case @command_window.index
  118.       when 0  # 物品
  119.         # 演奏确定 SE
  120.         $game_system.se_play($data_system.decision_se)
  121.         # 切换到物品画面
  122.         $scene = Scene_Item.new
  123.       when 1  # 存档
  124.         # 禁止存档的情况下
  125.         if $game_system.save_disabled
  126.           # 演奏冻结 SE
  127.           $game_system.se_play($data_system.buzzer_se)
  128.           return
  129.         end
  130.         # 演奏确定 SE
  131.         $game_system.se_play($data_system.decision_se)
  132.         # 切换到存档画面
  133.         $scene = Scene_Save.new
  134.       when 2  # 游戏结束
  135.         # 演奏确定 SE
  136.         $game_system.se_play($data_system.decision_se)
  137.         # 切换到游戏结束画面
  138.         $scene = Scene_End.new
  139.       end
  140.       return
  141.     end
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ● 刷新画面 (状态窗口被激活的情况下)
  145.   #--------------------------------------------------------------------------
  146.   def update_status
  147.     # 按下 B 键的情况下
  148.     if Input.trigger?(Input::B)
  149.       # 演奏取消 SE
  150.       $game_system.se_play($data_system.cancel_se)
  151.       # 激活命令窗口
  152.       @command_window.active = true
  153.       @status_window.active = false
  154.       @status_window.index = -1
  155.       return
  156.     end
  157.   end
  158. end


3.找到Scene_Save,将33行和50行的$scene = Scene_Menu.new(4)改为$scene = Scene_Menu.new(1)

4.找到Scene_End,将56行和106行的$scene = Scene_Menu.new(5)改为$scene = Scene_Menu.new(2)

5.完成

╮(╯_╰)╭第一次手改脚本还出错了几次呢,不过上面这个应该是万无一失的啦~亲测可用,LZ放心。




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