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

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

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

■14313 / inTopicNo.1)  長くて失礼します。底力について
  
□投稿者/ 瑪雲 -(2004/06/14(Mon) 01:46:47) [ID:HIONnCJ0]
    2004/06/14(Mon) 01:48:54 編集(投稿者)

    長い文章になりますが失礼します。

    底力を本家αのようにレベル制にしようと思い、過去ログを元にインクルを作ってみたのですが、上手く動作しません。

    何が足りないのか、いけないのか、教えて下さい。
    お願いします。


    *攻撃 全 全:

    #Lv1

    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 1 Then
    If Damage(対象ユニットID) >= 90 Then
       Item 危機Lv1
       Equip 対象ユニットID 危機Lv1
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 1 Then
    If Damage(相手ユニットID) >= 90 Then
       Item 危機Lv1
       Equip 相手ユニットID 危機Lv1
    EndIf
    EndIf

    #Lv2

    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 2 Then
    If Damage(対象ユニットID) >= 90 Then
       Item 危機Lv2
       Equip 対象ユニットID 危機Lv2
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 2 Then
    If Damage(対象ユニットID) >= 80 Then
       Item 危機Lv2
       Equip 対象ユニットID 危機Lv2
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 2 Then
    If Damage(相手ユニットID) >= 90 Then
       Item 危機Lv2
       Equip 相手ユニットID 危機Lv2
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 2 Then
    If Damage(相手ユニットID) >= 80 Then
       Item 危機Lv2
       Equip 相手ユニットID 危機Lv2
    EndIf
    EndIf

    #Lv3

    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 3 Then
    If Damage(対象ユニットID) >= 90 Then
       Item 危機Lv3
       Equip 対象ユニットID 危機Lv3
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 3 Then
    If Damage(対象ユニットID) >= 80 Then
       Item 危機Lv3
       Equip 対象ユニットID 危機Lv3
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 3 Then
    If Damage(対象ユニットID) >= 70 Then
       Item 危機Lv3
       Equip 対象ユニットID 危機Lv3
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 3 Then
    If Damage(相手ユニットID) >= 90 Then
       Item 危機Lv3
       Equip 相手ユニットID 危機Lv3
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 3 Then
    If Damage(相手ユニットID) >= 80 Then
       Item 危機Lv3
       Equip 相手ユニットID 危機Lv3
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 3 Then
    If Damage(相手ユニットID) >= 70 Then
       Item 危機Lv3
       Equip 相手ユニットID 危機Lv3
    EndIf
    EndIf

    #Lv4

    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 4 Then
    If Damage(対象ユニットID) >= 90 Then
       Item 危機Lv4
       Equip 対象ユニットID 危機Lv4
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 4 Then
    If Damage(対象ユニットID) >= 80 Then
       Item 危機Lv4
       Equip 対象ユニットID 危機Lv4
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 4 Then
    If Damage(対象ユニットID) >= 70 Then
       Item 危機Lv4
       Equip 対象ユニットID 危機Lv4
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 4 Then
    If Damage(対象ユニットID) >= 60 Then
       Item 危機Lv4
       Equip 対象ユニットID 危機Lv4
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 4 Then
    If Damage(相手ユニットID) >= 90 Then
       Item 危機Lv4
       Equip 相手ユニットID 危機Lv4
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 4 Then
    If Damage(相手ユニットID) >= 80 Then
       Item 危機Lv4
       Equip 相手ユニットID 危機Lv4
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 4 Then
    If Damage(相手ユニットID) >= 70 Then
       Item 危機Lv4
       Equip 相手ユニットID 危機Lv4
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 4 Then
    If Damage(相手ユニットID) >= 60 Then
       Item 危機Lv4
       Equip 相手ユニットID 危機Lv4
    EndIf
    EndIf

    #Lv5

    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(対象ユニットID) >= 90 Then
       Item 危機Lv5
       Equip 対象ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(対象ユニットID) >= 80 Then
       Item 危機Lv5
       Equip 対象ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(対象ユニットID) >= 70 Then
       Item 危機Lv5
       Equip 対象ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(対象ユニットID) >= 60 Then
       Item 危機Lv5
       Equip 対象ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(対象ユニットID) >= 50 Then
       Item 危機Lv5
       Equip 対象ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(相手ユニットID) >= 90 Then
       Item 危機Lv5
       Equip 相手ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(相手ユニットID) >= 80 Then
       Item 危機Lv5
       Equip 相手ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(相手ユニットID) >= 70 Then
       Item 危機Lv5
       Equip 相手ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(相手ユニットID) >= 60 Then
       Item 危機Lv5
       Equip 相手ユニットID 危機Lv5
    EndIf
    EndIf
    If Info(パイロット,相手ユニット,特殊能力レベル,危機) = 5 Then
    If Damage(相手ユニットID) >= 50 Then
       Item 危機Lv5
       Equip 相手ユニットID 危機Lv5
    EndIf
    EndIf

    *攻撃後 全 全:
    If IsEquiped(対象ユニットID,危機Lv1) = 1 Then
     RemoveItem 対象ユニットID 危機Lv1
    EndIf
    If IsEquiped(対象ユニットID,危機Lv2) = 1 Then
     RemoveItem 対象ユニットID 危機Lv2
    EndIf
    If IsEquiped(対象ユニットID,危機Lv3) = 1 Then
     RemoveItem 対象ユニットID 危機Lv3
    EndIf
    If IsEquiped(対象ユニットID,危機Lv4) = 1 Then
     RemoveItem 対象ユニットID 危機Lv4
    EndIf
    If IsEquiped(対象ユニットID,危機Lv5) = 1 Then
     RemoveItem 対象ユニットID 危機Lv5
    EndIf

    *破壊 全:
    If IsEquiped(対象ユニットID,危機Lv1) = 1 Then
     RemoveItem 対象ユニットID 危機Lv1
    EndIf
    If IsEquiped(対象ユニットID,危機Lv2) = 1 Then
     RemoveItem 対象ユニットID 危機Lv2
    EndIf
    If IsEquiped(対象ユニットID,危機Lv3) = 1 Then
     RemoveItem 対象ユニットID 危機Lv3
    EndIf
    If IsEquiped(対象ユニットID,危機Lv4) = 1 Then
     RemoveItem 対象ユニットID 危機Lv4
    EndIf
    If IsEquiped(対象ユニットID,危機Lv5) = 1 Then
     RemoveItem 対象ユニットID 危機Lv5
    EndIf

    実際にはLv9まで記述してみたのですが・・・
