本帖最后由 芯☆淡茹水 于 2017-11-27 21:37 编辑
也许这样可行:
- class Scene_Map
- #--------------------------------------------------------------------------
- def max_count #<= 计算最大可随机的队伍个数
- max_val = 40 #<= 变量1增加步数的最大调整值
- size = $game_map.encounter_list.size
- return size if size == 1 #<= 保底随机 1 个队伍
- #依照变量值百分比来决定随机多少个队伍
- num = ((max_val - $game_variables[1]) * 100.0 / max_val * size / 100).round
- return [num, 1].max #<= 保底随机 1 个队伍
- end
- #--------------------------------------------------------------------------
- def troop_data #<= 依照最大个数,随机 可随机 的队伍
- data = []
- while data.size < max_count
- id = $game_map.encounter_list[rand($game_map.encounter_list.size)]
- data << id unless data.include?(id)
- end
- return data
- end
- end
复制代码
嘛,上面那样貌似又绕回去了,汗~! 那可以把 随机 改为 截取def troop_data #<= 依照最大个数,截取 可随机 的队伍 return $game_map.encounter_list[0...max_count] end
def troop_data #<= 依照最大个数,截取 可随机 的队伍
return $game_map.encounter_list[0...max_count]
end
那么 Scene_Map 里面的那两句就应该改为:
n = rand(troop_data.size)
troop_id = troop_data[n]
|