赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 9 |
经验 | 15003 |
最后登录 | 2024-8-17 |
在线时间 | 291 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 870
- 在线时间
- 291 小时
- 注册时间
- 2010-9-9
- 帖子
- 64
|
#==============================================================================
# ★ RGSS3_ランダムトループ Ver1.1
#==============================================================================
=begin
这个是从某大大哪里拿来的随机遇敌脚本,不过我是横板战斗的,所以小改了敌人出现的位置,
作者:tomoaky
webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)
指定したトループの中身(出現エネミー)をランダムに変更します、
どんな敵が出現するか分からないおまけイベントバトルなどにどうぞ。
候補の設定が空の配列だった場合はすべてのエネミーが候補になります、
名前が空のエネミーは自動的に除外されます。
2012.01.07 Ver1.1
・複数のトループをランダム化できるようになりました
・最低出現数の設定を追加
・座標の計算式を変更
2011.12.15 Ver1.0
公開
=end
#==============================================================================
# □ 設定項目
#==============================================================================
module TMRDTRP
ENEMIES = {} # この行はいじらない
EXCLUDE = {} # この行はいじらない
MIN_ENEMY = {} # この行はいじらない
MAX_ENEMY = {} # この行はいじらない
# トループID31番の設定
ENEMIES[31] = [2, 31, 32] # 出現するエネミーの候補
EXCLUDE[31] = [] # 除外するエネミー
MIN_ENEMY[31] = 8 # 最低出現数
MAX_ENEMY[31] = 8 # 最高出現数
# トループID32番の設定
ENEMIES[35] = [] # 出現するエネミーの候補(空なら全エネミーを候補に)
EXCLUDE[35] = [29, 30] # 除外するエネミー
MIN_ENEMY[35] = 3 # 最低出現数
MAX_ENEMY[35] = 6 # 最高出現数
end
#==============================================================================
# ■ Game_Troop
#==============================================================================
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● セットアップ
# troop_id : 敵グループ ID
#--------------------------------------------------------------------------
alias tmrdtrp_game_troop_setup setup
def setup(troop_id)
if TMRDTRP::ENEMIES[troop_id]
$data_troops[troop_id].members = []
if TMRDTRP::ENEMIES[troop_id].empty?
list = []
(1...$data_enemies.size).each do |id|
list[id - 1] = id unless $data_enemies[id].name == ""
end
else
list = TMRDTRP::ENEMIES[troop_id].clone
end
list -= TMRDTRP::EXCLUDE[troop_id] if TMRDTRP::EXCLUDE[troop_id]
max = TMRDTRP::MAX_ENEMY[troop_id]
max = max ? [[max, 1].max, 8].min : 6
min = TMRDTRP::MIN_ENEMY[troop_id]
min = min ? [[min, 1].max, max].min : 1
n = rand(rand(max - min + 1) + 1) + min
(0...n).each do |i|
member = RPG::Troop::Member.new
member.enemy_id = list[rand(list.size)]
space = [rand(480 / n), 64].max
member.x = ( i * space + 272 - (n - 1) * space / 2 + rand(32) - 16 ) / 3 +50
member.y = 120 + ( rand(64) + (i % 2 * 24) ) * 1.8
$data_troops[troop_id].members = member
end
end
tmrdtrp_game_troop_setup(troop_id)
end
end
|
|