引用返信/返信 削除キー/
■14314 / inTopicNo.2)  Re[1]: 長くて失礼します。底力について
□投稿者/ 幻魔の公子 -(2004/06/14(Mon) 02:16:03) [ID:JqczPGcC]
     幻魔の公子です。


     うまくいかないのは、危機LvXのアイテムが外れないことでしょうか?
     相手ユニットの場合には外すようになっていないようですが。

     もしくは、セーブデータに危機LvX(2以上)のアイテムが残ることですか?
     たとえばレベル2の場合の話をします。
     Damage(対象ユニットID)が90以上になっている場合、当然80以上なので、

    >If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 2 Then
    >If Damage(対象ユニットID) >= 90 Then
    >   Item 危機Lv2
    >   Equip 対象ユニットID 危機Lv2
    >EndIf
    >EndIf
    >If Info(パイロット,対象ユニット,特殊能力レベル,危機) = 2 Then
    >If Damage(対象ユニットID) >= 80 Then
    >   Item 危機Lv2
    >   Equip 対象ユニットID 危機Lv2
    >EndIf
    >EndIf

     ここのIf文はすべて満たされ、結果、危機Lv2は二度作成、装備されます。
     しかし削除は一度しかされません。ゆえに、大量の危機Lv2が残るわけです。これはLv2以上のすべてで同じことが起こります。
     アイテムが二回以上作成されないように書き換える必要があります。
     同時に実行されてはいけない複数のIf文をまとめる場合は、通常Elseifを使います。
     ……この場合には必要ありませんが。さきほども書いたとおり、90以上は当然80以上なので、Lv2における90以上であることを調べるIf文は無意味です。
     Lv3における80以上と90以上を調べるIf文も無意味です。Lv4以上も同様。


     不具合が他のものなら、どううまくいかないのか書いてみてください。


     それでは。

引用返信/返信 削除キー/
■14321 / inTopicNo.3)  たぶん私の?
□投稿者/ ZZ大好き -(2004/06/14(Mon) 12:42:14) [ID:F2g6R1uC]
    初めまして、ZZ大好きといいます。瑪雲さんが作ろうとしているインクルードは、たぶん私のを参考にして頂いているかと思われます(違っていたら、ごめんなさい)。幻魔の公子さんが申されているように、何カ所か間違いらしき書式が見受けられます。ですので、私にメールを頂ければ、出来上がっているインクルードをお送りします。本来なら、ここに掲示するのが妥当なのでしょうけど、長いので。
    もし、よければ、メール下さい。
引用返信/返信 削除キー/
■14328 / inTopicNo.4)  Re[2]: たぶん私の?
□投稿者/ 瑪雲 -(2004/06/15(Tue) 01:49:47) [ID:HIONnCJ0]
    >ZZ大好き さんへ
    メールを送ろうと思ったのですが、メールが返ってきてしまいます。
    どうすればいいでしょうか?
引用返信/返信 削除キー/
■14330 / inTopicNo.5)  Re[3]: たぶん私の?
□投稿者/ ZZ大好き -(2004/06/15(Tue) 09:34:40) [ID:F2g6R1uC]
    ごめんなさい。アドレス変更したのをすっかり忘れていました。こちらにメールください。
引用返信/返信 削除キー/
■14349 / inTopicNo.6)  Re[1]: 長くて失礼します。底力について
□投稿者/ 瑪雲 -(2004/06/17(Thu) 17:58:49) [ID:HIONnCJ0]
    幻魔の公子さん、If文に関して教えて頂き、ありがとうございます。
    よく見直してみます。

    ZZ大好きさん、インクルードをわざわざありがとうございました。
    幻魔の公子さんに指摘された部分を含めて、見比べて、一度見直してみます。

    どうも、ありがとうございました!
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -