SRC質問掲示板Mk2
(現在 過去ログ130 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■22489 / inTopicNo.1)  弾丸をアイテムで表現したい
  
□投稿者/ 鉄也 -(2011/10/28(Fri) 03:17:28) [ID:SvLstnel]
    2011/10/28(Fri) 19:42:42 編集(投稿者)


    前回の質問からあまり間も空けず申し訳ないのですが、また質問させてください。

    タイトルの通りになるのですが、通常、弾数を指定することで表現する、弾丸消費型武器を、弾丸をアイテムで表現したく思っています。
    たとえば、「弓」というアイテム装備時に「矢」というアイテムを装備可能とし、「矢」の数だけ弓矢に関する攻撃を行える。
    攻撃を行えば「矢」は消費される。という具合です。

    キモは
    1・事前に用意(装備)した弾しか使えない
    2・使えばなくなる
    3・多種の発射用アイテムと弾丸アイテムの組み合わせ
    4・対応した発射用アイテムでのみ使用可能。
    (弓系で銃弾・銃系で矢などは撃てない)
    5・発射用アイテムはステージ中持ち替えあり←※これはちょっとややこしくなってきたのでいったん保留します。
    といったところになります。

    追記
    オンラインRPGなどでよく見る、「片手に弓・もう片手に矢(複数)」的な装備が理想です。
    例として自分がやったゲームだとマビノギなどでの弓の扱いが近いイメージです。
引用返信/返信 削除キー/
■22490 / inTopicNo.2)  Re[1]: 弾丸をアイテムで表現したい
□投稿者/ かせうか -(2011/10/28(Fri) 07:38:53) [ID:3ylxFxEf]
http://fesrc.blog.fc2.com/
    2011/10/28(Fri) 07:52:37 編集(投稿者)
    2011/10/28(Fri) 07:50:54 編集(投稿者)
    2011/10/28(Fri) 07:49:49 編集(投稿者)
    2011/10/28(Fri) 07:45:01 編集(投稿者)

    おはようございます。

    もしかしたらベストな方法ではないかもしれませんが、私ならこうする、という方法を提案させて頂きます。

    1.発射用アイテムに非表示の特殊能力「(発射用アイテム名)対応弾」を持たせ、解説に、対応する弾を"弾丸名1 弾丸名2"という形式で記述する

    2.弾装備用のユニットコマンドを作る。概要は次の通り
      I.持っている発射用アイテムを判別し、なおかつユニットコマンドを表示するかどうか判定するサブルーチンを作り、ユニットコマンド使用の条件式からCallする
        i.ユニットの持つ特殊能力を全て調べる。
         特殊能力名に「対応弾」を含むものから「対応弾」を除いた文字列(発射用アイテム名)を
         配列に記憶していき、最後、配列の要素の数が0でなければ1を返す(ユニットコマンドを表示する)
      II.どの発射用アイテムに弾を装備するかAskコマンドで尋ねる。
     III.どの弾を装備するかAskコマンドで尋ねる。
       対応する弾は特殊能力「(発射用アイテム名)対応弾」の解説にあるので、リスト処理関数を用いながら、
       持っているものだけ対応弾を配列に入れ、それを表示させる。
       配列が空なら対応弾を持っていない旨を表示等
      IV.二回のAskコマンドの入力から、発射用アイテムと弾をセットにした
       武器情報だけを持つアイテムをユニットに装備する。
       この時、持っているアイテム名を全て調べ、既に上記のようなアイテムを
       装備しているなら、それを消去する。

    次に弾数についてです。
    こちらは弾丸アイテムに必要技能を持つ実質使用不可能な武器(弾丸名)を用意し、
    それに共属性を持たせ、上記の「発射用アイテムと弾をセットにした武器」の弾数と連動させると良いかと思います。(この方法だと同じ弾を複数持てないのが難ですが‥)

    弾が切れた時なくなるのは、常時イベントラベルに指定した攻撃後イベント及び破壊イベントで、
    上のような方法を用いて対応するアイテム(セット武器アイテム、弾丸アイテム)を消去してしまえば良いかと思います。

    早朝から長文を書いたので、後半ちょっとグダグダになってしまいました。ごめんなさい。

    参考になれば幸いです。それではっ
