Project1

标题: 想做一个按x键直接进入物品栏的效果 [打印本页]

作者: Entropy_s    时间: 2013-4-30 20:04
标题: 想做一个按x键直接进入物品栏的效果
不现显示状态这些……因为想做一个梦日记派生所以要把其他状态啦装备啦这类的去掉,但是改了半天脚本bug不断,所以想做一个直接进入物品的效果
作者: 芯☆淡茹水    时间: 2013-4-30 20:21
本帖最后由 芯☆淡茹水 于 2013-4-30 20:23 编辑

复制该脚本,插入到 main 前。



RUBY 代码复制
  1. #==============================================================================
  2. class Scene_Map
  3.   def call_menu
  4.     # 清除菜单调用标志
  5.     $game_temp.menu_calling = false
  6.     # 已经设置了菜单 SE 演奏标志的情况下
  7.     if $game_temp.menu_beep
  8.       # 演奏确定 SE
  9.       $game_system.se_play($data_system.decision_se)
  10.       # 清除菜单演奏 SE 标志
  11.       $game_temp.menu_beep = false
  12.     end
  13.     # 矫正主角姿势
  14.     $game_player.straighten
  15.     # 切换到菜单画面
  16.     $scene = Scene_Item.new
  17.   end
  18. end
  19. #==============================================================================
  20. class Scene_Item
  21.   def update_item
  22.     # 按下 B 键的情况下
  23.     if Input.trigger?(Input::B)
  24.       # 演奏取消 SE
  25.       $game_system.se_play($data_system.cancel_se)
  26.       # 切换到菜单画面
  27.       $scene = Scene_Map.new
  28.       return
  29.     end
  30.     # 按下 C 键的情况下
  31.     if Input.trigger?(Input::C)
  32.       # 获取物品窗口当前选中的物品数据
  33.       @item = @item_window.item
  34.       # 不使用物品的情况下
  35.       unless @item.is_a?(RPG::Item)
  36.         # 演奏冻结 SE
  37.         $game_system.se_play($data_system.buzzer_se)
  38.         return
  39.       end
  40.       # 不能使用的情况下
  41.       unless $game_party.item_can_use?(@item.id)
  42.         # 演奏冻结 SE
  43.         $game_system.se_play($data_system.buzzer_se)
  44.         return
  45.       end
  46.       # 演奏确定 SE
  47.       $game_system.se_play($data_system.decision_se)
  48.       # 效果范围是我方的情况下
  49.       if @item.scope >= 3
  50.         # 激活目标窗口
  51.         @item_window.active = false
  52.         @target_window.x = (@item_window.index + 1) % 2 * 304
  53.         @target_window.visible = true
  54.         @target_window.active = true
  55.         # 设置效果范围 (单体/全体) 的对应光标位置
  56.         if @item.scope == 4 || @item.scope == 6
  57.           @target_window.index = -1
  58.         else
  59.           @target_window.index = 0
  60.         end
  61.       # 效果在我方以外的情况下
  62.       else
  63.         # 公共事件 ID 有效的情况下
  64.         if @item.common_event_id > 0
  65.           # 预约调用公共事件
  66.           $game_temp.common_event_id = @item.common_event_id
  67.           # 演奏物品使用时的 SE
  68.           $game_system.se_play(@item.menu_se)
  69.           # 消耗品的情况下
  70.           if @item.consumable
  71.             # 使用的物品数减 1
  72.             $game_party.lose_item(@item.id, 1)
  73.             # 再描绘物品窗口的项目
  74.             @item_window.draw_item(@item_window.index)
  75.           end
  76.           # 切换到地图画面
  77.           $scene = Scene_Map.new
  78.           return
  79.         end
  80.       end
  81.       return
  82.     end
  83.   end
  84. end
  85. #==============================================================================


   
作者: Entropy_s    时间: 2013-5-2 08:16
芯☆淡茹水 发表于 2013-4-30 20:21
复制该脚本,插入到 main 前。

谢谢!没有bug❤~




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