Project1

标题: 关于礼物盒脚本~ [打印本页]

作者: 水母书亚    时间: 2017-3-19 23:48
标题: 关于礼物盒脚本~
http://rpg.blue/thread-344849-1-1.html  脚本原贴

找到了可以做类似送礼加好感度的脚本,
再搞点物品公共事件的条件分歧就差不多成形了,
不过呼出来的【礼物盒】的菜单似乎就不能使里面的道具了OTZ
想改一下脚本,改成呼出礼物盒菜单也能根据设好的条件分歧使用礼物和里面的物品~不知道怎么改。
麻烦了~

QQ截图20170319234133.png (43.63 KB, 下载次数: 13)

呼出礼物盒

呼出礼物盒

QQ截图20170319234118.png (14.58 KB, 下载次数: 18)

选项

选项

作者: guoxiaomi    时间: 2017-3-20 09:23
本帖最后由 guoxiaomi 于 2017-3-20 09:24 编辑

在 class Scene_Gift_Box 里的 update_item 方法里面添加上按下空格键的处理:
  1.     # 按下 C 键的情况下
  2.     if Input.trigger?(Input::C)
  3.       # 获取物品窗口当前选中的物品数据
  4.       @item = @item_window.item
  5.       # 不使用物品的情况下
  6.       unless @item.is_a?(RPG::Item)
  7.         # 演奏冻结 SE
  8.         $game_system.se_play($data_system.buzzer_se)
  9.         return
  10.       end
  11.       # 不能使用的情况下
  12.       unless $game_party.item_can_use?(@item.id)
  13.         # 演奏冻结 SE
  14.         $game_system.se_play($data_system.buzzer_se)
  15.         return
  16.       end
  17.       # 演奏确定 SE
  18.       $game_system.se_play($data_system.decision_se)
  19.       # 效果范围是我方的情况下
  20.       if @item.scope >= 3
  21.         # 激活目标窗口
  22.         @item_window.active = false
  23.         @target_window.x = (@item_window.index + 1) % 2 * 304
  24.         @target_window.visible = true
  25.         @target_window.active = true
  26.         # 设置效果范围 (单体/全体) 的对应光标位置
  27.         if @item.scope == 4 || @item.scope == 6
  28.           @target_window.index = -1
  29.         else
  30.           @target_window.index = 0
  31.         end
  32.       # 效果在我方以外的情况下
  33.       else
  34.         # 公共事件 ID 有效的情况下
  35.         if @item.common_event_id > 0
  36.           # 预约调用公共事件
  37.           $game_temp.common_event_id = @item.common_event_id
  38.           # 演奏物品使用时的 SE
  39.           $game_system.se_play(@item.menu_se)
  40.           # 消耗品的情况下
  41.           if @item.consumable
  42.             # 使用的物品数减 1
  43.             $game_party.lose_item(@item.id, 1)
  44.             # 再描绘物品窗口的项目
  45.             @item_window.draw_item(@item_window.index)
  46.           end
  47.           # 切换到地图画面
  48.           $scene = Scene_Map.new
  49.           return
  50.         end
  51.       end
  52.       return
  53.     end
复制代码

这段是复制的 Scene_Item 里面的 update_item 方法中按下确认键的处理。建议把物品设置成“无目标”,要不然打开了对象选择窗口就不好说了。
作者: 水母书亚    时间: 2017-3-20 12:35
guoxiaomi 发表于 2017-3-20 09:23
在 class Scene_Gift_Box 里的 update_item 方法里面添加上按下空格键的处理:

这段是复制的 Scene_Item  ...

感谢,终于解决了




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