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

Project1

 找回密码
 注册会员
搜索
查看: 2279|回复: 2

[已经解决] 关于礼物盒脚本~

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2952
在线时间
398 小时
注册时间
2013-6-13
帖子
30

开拓者

发表于 2017-3-19 23:48:07 | 显示全部楼层 |阅读模式

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

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

x
http://rpg.blue/thread-344849-1-1.html  脚本原贴

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

呼出礼物盒

呼出礼物盒

选项

选项
图片

Lv5.捕梦者 (版主)

梦石
1
星屑
23963
在线时间
3338 小时
注册时间
2011-7-8
帖子
3925

开拓者

发表于 2017-3-20 09:23:22 | 显示全部楼层
本帖最后由 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 方法中按下确认键的处理。建议把物品设置成“无目标”,要不然打开了对象选择窗口就不好说了。

评分

参与人数 2星屑 +230 收起 理由
RyanBern + 200 认可答案
水母书亚 + 30 认可答案

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2952
在线时间
398 小时
注册时间
2013-6-13
帖子
30

开拓者

 楼主| 发表于 2017-3-20 12:35:44 | 显示全部楼层
guoxiaomi 发表于 2017-3-20 09:23
在 class Scene_Gift_Box 里的 update_item 方法里面添加上按下空格键的处理:

这段是复制的 Scene_Item  ...

感谢,终于解决了
图片
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-16 17:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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