引用返信/返信 削除キー/
■22492 / inTopicNo.3)  Re[1]: 弾丸をアイテムで表現したい
□投稿者/ RST -(2011/10/28(Fri) 12:50:58) [ID:3OCqustr]
    RSTです。
    かせうかさんとは別に、なるべくデータの設定だけで実現させる方法も考えてみました。

    ユニットデータに下のような能力を持たせておき、

    # ユニット能力例 -----------------------------------------------------------------

    装備個所=腕
    武器クラス=弓 銃
    ハードポイントLv3=弾丸アイテム

    # -----------------------------------------------------------------------------


    次のような発射用アイテムと弾丸アイテムを用意します。

    # 発射用アイテム例 ---------------------------------------------------------------

    鉄の弓
    鉄の弓, 弓, 片手
    ---
    中略
    ---
    *矢を撃つために必要な武器

    ※ アイテムクラス以外の記述は、アイテムデータの書式に合っていれば適当でOK。
      ただし、発射用アイテム自体には武器は設定しない。


    # 弾丸アイテム例

    鉄の矢
    鉄の矢, 矢, 弾丸アイテム
    ---
    中略
    ---
    鉄の矢, 1000, 1, 4, +0, 10, -, -, AACA, +10, 実共L1(弓装備 アイテム)
    鉄の矢・連射, 1500, 1, 4, +10, 5, -, -, AACA, +10, 実共L1(弓装備 アイテム)
    *弓系の武器を装備しているときだけ、鉄の矢による攻撃が可能になる

    ※ 武器(攻撃方法)は弾丸アイテムに設定する。
      装備個所を「弾丸アイテム」に、武器の必要技能に「(弓装備)」と「アイテム」を指定。
      (銃の弾丸を作るときは、アイテムクラスを「銃」、武器の必要技能を「(銃装備 アイテム)」のように適当に変更してください)
     「共」属性を持たせる場合は、弾丸アイテムごとにレベルを変える。

    # --------------------------------------------------------------------------------

    これらのアイテムをユニットに装備させることで、
    「特定の種類の発射用アイテムを装備しているときだけ、それに対応した弾丸アイテムを消費して攻撃ができる」
    という状況が作れると思います。
    (「鉄の矢」を装備しているときに「鉄の弓」も一緒に装備することで、武器の必要技能を満たして攻撃できるようになる)

    それと、5.の発射用アイテムをステージ中に持ち替える処理は、
    上のアイテム例ならば、ExchangeItemコマンドで「片手」だけ交換させれば良いと思います。

    こちらも参考になれば幸いです。
引用返信/返信 削除キー/
■22494 / inTopicNo.4)  Re[2]: 弾丸をアイテムで表現したい
□投稿者/ 鉄也 -(2011/10/28(Fri) 16:07:15) [ID:SvLstnel]
    2011/10/28(Fri) 16:56:05 編集(投稿者)

    回答どうもです。
    まず簡単に試せるこちらからためさせていただきました。
    このやり方の場合なんですが、実際に試してみたところ、「使いきらなかった場合に弾が回復する」というのが自分的には問題でした。
    似たようなもので、1発ずつのアイテムを複数装備させる方向も考えてたんですが、こっちだと武器が装備した数だけ表示されるのが難点でした。
    こっちの場合、複数装備でも1つづつで表示する方法があればほぼ解決ですが。

    実際に作った実験用のアイテムデータは以下になります。
    ※実験用なので必要技能や装備制限の細かいところはまだ設定していません。


    弓, ゆみ, 弓, 盾
    特殊能力
    武器強化Lv10=矢
    0, 0, 0, 0, 0

    矢筒
    矢筒, やづつ, 矢, 片手
    特殊能力
    ハードポイントLv10=弾丸
    0, 0, 0, 0, 0


    矢, 矢, 矢, 弾丸
    特殊能力
    パイロット能力強化=矢数Lv1
    0, 0, 0, 0, 0
    矢, 500, 2, 10, +30, 1, -, -, AAAA, +0, 実矢(弓装備 アイテム)

    鉄の矢
    鉄の矢, 鉄の矢, 矢, 弾丸
    特殊能力
    パイロット能力強化=矢数Lv1
    0, 0, 0, 0, 0
    矢, 500, 1, 10, +30, 10, -, -, AAAA, +0, 実矢(弓装備 アイテム)
引用返信/返信 削除キー/
■22495 / inTopicNo.5)  いったん解決
□投稿者/ 鉄也 -(2011/10/28(Fri) 20:16:58) [ID:SvLstnel]
    どうも。
    かせうかさん・RSTさんのアドバイスを複合した結果、形は見えてきたのでいったん解決にします。
    ありがとうございました。

    実際に完成させるにはほかに考えていた、戦闘中の装備変更のシステムを先に作る必要が出てきたので、またそちらで質問を投稿する事があるかもしれません。
    そのときはまたよろしくお願いします。
解決済み!
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -