查看: 1999|回复: 1

[已经解决] 关于物品掉落问题

[复制链接]
梦石
0
星屑
50
在线时间
395 小时
注册时间
2012-1-12
回帖
155
发表于 2015-6-11 13:34:36 | 显示全部楼层 |阅读模式

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

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

×
我想请教一下 比如我设定了某一种怪物身上  某一件物品掉落的几率是10%

可是我想在这件物品获得以后   就不会再重复获得了

该要如何设定了  需要用到事件分歧嘛?  
梦石
0
星屑
166
在线时间
454 小时
注册时间
2015-2-25
回帖
358
发表于 2015-6-11 13:48:37 | 显示全部楼层
本帖最后由 howhow1314 于 2015-6-11 15:15 编辑

[pre lang="ruby"]module BattleManager
  Kfc = ["超級藥水","魔液"]
  def self.gain_drop_items
    $game_troop.make_drop_items.each do |item|
      unless $game_party.has_item?(item) && Kfc.include?(item.name)
        $game_party.gain_item(item, 1)
        $game_message.add(sprintf(Vocab::ObtainItem, item.name))
      end
    end
    wait_for_message
  end
end[/pre]




也可以改這樣..上面的是擁有該物品時不會掉落,這個是掉落過了不會再掉落..

[pre lang="ruby"]module BattleManager
  Kfc = ["超級藥水","魔液"]
  def self.gain_drop_items
    $game_troop.make_drop_items.each do |item|
      unless $game_party.kfc.include?(item.name)
        $game_party.kfc.push(item.name) if Kfc.include?(item.name)
        $game_party.gain_item(item, 1)
        $game_message.add(sprintf(Vocab::ObtainItem, item.name))
      end
    end
    wait_for_message
  end
end
class Game_Party
  def kfc
    @kfc ||= []
  end
end[/pre]

想再次掉落的話$game_party.kfc.delete("超級藥水")這樣就可以

点评

感谢两位!  发表于 2015-6-11 15:13
可以  发表于 2015-6-11 15:05
注意:如果战斗后该道具消耗掉了,以后的战斗依然会掉落。  发表于 2015-6-11 14:54
好的 还有一个问题 Kfc那个括号里面 应该可以加上 更多个 不想重复掉落的物品名称吧?  发表于 2015-6-11 14:04
f11打開腳本編輯器,插在Main之前,其他腳本之後  发表于 2015-6-11 13:55

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部