スポンサーサイト

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

記事132:唐突解説

e122.jpg
オンラインは今こんな感じです。とりあえず集めるもの集めてそれなりに鍛え終わった感じ。


今回新たな技を作るにあたって色々してたらダメージ計算式が500行を突破しました。
基本的には3行程度のifが大量にあるだけなんで把握は容易いんですが、
完全にこのゲーム専用になってしまっています。

・if actor?
行動の対象が味方か敵かを判定する、結構大事な条件文。
敵味方で計算式を変えられるっていうのは結構大事です。
まどTASの場合、味方側の計算式にのみ、敵撃破でSG回復とかそういう記述が入っていて、
敵が味方を倒したときに回復したりしないようになっています。

・if state?(80)
・if user.state?(80)
ステート判定ですね。上のは攻撃対象、下のは行動実行者がID80のステートに
かかっているかどうかを判定しています。被ダメージを0にするステートとかは上、
攻撃のダメージが2倍になるとかは下を使って実現しています。

・add_state(80)
・remove_state(80)
で、今度はステートの付与と解除です。ダメージ0だと、被ダメージ時に解除という項目が
働いてくれないので、こいつで無理矢理操作します。ステート耐性とかもこれを使えば無視できます。

・$actor_id = @active_battler.id if @active_battler.actor?
・$game_variables[25] = $actor_id
そしてID関連。行動実行者のアクターIDを変数25に突っ込んでます。
適当なところに入れてやれば誰が行動してるか分かるので、
if state?(80) && $game_variables[25] == 10
とか書いてやれば、敵がステート80の時にアクター10が攻撃するとこういうダメージに!
なんて事が出来るので、弱点を見抜くイクスフィーレを使用後、その相手に対して
イクスフィーレ実行者が攻撃するとダメージ増加、みたいな面倒な判定もできるわけです。

・rand(100) < user.cri
クリティカル判定…というか確率判定。
0~100の数字のどれかがrand(100)の部分に入るんで、その値が
クリティカル率user.criより低いとクリティカルになるわけです。

・if user.hp >0
・if self.hp >0
最後にHP。上が行動実行者、下が行動の対象の現在HPが0以上である、という条件文です。最大値はmaxhp。
こいつを活用することで、敵撃破時にSG回復とかできるわけです。

これらが大量に並んでいるわけですが、フリーのスクリプトとか使うより色々できて楽しいです。
以上、小ネタでした。なんか久々にこのブログらしいツクラー向けの記事書いた気がします。
スポンサーサイト

コメントの投稿

非公開コメント

No title

なるほどよくわかりまs(ry
昔取ってたC言語の授業を思い出す記事でした…
メカ弄りは好きだけど、長時間のPC作業は苦手です><
プロフィール

風影七市

Author:風影七市

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
まどかオンライン
検索フォーム
RSSリンクの表示
リンク
QRコード
QR
ブロとも申請フォーム

この人とブロともになる

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