查看: 3824|回复: 13

[有事请教] 增减物品可以为变量吗?

[复制链接]
梦石
0
星屑
189
在线时间
37 小时
注册时间
2011-4-22
回帖
11
发表于 2017-11-1 20:52:05 | 显示全部楼层 |阅读模式

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

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

×
这果然是个卧虎藏龙的地方,我又来请教问题啦。
就是我想实现个,柜台的功能:
1. 点击柜台 ->打开道具栏,选择物品 (可以用“物品选择处理"来实现,物品ID存入变量)
2.柜台显示物品图标
3.背包物品减少一个


那么问题来了,RPGmaker里面的增减物品,只能选定某个物品,不能为变量
这可咋办啊?


截图未命名.jpg

梦石
0
星屑
2772
在线时间
215 小时
注册时间
2017-9-28
回帖
255
发表于 2017-11-1 20:57:05 | 显示全部楼层
不知道你想怎么样,是不是事件指令-变量操作-游戏数据-物品持有数
说错了别怪我

点评

我想实现的是,获得 "变量001" 号的物品一个,而不是获得指定的物品,就是这个意思呢  发表于 2017-11-1 22:13
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2017-11-1 21:15:05 | 显示全部楼层

$gameParty.gainItem($dataItems[id], 数量);  #获得物品
回复

使用道具 举报

梦石
0
星屑
7427
在线时间
948 小时
注册时间
2017-9-27
回帖
566
发表于 2017-11-1 21:18:55 | 显示全部楼层
用脚本啊,得物品 $gameParty.gainItem($dataItems[id], num);
失物品 $gameParty.loseItem($dataItems[id], num);

武器、防具类似,把$dataItems换成$dataWeapons/$dataArmors就行了。
回复 1 0

使用道具 举报

梦石
0
星屑
189
在线时间
37 小时
注册时间
2011-4-22
回帖
11
 楼主| 发表于 2017-11-1 21:54:21 | 显示全部楼层
本帖最后由 nevin999 于 2017-11-1 21:55 编辑
梦想家大魔王 发表于 2017-11-1 21:18
用脚本啊,得物品 $gameParty.gainItem($dataItems, num);
失物品 $gameParty.loseItem($dataItems, num);
...

先谢谢两位大佬 @梦想家大魔王  @yang1zhi

原谅我这个小白,代码中的ID是存物品的变量吗?是不是像这样?可是出错了呢
截图未命名1.jpg


截图未命名.jpg



点评

$gameParty.gainItem($dataItems[3], 1) 这句意思是获得3号物品一个,对吧 我想实现的是,获得 "变量001" 号物品一个,请问这个用什么语句啊?  发表于 2017-11-1 22:09
存物品的变量大概是把$dataItems[id]整个给存下来了。所以你可以用$gameVariables._data[id].id来得到ID,这是变量  发表于 2017-11-1 21:58
不是,是数据库里面的数字ID序列。每个武器都有一个序列ID的  发表于 2017-11-1 21:55
回复

使用道具 举报

梦石
0
星屑
189
在线时间
37 小时
注册时间
2011-4-22
回帖
11
 楼主| 发表于 2017-11-1 22:10:43 | 显示全部楼层
yang1zhi 发表于 2017-11-1 21:15
$gameParty.gainItem($dataItems, 数量);  #获得物品

$gameParty.gainItem($dataItems[3], 1) 这句意思是获得3号物品一个,对吧
我想实现的是,获得 "变量001" 号物品一个,请问这个用什么语句啊?
回复

使用道具 举报

梦石
0
星屑
630
在线时间
159 小时
注册时间
2009-7-21
回帖
55

开拓者

发表于 2017-11-1 22:12:10 | 显示全部楼层
$gameParty.gainItem($dataItems[$gameVariables._data[1]], num);
num为增加道具的数量(可以为负数)
$gameVariables._data[1] 为变量1的值。如果想要使用其他变量,请修改中间的数字
思路才是大脑
方法只是手脚
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2017-11-1 22:13:54 | 显示全部楼层
本帖最后由 yang1zhi 于 2017-11-1 22:15 编辑
nevin999 发表于 2017-11-1 21:54
先谢谢两位大佬 @梦想家大魔王  @yang1zhi

原谅我这个小白,代码中的ID是存物品的变量吗?是不是像这样 ...

首先,你的1号变量里面要是个ID,也就是是数字3。才可以是
$gameParty.gainItem($dataItems[$gameVariables._data[1]], 1)
不然就要先得出ID才行。
假如这个变量里面是道具本身,也就是$dataItems[3]
那就要 id = $dataItems[3].id 或者 $gameVariables._data[1].id
这样id 就是3了
就可以$gameParty.gainItem($dataItems[id], 1)
假如这个变量里面不是你想要的道具,或者ID。那就要先找到你要的道具。
比如使用事件的道具选择。
回复

使用道具 举报

梦石
0
星屑
189
在线时间
37 小时
注册时间
2011-4-22
回帖
11
 楼主| 发表于 2017-11-1 22:18:21 | 显示全部楼层
a02821145 发表于 2017-11-1 22:12
$gameParty.gainItem($dataItems[$gameVariables._data[1]], num);
num为增加道具的数量(可以为负数)
$ga ...

大佬!厉害,就是这句代码!
再问下,显示这个物品的图标在地图(x,y)位置,有没有代码?
回复

使用道具 举报

梦石
0
星屑
630
在线时间
159 小时
注册时间
2009-7-21
回帖
55

开拓者

发表于 2017-11-2 17:32:48 | 显示全部楼层
你这个问题不是已经在其他帖子问过了么
那个插件使用也很简单,稍微谷歌一下注释对比原作者的使用示意图就行。
那个方法已经是挺简单的了,不会有一两行代码就能搞定这件事情的方式。
思路才是大脑
方法只是手脚
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部