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

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

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

■11578 / inTopicNo.1)  マップ終了後の残りHPの調べ方
  
□投稿者/ 鳴沢 -(2003/12/15(Mon) 23:17:03)
    質問させて貰います。
    マップ終了時にその時の全機体合計の残りHPをあらわす事は出来るでしょうか?
    (のこり?%という風に)

    その具合によって、アイテム等をつけたい物ですから。
    宜しくお願いします。
引用返信/返信 削除キー/
■11582 / inTopicNo.2)  Re[1]: マップ終了後の残りHPの調べ方
□投稿者/ マガツ -(2003/12/16(Tue) 00:02:26)

    こんにちは、マガツです。

    ターン開始時になってしまいますが、
    これなら求めている機能が入手できるかと。

    *ターン 全 全:(陣営名は全が使えないかも)
    ForEach 全 全て
    # ここでHP(対象パイロット(Or 対象ユニットID))を使うと
    # 全てのユニットのHPを求められます
    Next
    Exit
引用返信/返信 削除キー/
■11583 / inTopicNo.3)  Re[1]: マップ終了後の残りHPの調べ方
□投稿者/ 幻魔の公子 -(2003/12/16(Tue) 00:06:13)
     幻魔の公子です。


     ForEachコマンドを使えば、味方の全ユニットに対して順番に処理を行っていくことができます。
     処理は通常パイロット、ユニットに対して実行できる、たいがいのものが実行できます。そして、HPと最大HPを調べていくこともできます。

     順番にHPと最大HPを調べて、適当な変数にその合計(つまりは、調べるごとに加算していけばいいわけですが)を記録します。
     それらを使って何%かを計算し、表示すればよろしいかと。


     詳しくは、HelpのForEachコマンド、及びHP関数とInfo関数の項目を参照して下さい。


     それでは。

引用返信/返信 削除キー/
■11620 / inTopicNo.4)  やってみましたが・・・
□投稿者/ 鳴沢 -(2003/12/17(Wed) 23:12:16)
    やってみました。こんな感じでしょうか?

    ###ここから###

    戦闘終了時:

    Global 終了時HP
    Global 最大HP
    Global 終了時SP
    Global 最大SP

    Talk システム
    HPとSPを計ります。
    End

    ForEach 味方

    Incr 終了時HP Info(ユニット,味方,HP)
    Incr 最大HP Info(ユニット,味方,最大HP)
    Incr 終了時SP Info(パイロット,味方,SP)
    Incr 最大SP Info(パイロット,味方,最大SP)

    Next

    Global HP(%)
    Global SP(%)

    Incr HP(%) $((終了時HP/最大HP) * 100)
    Incr SP(%) $((終了時SP/最大SP) * 100)

    ###ここまで###

    と、記述してみたのですが「Info関数」の記述の仕方が合っているのか分かりません。
    それに、会話の後に「実行時エラー11; 0で除算しました。」と出てきます。
    何故でしょうか?

引用返信/返信 削除キー/
■11623 / inTopicNo.5)  Re[3]: やってみましたが・・・
□投稿者/ 幻魔の公子 -(2003/12/18(Thu) 00:05:56)
     幻魔の公子です。


     何故もなにも、書式が間違ってるからに決まってるではありませんか。
     他にどんな理由があるというのでしょう?


     Info関数の書式は、以下です。

    Info([データ区分,]データ,パラメータタイプ,…)

     このうちで、引数『データ』は、調べるべき対象の名称を記述します。
     ですので、

    Info(ユニット,味方,HP)

     という指定は、『味方』という名称、ないし愛称を持つユニットのデータを調べる、という指定になります。
     当然、存在しないからエラーになります。

     ちゃんと存在するユニットを指定しましょう。

     なお、ForEachコマンドはデフォルトユニットを順番に変更していくためのものです。
     ですから、ForEachのループ内でデフォルトユニットを指定するような方法でなければ意味がありません。
     つまり、そうしない限りは間違いなく誤りです。


     それから。
     $()はTalk文などの文字列の中で使うものです。
     数値データを指定するのに使うものではありません。エラーが出るかどうかは知りませんが。


     それでは。

解決済み!
引用返信/返信 削除キー/
■11625 / inTopicNo.6)  Re[3]: やってみましたが・・・
□投稿者/ マガツ -(2003/12/18(Thu) 00:28:02)

    ForEachで選択されているユニットの指定方法は
    対象ユニットID
    同パイロットは
    対象ユニット(1.6でもOK)
    対象パイロット(1.7以降)
    です。

    また、Incr は指定した変数を指定した数値(省略時1)上昇する関数です
    変数に代入するならSetですよ
引用返信/返信 削除キー/
■11626 / inTopicNo.7)  補足及び例
□投稿者/ ハク -(2003/12/18(Thu) 00:36:27)
    ハクというものです。
    幻魔の公子さんがおっしゃったこと以外に

    ・HP()という関数があるのでHP(%)は使用不可
    ・四則演算はスペースを空ける
    ・最大HPという変数もどうも使用不可らしい
    ?Globalはこの場だけの変数には不要
    ?破壊されたユニットも考慮に入れた方がいいかと

    ということもある思います。

    ForEach 味方 (出撃 格納 破壊)
     Incr 終了時のHP Info(ユニット,対象ユニットID,HP)
     Incr 最大のHP Info(ユニット,対象ユニットID,最大HP)
     Incr 終了時のSP Info(パイロット,PilotID(),SP)
     Incr 最大のSP Info(パイロット,PilotID(),最大SP)
    Next

    Incr HP% (終了時のHP / 最大のHP * 100)
    Incr SP% (終了時のSP / 最大のSP * 100)

    Talk システム
    結果:HPは$(HP%)%、SPは$(SP%)%
    End

    で動作を確認できました(SRC開発版)。参考までに。では。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -