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

Project1

 找回密码
 注册会员
搜索
查看: 2458|回复: 12
打印 上一主题 下一主题

[已经解决] 如何在事件菜单上分开调用普通物品和重要物品

[复制链接]

Lv1.梦旅人

梦石
0
星屑
176
在线时间
19 小时
注册时间
2018-2-26
帖子
6
跳转到指定楼层
1
发表于 2018-2-27 19:31:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
各位日安。

我本来计划用事件菜单,但日前碰到一个问题,
就像效果图显示的那样,希望的效果是可以【分别地、单独地】调用系统里的普通物品栏(:item)和重要物品栏(:key_item)

但是如果用SceneManager.call(Scene_Item)的话,调出的界面里,普通物品栏和重要物品栏是无法分离的。

后来发现喵呜喵5大大写的一个物品菜单简化的脚本
  1. =begin
  2. ===============================================================================
  3.   物品菜单简化 By喵呜喵5
  4. ===============================================================================

  5. 【说明】

  6.   按照RMVX的方式修改了默认的物品菜单,删除了分类框,默认显示持有的物品

  7.   针对懂得脚本的人,使用

  8.     M5SI20150321.call( 物品分类符号 )

  9.   来调出包含只拥有对应分类物品的界面

  10.   例如:M5SI20150321.call( :weapon ) 可以打开武器物品界面

  11. =end
  12. $m5script ||= {}; $m5script[:M5SI20150321] = 20150321
  13. module M5SI20150321
  14. #==============================================================================
  15. #  设定部分
  16. #==============================================================================

  17.   INCLUDE = true

  18.   # 物品菜单中是否包含重要物品
  19.   # 如果希望普通物品和重要物品不区分对待的话,这里设置成 true

  20.   ALL = false

  21.   # 物品菜单中是否包含所有物品(装备、护甲)
  22.   # 如果希望所有物品都显示在物品界面的话,这里设置成 true

  23.   MENU = false

  24.   # 如果希望在菜单中显示打开其他物品分类的指令的话,这里设置成 true

  25. #==============================================================================
  26. #  设定结束
  27. #==============================================================================
  28. class Scene_M5Item < Scene_Item; def m5_20150321_set; end; end
  29.   def self.call(category)
  30.     SceneManager.call(Scene_M5Item)
  31.     SceneManager.scene.m5_20150321_prepare(category)
  32.   end
  33. end
  34. class Window_ItemList
  35.   alias m5_20131108_include? include?
  36.   def include?(item)
  37.     if @category == :item
  38.       return true if ( item && M5SI20150321::ALL )
  39.       return true if ( item.is_a?(RPG::Item) && M5SI20150321::INCLUDE )
  40.     end
  41.     m5_20131108_include?(item)
  42.   end
  43. end
  44. class Scene_Item
  45.   def m5_20150321_prepare(category = :item)
  46.     @m5_20150321_category = category
  47.   end
  48.   def m5_20150321_set
  49.     m5_20150321_prepare
  50.   end
  51.   alias m5_20150321_start start
  52.   def start
  53.     m5_20150321_start
  54.     m5_20150321_set
  55.     @category_window.select_symbol(@m5_20150321_category)
  56.     @category_window.update
  57.     @category_window.deactivate
  58.     @item_window.set_handler(:cancel, method(:return_scene))
  59.     @item_window.activate
  60.     @item_window.select_last
  61.   end
  62.   alias m5_20150321_create_category_window create_category_window
  63.   def create_category_window
  64.     m5_20150321_create_category_window
  65.     @category_window.height = 0
  66.   end
  67. end
  68. class Window_MenuCommand
  69.   alias m5_20150321_add_main_commands add_main_commands
  70.   def add_main_commands
  71.     m5_20150321_add_main_commands
  72.     return unless M5SI20150321::MENU
  73.     category_window = Window_ItemCategory.new
  74.     list = category_window.instance_variable_get(:@list)
  75.     list.each do |command|
  76.       next if command[:symbol] == :item
  77.       name = "m5_20150321_#{command[:symbol]}".to_sym
  78.       add_command(command[:name], name ,main_commands_enabled)
  79.       @handler ||= {}
  80.       set_handler(name, Proc.new{ M5SI20150321.call(command[:symbol])})
  81.     end
  82.     category_window.dispose
  83.   end
  84. end
复制代码


里面有一个这样的功能:
  针对懂得脚本的人,使用
    M5SI20150321.call( 物品分类符号 )
  来调出包含只拥有对应分类物品的界面


但是在测试的时候,会出现这样的错误:

即使在一个全新的游戏工程里也会出现这个提示框。

所以想请教一下各位,这个问题要怎么解决?
因为实在摸索几天时间了,毫无头绪,也没能在游戏的脚本库里找到调用的方法,
也想请问,有没有相关的思路可以启发一下,我好有个方向去探索学习。

