スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

web拍手 by FC2   

[RGSS]ランダムトループ

使い方は → こちら

[RGSS]ランダムトループ
戦闘時の敵がランダムになるトループを作成できます。 おまけで、パーティ内最高レベルで出現する敵が変わるトループも作成できます。

スクリーンショット サムネイルクリックで拡大画像が見られます。
rgss_randtro1.jpg   rgss_randtro2.jpg

プログラムは続きにあります。

=begin
===========================================================================
  ☆★☆★☆★☆★ ランダムトループ ★☆★☆★☆★☆
===========================================================================

 製作・開発:STERS

  Page::http://stersblog.blog15.fc2.com/

導入方法------------------------------------------------------------------

    このスクリプトを Scene_Debug より下 Main より上に
   新しく作ったセクションにコピペして入れてください。
    
--------------------------------------------------------------------------

これを導入することで
ランダムトループ
(戦闘時、ランダムな敵で出現する。)
ができるようになります。

使い方--------------------------------------------------------------------
1.まずはこのスクリプトを導入してください。

2.設定項目を指定してください。

3.戦闘をすると、敵がランダムに出現します。

--------------------------------------------------------------------------
《ランダムトループ》以外に、《レベル変化トループ》が付いております。

《レベル変化トループ》:こっちのレベルに応じて、敵も変わる。
--------------------------------------------------------------------------
=end
module Random_Troop
  #----------------------------------------------------------------------------
  # ランダムトループID=>[[敵ID,敵ID...],最小数,最大数,スペース]
  #----------------------------------------------------------------------------
  #
  #    敵ID     → エネミーのIDのこと。
  #    最小数   → 出現する最小の敵の数。
  #    最大数   → 出現する最大の敵の数。
  #    スペース → 敵と敵との間隔。
  #
  #----------------------------------------------------------------------------
  # レベル変化トループID=>[true,{レベル最高値(数値以上)=>[トループID..]...}]
  #----------------------------------------------------------------------------
  #  
  #  レベル最高値(数値以上) → パーティ内の最高レベル。
  #  トループID             → 出現するトループのID
  #
  #  同一レベル内でトループIDが複数ある場合は、
  #  その中からランダムで選ばれる。
  #  (例
  #     2=>[true,{1=>[1,2],10=>[3,4], 15=>[5,6], 20=>[7,8], 25=>[9,10]}]
  #   の場合、
  #    1  ~ 9  レベルでは、1 か 2 のトループ
  #    10 ~ 15 レベルでは、3 か 4 のトループ
  #    15 ~ 20 レベルでは、5 か 6 のトループ
  #    20 ~ 25 レベルでは、7 か 8 のトループ
  #    25 以上のレベルでは、9 か 10 のトループ
  #   が出現します。)
  #
  #===========================================================================
  ID = { # ← 消去禁止。
  
       # ランダムトループ
       1=>[[1,2,3,4,5,6,7,8],1,5,130],
       # レベルで変化するトループ
       2=>[true,{1=>[1,2],10=>[3,4], 15=>[5,6], 20=>[7,8], 25=>[9,10]}],
       
      } # ← 消去禁止。
  #-------------------------------------------------------------
  # トループの中心座標
  #-------------------------------------------------------------
  #    通常、ツクールで《整列》を押すと、トループの中心座標は、
  #         X : 320
  #         Y : 304
  #                   になります。
  #
  BASE_X = 320
  BASE_Y = 304
#=======================================================================
#  スクリプト本体
#=======================================================================
  def self.troop_set
    flag = false
    ID.each{|a,b|
      if b[0] == true
        flag = true
        next
      end
      troop = []
      size = b[1] + rand(b[2]-b[1]+1)
      x = BASE_X - b[3] * (size / 2)
      x += b[3] / 2 if size % 2 == 0
      for i in 0...size
        troop.push(RPG::Troop::Member.new)
        troop[i].enemy_id = b[0][rand(b[0].size)]
        troop[i].x = x
        troop[i].y = BASE_Y
        x += b[3]
      end
      $data_troops[a].members = troop.clone
    }
    self.level_troop if flag
  end
  def self.level_troop
    ID.each{|a,b|
      next if b[0] != true
      max = 0
      $game_party.actors.each{|s| 
        max = max < s.level ? s.level : max
      }
      troop = 1
      o = []
      b[1].each{|s,c| o.push(s)}
      o.sort.reverse.each{|s|
        next if s >= max
        troop = s
        break
      }
      if b[1][troop].is_a?(Array)
        $data_troops[a].members = 
             $data_troops[b[1][troop][rand(b[1][troop].size)]].members.clone
      else
        $data_troops[a].members =
              $data_troops[b[1][troop]].members.clone
      end
    }
  end
end
class Scene_Battle
  alias random_troop_main main unless $@
  def main
    Random_Troop.troop_set
    random_troop_main
  end
end

web拍手 by FC2   

コメントの投稿


非公開コメント

コメント

STERS's Development Room

STERSの開発室っぽい何か。


プロフィール

Name:STERS
Unity3D/C#/PHP/js/C++/VB
などを勉強中です

[STERS's Room]
[ファイル置き場]

カテゴリー
最近の記事
最近のコメント
カレンダー
06 ≪│2017/07│≫ 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
RSSリンクの表示
ブログ内Google検索
Google
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。