查看: 3263|回复: 8

[有事请教] 新人请教下,怎样在物品界面获取当前光标所选取物品ID?

[复制链接]
梦石
0
星屑
128
在线时间
21 小时
注册时间
2021-12-26
回帖
15
发表于 2022-1-6 21:23:44 | 显示全部楼层 |阅读模式

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

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

×

请教大佬们一个问题,怎样在物品界面获取当前光标所选取物品ID到变量呢?
snipaste_20220106_211437.png
比如说现在光标是在药水上面,药水的ID是1,怎样操作才能让当前光标选中的药水ID,也就是1,复制到某个变量呢?
非常感谢各位!!
梦石
0
星屑
11809
在线时间
623 小时
注册时间
2016-8-25
回帖
1340

R考场第七期纪念奖

发表于 2022-1-6 22:22:11 | 显示全部楼层
可以试试看图片事件的插件(?
回复

使用道具 举报

梦石
0
星屑
128
在线时间
21 小时
注册时间
2021-12-26
回帖
15
 楼主| 发表于 2022-1-7 06:35:42 | 显示全部楼层
PLeaseS 发表于 2022-1-6 22:22
可以试试看图片事件的插件(?

谢谢!我去找找看?
回复

使用道具 举报

梦石
0
星屑
14310
在线时间
2609 小时
注册时间
2013-6-10
回帖
1690
发表于 2022-1-7 09:54:30 | 显示全部楼层
你可以给物品绑定公共事件啊,比如药水的id是1,你做一个药水的公共事件,点了就把1赋值给变量。
回复

使用道具 举报

梦石
0
星屑
128
在线时间
21 小时
注册时间
2021-12-26
回帖
15
 楼主| 发表于 2022-1-7 10:10:58 | 显示全部楼层
小怪兽奇奇侠 发表于 2022-1-7 09:54
你可以给物品绑定公共事件啊,比如药水的id是1,你做一个药水的公共事件,点了就把1赋值给变量。 ...

我就是想弄公共事件的,可是如果有很多物品的话就要弄很多个公共事件了,因为要对应不同的ID....能不能靠直接读光标选定的物品的ID的方式在一个公共事件里解决所有物品的情况啊...?
回复

使用道具 举报

梦石
0
星屑
4649
在线时间
570 小时
注册时间
2018-11-12
回帖
120
发表于 2022-1-7 10:39:47 | 显示全部楼层
本帖最后由 cenhangkai 于 2022-1-7 10:46 编辑
  1. /*:
  2. * @plugindesc 物品栏的光标实时获取物品ID到指定变量
  3. * @author CHK
  4. *
  5. * @help
  6. * 即插即用。仅限物品栏,仅限物品。装备除外。
  7. * 效果:
  8. * 光标选中物品时,将该物品的ID赋值到指定变量中。
  9. * 如果使用了该物品,可以通过触发公共事件来判定该物品ID(变量)是否符合条件。
  10. *
  11. *
  12. * @param 赋值变量ID
  13. * @desc 物品ID赋值到的变量,默认1号
  14. * @default 1
  15. */

  16. (function() {
  17.        
  18.   var parameters = PluginManager.parameters('WP');
  19.   var ID = Number(parameters['赋值变量ID'] || 1);

  20.   Window_ItemList.prototype.itemRect = function(index) {
  21.     var rect = new Rectangle();
  22.     var maxCols = this.maxCols();
  23.     rect.width = this.itemWidth();
  24.     rect.height = this.itemHeight();
  25.     rect.x = index % maxCols * (rect.width + this.spacing()) - this._scrollX;
  26.     rect.y = Math.floor(index / maxCols) * rect.height - this._scrollY;
  27.         if (SceneManager._scene.constructor.name == "Scene_Item" && this.item()) {
  28.                 if (DataManager.isItem(this.item())) $gameVariables.setValue(ID,this.item().id);
  29.         };
  30.     return rect;
  31.   };

  32. })();
复制代码
回复 1 0

使用道具 举报

梦石
0
星屑
4649
在线时间
570 小时
注册时间
2018-11-12
回帖
120
发表于 2022-1-7 10:44:45 | 显示全部楼层

把这段代码 复制粘贴成插件,插件名字:WP
然后就可以使用了。
回复 1 0

使用道具 举报

梦石
0
星屑
128
在线时间
21 小时
注册时间
2021-12-26
回帖
15
 楼主| 发表于 2022-1-9 09:30:27 | 显示全部楼层
cenhangkai 发表于 2022-1-7 10:44
把这段代码 复制粘贴成插件,插件名字:WP
然后就可以使用了。

真是太感谢了!!!!!!
回复

使用道具 举报

梦石
0
星屑
669
在线时间
133 小时
注册时间
2018-6-30
回帖
112
发表于 2024-7-7 20:37:10 | 显示全部楼层

大佬,这个插件MZ能用吗
是一位萌新,正在用mz尝试做游戏,请多多指教!(≧∇≦)ノ
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部