查看: 2905|回复: 4

[RMVA发布] 整合物品掉落显示的菜鸟想法

[复制链接]
梦石
0
星屑
50
在线时间
61 小时
注册时间
2014-3-29
回帖
10
发表于 2014-8-13 00:36:53 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 shinsuzaku 于 2014-9-4 09:39 编辑

之前问过一个问题,当N个怪物掉落相同物品时,有没有办法整合显示,一开始想用数组,结果4个小时没有解决问题,最后脑筋一开想到Object一试,不到10分钟搞定……简直惨这是……

可能这个方式比较不效率,期待有高手能给出更效率的方法

修改的代码在BattleManager的329行 重写self.gain_drop_items方法

[pre lang="ruby" line="329"]def self.gain_drop_items
    items = {}
for i in $game_troop.make_drop_items
      if items
        items += 1
      else
        items = 1
      end
    end
    for k in items
     $game_party.gain_item(k[0], k[1])
     $game_message.add(sprintf(Vocab::ObtainItem,k[1], k[0].name))
    end
    wait_for_message
  end[/pre]

然后修改Vocab第39行的显示信息

[pre lang="ruby" line="39"]ObtainItem      = "获得了%s个%s!"[/pre]

效果如下:

首先看一下掉率
1111.jpg

打败敌人后的信息显示
2222.jpg

点评

“最后脑筋一开想到Object一试”Object?  发表于 2014-8-18 14:50

评分

参与人数 1星屑 +10 收起 理由
a1578032454 + 10 塞糖

查看全部评分

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-8-13 08:01:14 | 显示全部楼层
本帖最后由 taroxd 于 2014-8-13 08:05 编辑

我就来给个效率更低的,未测试的,卖萌用的

这段东西就在战斗结束的时候偶尔执行,完全不用考虑效率的,放心吧

[pre lang="ruby" line="1"]def self.gain_drop_items
  $game_troop.make_drop_item.group_by {|i| i }.each do |item, arr|
    amount = arr.size
    $game_party.gain_item(item, amount)
    $game_message.add("获得了#{amount}个#{item.name}!")
    wait_for_message
  end
end[/pre]
回复

使用道具 举报

梦石
0
星屑
250
在线时间
233 小时
注册时间
2013-8-2
回帖
544
发表于 2014-8-13 11:53:17 | 显示全部楼层
这不是灌水哦,别抢我的糖路过带走
我忘了,我要怎么遗忘。
回复

使用道具 举报

梦石
0
星屑
95
在线时间
97 小时
注册时间
2008-8-28
回帖
27
发表于 2014-8-18 12:17:56 | 显示全部楼层
楼主的脚本使用后虽然显示了获得道具,但结果物品栏里并没有增加道具-。-
二楼的使用后报错,错误如图
QQ截图20140818121527.png

点评

在item后面加个s  发表于 2014-8-18 14:47
回复

使用道具 举报

梦石
0
星屑
50
在线时间
61 小时
注册时间
2014-3-29
回帖
10
 楼主| 发表于 2014-8-20 22:00:46 | 显示全部楼层
彩虹色的猪 发表于 2014-8-18 12:17
楼主的脚本使用后虽然显示了获得道具,但结果物品栏里并没有增加道具-。-
二楼的使用后报错,错误如图
...

啊确实有错,要修改

339行的k[0].id改成k[0]就可以了

点评

好的,我试试看~  发表于 2014-8-21 10:50
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部