注册会员 登录
Project1 返回首页

喵呜喵5的树洞 https://rpg.blue/?291206 [收藏] [复制] [分享] [RSS]

日志

【脚本】物品添加到菜单选项中

热度 24已有 4506 次阅读2015-2-15 20:39 |个人分类:脚本


范例工程(范例工程中的脚本版本为旧的版本):http://pan.baidu.com/s/1bn2ev4j


=begin

===============================================================================

  物品添加到菜单选项中 By喵呜喵5

===============================================================================


【说明】


  在菜单选项中添加指定选项,选择该选项即可使用特定的物品


  配合物品使用效果中的“公共事件”以及其他脚本,

  可以很简单的实现添加可执行公共事件的菜单选项的效果


=end

$m5script ||= {};$m5script[:M5IM20150215] = 20180529

module M5IM20150215; LIST = [

#==============================================================================

# 设定部分

#==============================================================================


    ["恢复剂", 1, true],


    ["强恢复剂", 2, false],


    # 设置添加的选项,设置的格式为:


    #   [选项的名称, 选择该选项后使用的物品ID, 未持有该物品时的选项状态],


    # 选项的名称前后要加上英文引号

    # 未持有物品时选项状态设置为 true 时,即使未持有特定物品也显示该物品的选项

    # 未持有物品时选项状态设置为 false 时,不显示未持有物品对应的选项

    # 各个设置之间以及每条设置内容之间需要加上英文逗号分隔


#==============================================================================

# 设定结束

#==============================================================================

  ]

  class Scene_ItemTarget < Scene_ItemBase

    attr_reader :actor_window

    attr_writer :item_id

    def initialize(scene)

      super

      @viewport = Viewport.new

      @item_window = scene.instance_variable_get(:@command_window)

      @status_window = scene.instance_variable_get(:@status_window)

      start

      post_start

      @actor_window.hide.deactivate

    end

    def item; $data_items[@item_id]; end

    def cursor_left?; true; end

    def play_se_for_item; Sound.play_use_item; end

    def show_sub_window(window)

      super(window)

      @status_window.hide if @status_window

    end

    def hide_sub_window(window)

      super(window)

      @item_window.height = @item_window.window_height

      @item_window.create_contents

      @item_window.refresh

      @status_window.show.refresh if @status_window

    end

    def use_item

      super

      on_actor_cancel

    end

    def terminate

      pre_terminate

      @item_window = nil

      @status_window = nil

      super

    end

    def create_background; end

    def dispose_background; end

  end

end

class Window_MenuCommand

  alias m5_20150215_add_original_commands add_original_commands

  def add_original_commands

    m5_20150215_add_original_commands

    M5IM20150215::LIST.each do |item|

      name = "m520150215im#{item[1]}".to_sym

      if $game_party.has_item?($data_items[item[1]])

        add_command(item[0], name)

      elsif item[2] then add_command(item[0], name, false)

      end

    end

  end

end

class Scene_Menu

  alias m5_20150215_start start

  def start

    m5_20150215_start

    @m520150215SA = M5IM20150215::Scene_ItemTarget.new(self)

    M5IM20150215::LIST.each do |item|

      name = "m520150215im#{item[1]}".to_sym

      proc = Proc.new {

        @m520150215SA.item_id = item[1]

        @m520150215SA.determine_item

      }

      @command_window.set_handler(name, proc)

    end

  end

  alias m5_20150215_update update

  def update

    m5_20150215_update

    @m520150215SA.actor_window.update

  end

  alias m5_20150215_terminate terminate

  def terminate

    @m520150215SA.terminate

    m5_20150215_terminate

  end

end


7

鸡蛋
1

鲜花

刚表态过的朋友 (8 人)

发表评论 评论 (20 个评论)

回复 永燃的狂炎 2015-2-15 22:42
我是第一位呀~喵
回复 永恒の未知数 2015-2-15 22:47
邀请我来的第二位~喵
回复 MeowSnow 2015-2-15 22:48
顺带有屏蔽菜单中其他某项功能的系统吗?
回复 喵呜喵5 2015-2-15 22:49
MeowSnow: 顺带有屏蔽菜单中其他某项功能的系统吗?
http://rm.66rpg.com/home.php?mod=space&uid=291206&do=blog&id=12246
回复 chd114 2015-2-15 22:50
我被@到了?
回复 寒冷魔王 2015-2-15 22:50
永燃的狂炎: 我是第一位呀~喵
= =

喵呜君好帅气,话说RGSS3我完全不懂,尤其是窗口这里给跪了。
回复 chd114 2015-2-15 22:51
这个很像YEA的战斗指令添加强行使用技能物品的指令
回复 stevenrock 2015-2-15 23:41
脚本盲,看了半天不明真相。嘿嘿。
回复 寂静的夜里 2015-2-16 09:54
  
回复 DyingCat 2015-2-16 10:01
添加自定义项的手法可以参考一下口袋妖怪系列的关键道具登录系统啊。按键呼出多方便。RM的菜单操作本来就超级反人类的。
回复 游戏我的爱 2015-2-16 10:26
   感觉好高级
回复 喵呜喵5 2015-2-16 10:54
DyingCat: 添加自定义项的手法可以参考一下口袋妖怪系列的关键道具登录系统啊。按键呼出多方便。RM的菜单操作本来就超级反人类的。 ...
本来这个脚本的初衷就是为了让没有脚本知识的人也能随意添加菜单选项
回复 2610408 2015-2-16 14:37
挺高级的,虽然我用不到,但还是给你加油!
回复 欧买歌 2015-2-16 18:57
????这脚本是干什么用的,截图看不懂 ????
回复 喵呜喵5 2015-2-16 20:36
欧买歌: ????这脚本是干什么用的,截图看不懂 ????
非常简单的向游戏菜单中添加任意选项
回复 melove603 2015-3-15 00:30
能在游戏进行中添加~对我这种小白简直是福音~
回复 卡奥尼特 2015-6-8 04:33
感觉这种脚本用在逆转检事这种类型的游戏正合适
話說回來,如果要配合CACAO的菜單系統,要怎麼弄呢?
回复 元泱の蛮吉 2017-9-10 11:47
这个物品不需要持有就可以吧?
回复 喵呜喵5 2017-9-10 17:13
元泱の蛮吉: 这个物品不需要持有就可以吧?
未持有的物品可以设置为在菜单里灰的,也可以设置为不显示对应选项
回复 元泱の蛮吉 2017-9-11 07:58
问题解决了,对于脚本盲的我来说帮助很大,谢谢。我用了你的隐藏物品脚本,即 持有 而不显示,用公共事件做的钓鱼系统和技能升级都可以用得上了

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

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

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

GMT+8, 2024-4-29 07:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部