谢谢各位。
土下座。

Lv3.寻梦者

梦石
0
星屑
3646
在线时间
899 小时
注册时间
2017-10-30
帖子
347
2
发表于 2018-2-27 19:41:09 | 只看该作者
本帖最后由 MireniamuYuki 于 2018-2-27 19:42 编辑

你没有加上他的基础脚本,(建议)插入到所有插件脚本之上就可以用啦

评分

参与人数 1+1 收起 理由
樱笋年光 + 1 塞糖

查看全部评分

啥都会,啥都不擅长
一个VA群:679174724 欢迎来玩
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
176
在线时间
19 小时
注册时间
2018-2-26
帖子
6
3
 楼主| 发表于 2018-2-27 20:03:50 | 只看该作者
MireniamuYuki 发表于 2018-2-27 19:41
你没有加上他的基础脚本,(建议)插入到所有插件脚本之上就可以用啦
[fold]#============================ ...

你好。

我用全新的游戏工程尝试了一下,发现原来的错误还是会出现


我去他的空间找了一下最新版本的基础脚本,
却出现了新的问题:


这些错误都是在按下测试的时候出现的,根本进不去标题的那种。

谢谢。

点评

可以发工程看看吗?你是不是还改了原脚本的部分……我这边2个都插是没问题的  发表于 2018-2-27 20:04
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3646
在线时间
899 小时
注册时间
2017-10-30
帖子
347
4
发表于 2018-2-27 20:13:51 | 只看该作者
这是我测试的工程,在不加其他插件脚本和不改变原脚本的情况下

Project8.rar

1.33 MB, 下载次数: 48

评分

参与人数 1+1 收起 理由
樱笋年光 + 1 认可答案

查看全部评分

啥都会,啥都不擅长
一个VA群:679174724 欢迎来玩
回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
176
在线时间
19 小时
注册时间
2018-2-26
帖子
6
5
 楼主| 发表于 2018-2-27 20:24:15 | 只看该作者
为了避免其他改动带来的干扰,我都是用全新的工程来测试这两个脚本的,所以应该不是因为原脚本的问题。

怕是我之前瞎摸索把VA给弄坏了,所以刚刚卸载了重装,还是出现了同样的错误提示,所以应该也不是VA版本的问题(……?)

我也摸不着头脑,不好意思麻烦你了。

Project1.zip (1.43 MB, 下载次数: 60)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
176
在线时间
19 小时
注册时间
2018-2-26
帖子
6
6
 楼主| 发表于 2018-2-27 20:29:45 | 只看该作者
MireniamuYuki 发表于 2018-2-27 20:13
这是我测试的工程,在不加其他插件脚本和不改变原脚本的情况下

不好意思啊,发上面那条前没刷新出这个回复。

QAQ我我我我也不知道为什么,同样的插入顺序,我的愣是不能用,但你这个工程能用。

不过总算解决了,非常谢谢!!!

点评

刚刚测试了一下文本好像也没问题就是用不了,惊了……另外这个不会是VA的版本问题的  发表于 2018-2-27 20:34
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

7
发表于 2018-2-27 21:09:15 | 只看该作者
这个物品菜单脚本并不需要插入我的基础脚本也能使用
报错的原因单看报错提示感觉像是复制脚本的时候复制了一些看不出来的问题字符,
有空我测测看你的范例

点评

呸呸呸说错了不是未定义……自己眼神不好看错了(戳  发表于 2018-2-27 21:29
这样啊……我看到未定义第一反应以为是没插基础脚本  发表于 2018-2-27 21:27

评分

参与人数 1+1 收起 理由
樱笋年光 + 1 惊现原作者,感谢后续帮助Σ( ° △ °|||).

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

8
发表于 2018-2-28 09:52:18 | 只看该作者
测试了一下,确实是复制脚本的时候复制了一些看不出来的空白问题字符导致的问题
你可以尝试从下面几个地址重新复制一遍脚本看看问题是否存在
https://rpg.blue/home.php?mod=sp ... o=blog&id=12247
http://miaowm5.coding.me/script- ... cmI=&rm6r=12247

评分

参与人数 1+1 收起 理由
樱笋年光 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
176
在线时间
19 小时
注册时间
2018-2-26
帖子
6
9
 楼主| 发表于 2018-2-28 10:17:32 | 只看该作者
喵呜喵5 发表于 2018-2-28 09:52
测试了一下,确实是复制脚本的时候复制了一些看不出来的空白问题字符导致的问题
你可以尝试从下面几个地址 ...

嗯嗯我试了一下,第一个网址的还是会跳出错误提示,第二个网址的不会。
可能是网页的问题?

不过问题已经解决了,谢谢两位。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 11:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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