土の中雲の中あの娘のスカートの中

女湯作った。

女湯1

前々回講座の「水中判定」を使って……
って、どうみても服着とるやないかーい


改良。

女湯2

これで満足か?


……これって僕が総勢80人分の裸グラを作らないといかんのでは?
(乗り移り候補が80人いるため)


顔がそのまま行けるやつはまだしも、兜被ってるやつとかめんどくね?


思ったより難関だぞ女湯。
いや男湯もだが。


さて、昨日研修だったので次の講座は来週にしようかと思いましたが、びっくりする事実が発覚したので急遽RGSS2講座第9回

エンカウント。


以前やるやる詐欺でやらなかったエンカウントですが、女湯作ろうとして水中判定をいじっているうちにとんでもない事実に気が付きました。

ツクールVXのデフォ仕様で、
茂みの中ではエンカウント率が2倍になる。



ポケモンですか?



というわけで、前々回講座の水中判定を使用すると、水中でもエンカウント率が2倍になります
こりゃいかん。

その仕様をなくしたい人は、以下の箇所をいじりましょう。

Game_Player
エンカウント1

#--------------------------------------------------------------------------
# ● エンカウントの更新
#--------------------------------------------------------------------------
def update_encounter
  return if $TEST and Input.press?(Input::CTRL) # テストプレイ中?
  return if in_vehicle? # 乗り物に乗っている?
  if $game_map.bush?(@x, @y) # 茂みなら
    @encounter_count -= 2 # カウントを 2 減らす

  else # 茂み以外なら
    @encounter_count -= 1 # カウントを 1 減らす
  end
end


もうおわかりですな!!
-= 2 を -=1 にすれば茂みだろうが水中だろうがいつも通りです。
ちなみに茂みだけ -= 1 にして他を -= 0 にするなり消すなりすれば、茂みのみエンカウントするという仕様にもできます。



ポケモンですか?



また、水中判定スクリプトを導入したけど茂みだけエンカウント2倍にしたいという方は以下のようにしましょう。

#--------------------------------------------------------------------------
# ● エンカウントの更新
#--------------------------------------------------------------------------
def update_encounter
  return if $TEST and Input.press?(Input::CTRL) # テストプレイ中?
  return if in_vehicle? # 乗り物に乗っている?
  bush = $game_map.bush?(@x, @y)
  if bush == 1 # 茂みなら
    @encounter_count -= 2 # カウントを 2 減らす
  else # 茂み以外なら
    @encounter_count -= 1 # カウントを 1 減らす
  end
end

これで、水中判定に関するフォローは終了です。


ではせっかくなので、ここからエンカウントの仕様について説明します。
先ほどのGame_Playerのだいぶ上を見ます。

エンカウント2
#--------------------------------------------------------------------------
# ● エンカウント カウント作成
#--------------------------------------------------------------------------
def make_encounter_count
  if $game_map.map_id != 0
    n = $game_map.encounter_step
    @encounter_count = rand(n) + rand(n) + 1 # サイコロを 2 個振るイメージ
  end
end


サイコロを2個振るイメージですか、そうですか。


ようするに、

1.マップで設定したエンカウント歩数を「サイコロの面の数」とする
2.そのサイコロを2回投げた数+1を、次のエンカウントまでの歩数とする
3.茂みの中を歩いている場合のみ1歩につき2回カウントする


というのがツクールVXデフォのエンカウント仕様です。


なんでサイコロふたつなん?

と思った人は、このサイトでも見て勉強しましょう。
http://wepon.at-ninja.jp/encounter.html


サイコロひとつの場合、上記サイトの「すごろく方式」に当てはまるわけですが、サイコロをふたつにすることによって山なりの分布になります。(このサイトの言うところの「コイントス方式」に近づく)

エンカウントの方式はゲームによって違って奥が深いんでっすよ。
あなたも独自のエンカウント方式を設定してみてはいかがっか。

誰にも気づかれませんけど。


ちなみにももの場合、ダンジョン内は上記のデフォエンカウントですが、町のみ独自エンカウントを採用しております。(時間停止時のみ出現かつテンションゲージによって敵レベルを変えるため)
計算式は、戦闘終了時に次のエンカウントまでの歩数を20~80にする、です。

サイコロ1個です。超適当です。



まあ、誰も気づかないよ。

独自エンカウントを採用する場合、イベントの強制移動中にエンカウントしないように気を付けなよ。
ももで一回やらかしたので。

独自エンカウントの講座じゃないので説明しませんけど。



それではまた次回。
次は需要なさそうな名前入力の話をするかも?

かげろうでした。


※追記
何回か「茂みはエンカウント率2倍」と書きましたが、これは正確ではありません。厳密には「茂みの中で歩くと次のエンカウントまでのカウントの増加率が2倍」です。



RGSS2講座目次

RGSS2講座第10回
スポンサーサイト

コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR