2012年12月12日水曜日

[RGSS3] 先制攻撃の確率

先制攻撃の確率について、調べてみました。

  #--------------------------------------------------------------------------
  # ● 先制攻撃の確率計算
  #--------------------------------------------------------------------------
  def rate_preemptive(troop_agi)
    (agi >= troop_agi ? 0.05 : 0.03) * (raise_preemptive? ? 4 : 1)
  end

パーティの敏捷性平均が 敵グループの敏捷性
 以上の場合、0.05
 未満では、0.03

raise_preemptive? は、先制攻撃率アップの特徴を持っているかどうかなので
 持っている場合は、4
 持っていない場合は、1倍でそのまま

0.05、0.03、4、1
それぞれの倍数は決め打ちですので
この値を変更すれば、先制確率は変更されると思います。

※不意打ちも似たような感じでした。


2012年11月1日木曜日

[RGSS3] 戦闘中のメッセージに改行追加

デフォルトのシステムで気になる箇所があった場合
メモっておいて、後で時間が出来たとき修正するようにしています。

たとえば、以下
  #--------------------------------------------------------------------------
  # ● 戦闘開始
  #--------------------------------------------------------------------------
  def self.battle_start
    $game_system.battle_count += 1
    $game_party.on_battle_start
    $game_troop.on_battle_start
    $game_troop.enemy_names.each do |name|
      $game_message.add(sprintf(Vocab::Emerge, name))
    end
    if @preemptive
      $game_message.new_page  # 追加
      $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))
    elsif @surprise
      $game_message.new_page  # 追加
      $game_message.add(sprintf(Vocab::Surprise, $game_party.name))
    end
    wait_for_message
  end

@preemptive が先制攻撃の時
@surprise が不意打ちの時

それぞれいったん改行してから、「~は不意をつかれた!」
などのメッセージを出すようにしています。

きっと今までプレイしたRPGが、しみついてるんだろうなぁ

2012年8月9日木曜日

[RGSS3] 戦闘中のメッセージ速度を変更する



戦闘のメッセージ表示速度の変更

初期値は20

早くしたい場合、減らす
ゆっくりにしたい場合、増やす

#==============================================================================
# ■ Window_BattleLog
#------------------------------------------------------------------------------
#  戦闘の進行を実況表示するウィンドウです。枠は表示しませんが、便宜上ウィンド
# ウとして扱います。
#==============================================================================
class Window_BattleLog
  #--------------------------------------------------------------------------
  # ● メッセージ速度の取得
  #--------------------------------------------------------------------------
  def message_speed
    return 30 # デフォルト20
  end
end

BattleLogって調べてみたけど、ちょっとフォントとか変更したくても大変・・・

2012年7月7日土曜日

[RGSS3] マップ画面 ボタン処理の追加

マップ画面で、ボタンを押したときの処理を追加してみた

aliasを定義して、オリジナルの処理に追加する

#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  マップ画面の処理を行うクラスです。
#============================================================================== 
class Scene_Map
  alias org_update_scene update_scene  # alias定義
  def update_scene
    org_update_scene   # オリジナルの処理を残しておく
    add_original_Map_Shortcut                         # 参考:ヘルプ
  end
  def add_original_Map_Shortcut
    (Sound.play_ok ; SceneManager.call(Scene_Item)) if
Input.press?(:X)  # アイテムメニューを呼び出す
  end
end


・Input.press?(:X)
  :X = キーボードのAキーに対応
  :Y = キーボードのS
  :Z = キーボードのD


2012年6月10日日曜日

[RGSS3] IF文のメモ

Ruby (RGSS3)で、If 文を利用する際のメモ


※以下のような構文、使いこなせるようになりたいなぁ・・・


■基本
If value > 1 then
  print "test!"
else
  print "test 2!"
end
  value が 1 より大きい場合と、それ以外の処理


■装飾子
print "test 3!" if value > 2
  value が 2 より大きい場合 test3! と出力


■省略
value > 3 ? print "test 4" : print "test 0"
  value が 3 より大きい場合 test 4 と出力、それ以外の場合 test 0 と出力


省略の形が、かなり使いやすいです


間違いなどありましたら、ご指摘いただけたら嬉しいです。


2012年5月4日金曜日

ゲーム製作ブログ開始

現在製作中のゲームについて、投稿していこうと思います

ツールはRPGツクール VX Aceを使用しています

よろしくお願いします!