上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ココログはどうにもつかいづらかったので、3ヶ月振りにこちらへ舞い戻ってきました。
先週土曜日、晴れてRPGツクールVXなど入手できましたので、これからちょこっとずついじって生きたいと思います。

第1目標:世紀のクソゲーでも良いので完成させること。

で、VXと言えば奥さん、そう、RGSS2なのですよ。
昔、PS2で出たツクール5は非常にいい線まで行っていながら、操作性が悪いなど痒い所に手が届かず歯がゆい思いをしました。今回はその雪辱戦。ツクールシーリーズは実に2000Value以来なのですョ

で、取り敢えずデフォ戦やってみましたが・・・

なにこれ!ダメージでけえ!
なにこれ!すっげぇとろい!
(その上背景なにこれ!)

そういうわけで、この辺りをスクリプトいじって直してみたいと思います。 ~解決編~

1.なにこれ!すっげぇとろい!


ちょっと見れば分かりますが、つまりウェイトを短くすればいいわけですね。

Scene_Battle

950 #--------------------------------------------------------------------------
951 # ● 通常アニメーションの表示
952 # targets : 対象者の配列
953 # animation_id : アニメーション ID
954 # mirror : 左右反転
955 #--------------------------------------------------------------------------
956 def display_normal_animation(targets, animation_id, mirror = false)
957  animation = $data_animations[animation_id]
958  if animation != nil
959  to_screen = (animation.position == 3) # 位置が「画面」か?
960  for target in targets.uniq
961  target.animation_id = animation_id
962  target.animation_mirror = mirror
963  wait(20/2, true) unless to_screen # 単体用ならウェイト
964   end
965   #wait(20, true) if to_screen # 全体用ならウェイト
966   wait(20/2, true) if to_screen # 全体用ならウェイト
967   end
968  end


適当にwaitの引数を小さくしてやるだけでok。あまり小さくしすぎると本当に早すぎてなにがなにやらわからんので注意。
あぁ、この辺のバトルスピードとかコンフィングで出来たりしたら最高だな。簡単なので以上


2.なにこれ!ダメージでけえ!

一番やりたいのは、やはり戦闘計算式の変更ですよ。何をおいてもこれがしたい。
RGSSは全く分けわかめですが、まあ数字をいじるくらいだしなんとか出来るだろうと思って、行き当たりばったりやってみました。

Game_Battler

631 #--------------------------------------------------------------------------
632 # ● 通常攻撃によるダメージ計算
633 # attacker : 攻撃者
634 # 結果は @hp_damage に代入する。
635 #--------------------------------------------------------------------------
636 def make_attack_damage_value(attacker)


この辺りね。

damage = attacker.atk * 4 - self.def * 2 # 基本計算


なるほど、これはダメージが馬鹿でかいわけだ。ドラクエ寄りの戦闘式が作りたかったので、変更してみました。

damage = attacker.atk - self.def / 2


ドラクエの倍のダメージだけど、これでいきます。
※ドラクエは(攻撃力/2)-(防御力/4)

あと、レベル補正をつけてみたかったのでこんな感じにしてみました。

if @active_battler.is_a?(Game_Enemy)
   #敵のみの処理(何もなし)
else
  damage *= (20 + attacker.level )
  damage /= 20
end


レベルは味方にしかないのですが、その判定の仕方がよくわからないので、上記のように力技で無理矢理作ってみました。[if @active_battler.is_a?(Game_Actor)]ではダメな理由が分からん・・・。


こんな感じで、初歩的な改変をこれからもちょくちょく公開できたらいいなあと思います。
超後追いで、先人方が沢山いらっしゃるのでこの記事はホントに自己満足に過ぎないですがw
スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

アクター判定は
if attacker.actor?
でいけると思うのですが
違ったらごめんなさい。
2008/09/13 21:32 |ちょっと見た人 #-URL[ 編集 ]

なるほど!こんな簡単に出来るんですね。
結局上記の処理はアクター/エネミーの判定をしなくてもいい様に作っちゃったんですが、ぜひ今後のために参考にさせていただきたいと思います。

ありがとうございました~!
2008/09/14 00:05 |extrier@管理人 #E6kBkVdoURL[ 編集 ]

コメントの投稿

URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック

この記事にトラックバックする(FC2ブログユーザー)
powered by
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。