查看: 1590|回复: 2

[有事请教] 如何排除已经获得的ID

[复制链接]
梦石
0
星屑
3850
在线时间
1899 小时
注册时间
2010-6-19
回帖
917
发表于 2024-3-22 11:26:36 | 显示全部楼层 |阅读模式

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

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

×
[pre lang="ruby"]弄了一个宠物合成的脚本,如何修改当成品数组里面的宠物ID全部在队伍和仓库里时,
就无法继续获得,如果队伍和仓库没有该ID的宠物就获得该宠物

脚本1
class Game_Alchemy
  attr_accessor   :recipe_list
  attr_accessor   :fail_id
  def initialize
    @recipe_list = []
    main
  end
  def main   
    材料A = [0,181]
    材料B = [0,206]
    成品  = [103, 104]
    @recipe_list << [材料A, 材料B, 成品]
  end  
end

脚本2
def make_result
  @alchemy = []
  for i in 0...2
    kind = 0
    @alchemy = [kind,@alchemy_window.stuff.id]
  end
  @list = $game_alchemy.recipe_list
  for i in 0...@list.size
    if @alchemy[0] == @list[0] and @alchemy[1] == @list[1]
      
      # 获得炼妖宠物,从成品数组中随机选择一个
      成品索引 = rand(@list[2].size)
      @result = $data_actors[@list[2][成品索引]]
      
      # 检查队伍和仓库是否包含该宠物ID
      if $game_actors[$game_variables[1]].kds_baby.include?(@result.id) ||
         $game_party.actors2.include?($game_actors[@result.id])
         p "无法继续获得宠物"
      # 如果没有该宠物
      else
         p "获得宠物"
         # 添加进队伍
         switch_baby(@result.id)
      end
    end
  end
end    [/pre]
梦石
0
星屑
3850
在线时间
1899 小时
注册时间
2010-6-19
回帖
917
 楼主| 发表于 2024-4-6 09:58:53 | 显示全部楼层
自行解决了
回复

使用道具 举报

梦石
0
星屑
7296
在线时间
1244 小时
注册时间
2015-8-15
回帖
473
发表于 2024-4-6 11:13:30 | 显示全部楼层

分享一下大神
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部