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

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

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

■10904 / inTopicNo.1)  特定のユニットに攻撃が命中したと きのイベント
  
□投稿者/ 章 -(2003/10/30(Thu) 12:06:45)
     こんにちわ。章です。

     あるユニット(a)が相手ユニット(b)に特定の武器(α
    )で攻撃し、それが相手に命中したときにイベントが発生する
    ようにしたいのですが、どのようにしたら良いのでしょうか?

     また、相手ユニットがマップ上に沢山出てくるザコユニット
    の場合、一人一人にIDをつけてイベントをつくらないといけ
    ないのでしょうか? 

     どうかご回答をよろしくお願いします。

引用返信/返信 削除キー/
■10906 / inTopicNo.2)  Re[1]: 特定のユニットに攻撃が命中したと きのイベント
□投稿者/ GAMEMASTER -(2003/10/30(Thu) 13:12:52)
http://nagoya.cool.ne.jp/gamemaster/
     お初にお目にかかります。
     SRCユーザーの1人「GAMEMASTER」と申します。

    >  あるユニット(a)が相手ユニット(b)に特定の武器(α
    > )で攻撃し、それが相手に命中したときにイベントが発生する
    > ようにしたいのですが、どのようにしたら良いのでしょうか?

     まず、イベントラベルはあるユニット(a)の特定の武器(α)に対する「使用イベント」及び「使用後イベント」、この組み合わせを使用します。
     この時、攻撃された相手ユニット(b)に関してはシステム変数「相手ユニットID」で特定出来ます。

     命中した時にイベントを発生させるには、攻撃前と攻撃後の状態を比較して命中したかどうかを攻撃後に条件分岐させるという手順になります。
     具体的な記述に関してはその武器次第で変化します。単にダメージを与えるだけの武器であれば、攻撃前後のHPを比較すれば命中したかどうかわかるでしょう。


     使用 あるユニット(a) 特定の武器(α):

     If 相手ユニットID <> 相手ユニット(b) Exit

     使用前HP = HP(相手ユニットID)

     Exit


     使用後 あるユニット(a) 特定の武器(α):

     If HP(相手ユニットID) = 使用前HP Exit

     (命中させた時のイベント)

     Exit


    >  また、相手ユニットがマップ上に沢山出てくるザコユニット
    > の場合、一人一人にIDをつけてイベントをつくらないといけ
    > ないのでしょうか? 

     上にある「ユニットID」を使用すれば複数のユニットの中から1機だけを特定させることが出来ます。このユニットIDはユニット作成時に自動的に与えられ、手動で与える必要はありません。
     特にイベントに関与したユニットはシステム変数「対象ユニットID」「相手ユニットID」で特定出来るので活用しましょう。

     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■10919 / inTopicNo.3)  Re[2]: 特定のユニットに攻撃が命中したと きのイベント
□投稿者/ 章 -(2003/10/31(Fri) 12:30:06)
     はじめましてGAMEMASTERさん。お早いご回答あり
    がとうございます。

     攻撃が命中したときのイベントを行えるようになりましたが
    、別の問題がおきてしまいました。

    1)攻撃が命中したときに、「Disable」でユニット特殊能力
    (β)を消すようにしたいのですが、

     Disable 相手ユニットID β

     と指定してもユニット特殊能力が消せません。ヘルプを見る
    と「ユニットの名称」となっているのですが「Disable」では
    IDは使えないのでしょうか? また、使えない場合はどのよ
    うに指定したら良いのでしょうか。

    2)一度イベントが発生したユニットには、二度同じイベント
    が発生しないようにしたい場合はどうしたら良いのでしょうか
    ?「ClearEvent」では他のユニットに対してもイベントが発生
    しなくなってしまうので。

     以上になります。どうか、ご回答のほうをよろしくお願いし
    ます。

引用返信/返信 削除キー/
■10920 / inTopicNo.4)  Re[3]: 特定のユニットに攻撃が命中したと きのイベント
□投稿者/ GAMEMASTER -(2003/10/31(Fri) 13:19:32)
http://nagoya.cool.ne.jp/gamemaster/
     GAMEMASTERです。

    > 1)攻撃が命中したときに、「Disable」でユニット特殊能力
    > (β)を消すようにしたいのですが、
    >
    >  Disable 相手ユニットID β
    >
    >  と指定してもユニット特殊能力が消せません。ヘルプを見る
    > と「ユニットの名称」となっているのですが「Disable」では
    > IDは使えないのでしょうか? また、使えない場合はどのよ
    > うに指定したら良いのでしょうか。

     ユニットIDはユニット名称と同等に扱えますので、書式はそれで構いません。
     但し、ユニット特殊能力(β)も同様に名称で指定する必要があります。特殊能力に別名を与えている場合、その別名で指定してもDisableコマンドは動作しません。

    > 2)一度イベントが発生したユニットには、二度同じイベント
    > が発生しないようにしたい場合はどうしたら良いのでしょうか
    > ?「ClearEvent」では他のユニットに対してもイベントが発生
    > しなくなってしまうので。

     まず、イベントが発生したユニットを配列に記録するようにします。


     イベント発生済み[相手ユニットID] = 1


     その上で、相手が既にイベントを発生させていた場合イベントの処理を中断するようにイベントの最初で条件分岐させましょう。


     使用 あるユニット(a) 特定の武器(α):

     If イベント発生済み[相手ユニットID] = 1 Exit

     (イベント本文)

     Exit


     使用後 あるユニット(a) 特定の武器(α):

     If イベント発生済み[相手ユニットID] = 1 Exit

     (イベント本文)

     イベント発生済み[相手ユニットID] = 1

     Exit


     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■10921 / inTopicNo.5)  Re[4]: 特定のユニットに攻撃が命中したと きのイベント
□投稿者/ 章 -(2003/10/31(Fri) 16:34:00)
     ご回答ありがとうございます。
     同じ相手に同じイベントが発生しないようにするのは成功し
    たのですが、相手ユニットのユニット特殊能力の封印がうまく
    いきません。

     使用 あるユニット(a) 特定の武器(α):
     If 相手ユニットID <> 相手ユニット(b) Exit 
    If イベント発生済み[相手ユニットID] = 1 Exit
     使用前HP = HP(相手ユニットID)
     Exit

     使用後 あるユニット(a) 特定の武器(α):
    If イベント発生済み[相手ユニットID] = 1 Exit
     If HP(相手ユニットID) = 使用前HP Exit
    Disable 相手ユニットID HP回復
     Exit

     封印したい能力は「HP回復」です。どこかおかしいところ
    があるでしょうか?
     いろいろと改良してみても、同じ名前のユニットすべてがH
    P回復を封印されたることはあっても、相手ユニット一人だけ
    が封印されることがありません。
     ご回答をいただければ幸いです。

引用返信/返信 削除キー/
■10922 / inTopicNo.6)  Re[5]: 特定のユニットに攻撃が命中したと きのイベント
□投稿者/ GAMEMASTER -(2003/10/31(Fri) 17:19:48)
http://nagoya.cool.ne.jp/gamemaster/
     GAMEMASTERです。

    >  同じ相手に同じイベントが発生しないようにするのは成功し
    > たのですが、相手ユニットのユニット特殊能力の封印がうまく
    > いきません。
    >
    >  使用 あるユニット(a) 特定の武器(α):
    >  If 相手ユニットID <> 相手ユニット(b) Exit 
    > If イベント発生済み[相手ユニットID] = 1 Exit
    >  使用前HP = HP(相手ユニットID)
    >  Exit
    >
    >  使用後 あるユニット(a) 特定の武器(α):
    > If イベント発生済み[相手ユニットID] = 1 Exit
    >  If HP(相手ユニットID) = 使用前HP Exit
    > Disable 相手ユニットID HP回復
    >  Exit
    >
    >  封印したい能力は「HP回復」です。どこかおかしいところ
    > があるでしょうか?
    >  いろいろと改良してみても、同じ名前のユニットすべてがH
    > P回復を封印されたることはあっても、相手ユニット一人だけ
    > が封印されることがありません。
    >  ご回答をいただければ幸いです。

     詳細に調べたところ、DisableコマンドにユニットIDは使用出来ませんでした。
     一方、ユニット名称を指定すると同名のユニット全てに対してDisableコマンドが使用される模様です。
     DisableコマンドにユニットIDが使用出来ないのは仕様ですが、ユニット名称による一括適用に関しては仕様かバグか不明です。

     相手ユニットIDの取得は正常に行われていましたので、他の手段を考える方が適切かもしれません。
     例をあげると、封印の対象となる特殊能力はアイテム化してユニット作成時にEquipコマンドで装備させ、イベント発生時にRemoveItemコマンドでアイテムを削除して特殊能力を失わせるという手があります。

     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■10927 / inTopicNo.7)  Re[6]: 特定のユニットに攻撃が命中したと きのイベント
□投稿者/ 幻魔の公子 -(2003/10/31(Fri) 21:06:22)
     幻魔の公子です。

     ちょいと補足を。
     Disableの動作がバグか仕様か不明とのことですが、その点に関してです。


     HelpのDisableの項目によると、

    >Disable [unit] name

     という書式において、

    >unit ユニットの機体名称(省略可)
    > メインパイロット名ではありません

     ということになっています。
     そして、ユニットIDを『unit』に指定できる際にはおおよそ『メインパイロット名またはユニットID』というようにユニットIDが使えることが明記されており、またユニット名よりはパイロット名と並列して記されるのが通常です。

     ですので、ユニットIDが使えないのは仕様ではないかと。


     また、同名の全機体一括なのは、名称では特定のユニットを識別しようがないのでこちらも仕様でしょう。


     それでは。

引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -