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

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

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

■1575 / inTopicNo.1)  切り払いLVを阻止LVに
  
□投稿者/ グラムドリング -(2002/01/26(Sat) 19:38:54)
    パイロットの切り払いLvをユニットの阻止Lvに割り当てる
    サブルーチンを考えているのですが、どうにも上手くいきません。

    阻止LVセット味方:
    ForEach 味方
    Set 阻止Lv Skill(選択ユニット,切り払い)
    Set 阻止可能 IsAvailable(選択ユニット,阻止)
    If 阻止可能 =1 Then
    If 阻止Lv = 16 Then
    Equip 選択ユニット 阻止Lv16
    ElseIf 阻止Lv = 15 Then
    Equip 選択ユニット 阻止Lv15
           :
    ElseIf 阻止Lv = 2 Then
    Equip 選択ユニット 阻止Lv2
    ElseIf 阻止Lv = 1 Then
    Equip 選択ユニット 阻止Lv1
    Else
    EndIf
    Else
    EndIf
    Next
    Exit

    阻止LVセット敵:
    ForEach 敵
    Set 阻止Lv Skill(選択ユニット,切り払い)
    Set 阻止可能 IsAvailable(選択ユニット,阻止)
    If 阻止可能 =1 Then
    If 阻止Lv = 16 Then
    Equip 選択ユニット 阻止Lv16
    ElseIf 阻止Lv = 15 Then
    Equip 選択ユニット 阻止Lv15
           :
    ElseIf 阻止Lv = 2 Then
    Equip 選択ユニット 阻止Lv2
    ElseIf 阻止Lv = 1 Then
    Equip 選択ユニット 阻止Lv1
    Else
    EndIf
    Else
    EndIf
    Next
    Exit

    阻止Lvリセット:
    ForEach 味方
    Set 阻止可能 IsAvailable(選択ユニット,阻止)
    If 阻止可能 = 1 Then
    RemoveItem 選択ユニット 阻止Lv16
    RemoveItem 選択ユニット 阻止Lv15
              :
    RemoveItem 選択ユニット 阻止Lv2
    RemoveItem 選択ユニット 阻止Lv1
    Else
    endIf
    Next
    Exit

    MAP開始時に各ユニットの阻止LVを割り当てて
    MAP終了時に上のルーチンを呼んでリセットするつもりなのですが…。
    どなたかご助言いただけませんでしょうか?
引用返信/返信 削除キー/
■1576 / inTopicNo.2)  確か
□投稿者/ 聡 -(2002/01/26(Sat) 19:54:17)
    > パイロットの切り払いLvをユニットの阻止Lvに割り当てる
    > サブルーチンを考えているのですが、どうにも上手くいきません。

    ヘルプより抜粋です

    阻止

    書式 阻止Lv*=名称 対象属性 阻止確率 [EN消費量 必要気力 オプション]

    特定の属性の攻撃を一定確率で阻止します。
    名称、阻止する属性(複数の属性に有効な場合には連続して記述)、
    阻止確率(「S防御」、「切り払い」、「迎撃」、数値(パーセント)のいずれか)を指定してください。


    とあるのですでにそれはできると思うのですが^^;
    もし質問の意味を取り違えてましたらすみません。では…

引用返信/返信 削除キー/
■1577 / inTopicNo.3)  Re[1]: 切り払いLVを阻止LVに
□投稿者/ 幻魔の公子 -(2002/01/26(Sat) 20:08:44)
     幻魔の公子です。
     えーと、阻止レベルを割り当てる、というのが、確率ではなく阻止上限のことであれば読んで下さい。そうでなければ聡さんの書き込みで解決出来るはずなので、読む必要はないです。

     多分ですが、「選択ユニット」というのがまずいのではないかと思います。「選択ユニット」なる変数に値が入る場所がありませんので。
     おそらく、ForEachで選択されたキャラを指定したいのですよね? その場合は、「対象ユニット」などを使用します。
     「選択ユニット」を「対象ユニット」に変えればよろしいのではないかと。

     「対象ユニット」でもし動かなかったら、さらに「Pilot()」に変えてみて下さい。そうすればまず確実に動くと思われます。

     それから、Else以下がないのならばElseは不要です。

     それでは。


引用返信/返信 削除キー/
■1583 / inTopicNo.4)  Re[2]: 切り払いLVを阻止LVに
□投稿者/ チシャ猫と踊る赤かぶ -(2002/01/26(Sat) 22:16:30)
    単純な疑問だが攻撃の属性を判断or取得するコマンドはあったのか
    なければうまく動かないような
    それとも全属性の攻撃に対して武突実属性を切り払い確立で阻止をするようにするなら問題ないのか
    でも格闘武器を持っていなくても現在の書式では反応するのでユニットの格闘武器をチェックするルーチンも必要では
    対応方法は上で書かれているのでそれいがいに思ったことを

    これは10000ダメージの攻撃も切り払われるのがイヤだから作ったんでしょ
    最高で阻止Lv16だから阻止できるのは8000ダメージまで
    あと阻止Lv1は無制限阻止なので切り払いLv1の場合は1.01か0.99の阻止にしないと
引用返信/返信 削除キー/
■1585 / inTopicNo.5)  Re[3]: 切り払いLVを阻止LVに
□投稿者/ 幻魔の公子 -(2002/01/26(Sat) 22:28:39)
     幻魔の公子です。

     グラムドリングさんがどういう目的で作成されているのかは判りませんが(阻止を付加するアイテムは書き込んでおられないので)、とりあえず、攻撃の属性はInfo関数で調べられます。
     格闘武器は、ローカルで武属性を削ってくくらいしか思いつきませんが。

     それでは。

引用返信/返信 削除キー/
■1586 / inTopicNo.6)  Re[3]: 切り払いLVを阻止LVに
□投稿者/ テクス -(2002/01/26(Sat) 22:44:19)
    > 攻撃の属性を判断or取得するコマンド
    Info(対象ユニット,武器,対象ユニット使用武器,属性)
    とか
    Info(対象ユニット,武器,対象ユニット使用武器,属性所有,属性タイプ)
    そんな手がありますね。
    SRCの機能(イベントコマンド)に頼ることなく
    頑張ってみましょう(などとかっこつけてみたりw
    とりあえず困ったら、ヘルプの
    「変数と式」の項を見ると色々わかります。

    > ユニットの格闘武器をチェックするルーチン
    とりあえず一例を

    For i = 1 to Info(対象ユニット,武器数)
    If Info(対象ユニット,武器,i,属性所有,格) = 1 Then
    Set 格所有
    Endif
    Next

    うまく動くかどうかはわかりません(^^;

    なにかのお役に立てば幸い。
    ではまた、いずれ因果の彼方で♪
引用返信/返信 削除キー/
■1602 / inTopicNo.7)  Re[2]: 切り払いLVを阻止LVに
□投稿者/ グラムドリング -(2002/01/27(Sun) 20:52:52)
    >  「対象ユニット」でもし動かなかったら、さらに「Pilot()」に変えてみて下さい。
    >そうすればまず確実に動くと思われます。

    的確なご指摘ありがとうございます。
    前のプログラムの選択ユニットをPilot()に置き換えて、
    変数をサブルーチンローカル変数に変えると
    思ったとおりの動作を行ってくれました。

    阻止LVセット味方:
    ForEach 味方
    Local 阻止可能 阻止Lv
    阻止Lv = Skill(Pilot(),切り払い)
    阻止可能 = IsAvailable(Pilot(),阻止)
    If 阻止可能 = 1 Then
    If 阻止Lv = 16 Then
    Equip Pilot() 阻止Lv16
             :

    >  それから、Else以下がないのならばElseは不要です。

    すみません、プログラムに関してはほぼド素人でして…。
    今後の良い参考になりました、ありがとうございます。
解決済み!
引用返信/返信 削除キー/
■1603 / inTopicNo.8)  Re[3]: 切り払いLVを阻止LVに
□投稿者/ グラムドリング -(2002/01/27(Sun) 21:03:03)
    > それとも全属性の攻撃に対して武突実属性を切り払い確立で阻止をするようにするなら>問題ないのか
    > でも格闘武器を持っていなくても現在の書式では反応するのでユニットの格闘武器をチェックするルーチンも必要では

    アイテムの特殊能力で阻止する属性をまた記述するので
    おそらく問題はないと思います。
    この阻止可能かどうかを判断するユニット特殊能力は格闘武器を持っている
    ユニットにのみつける予定です。

    > これは10000ダメージの攻撃も切り払われるのがイヤだから作ったんでしょ
    > 最高で阻止Lv16だから阻止できるのは8000ダメージまで

    一応、そういう意図もあったのですが、
    ・切り払いで実弾を切り払わせたくなかった
    ・切り払い技能のLV差でによるダメージ差を生みたかった
    辺りが大きな目的でした。
    そういう意味で阻止のオプションに中和を付けたり、
    武属性自体を外したローカルデータになっています。

    > あと阻止Lv1は無制限阻止なので切り払いLv1の場合は1.01か0.99の阻止にしないと

    ちゃんとヘルプに書いてありましたね…(汗)
    ご指摘感謝致します。
引用返信/返信 削除キー/
■1604 / inTopicNo.9)  Re[4]: 切り払いLVを阻止LVに
□投稿者/ グラムドリング -(2002/01/27(Sun) 21:10:33)
    装備するアイテムは下のような感じです。

    阻止Lv8
    阻止Lv8, 固定, アイテム
    特殊能力
    非表示
    阻止Lv8=白兵 格突 切り払い - - 中和
    0, 0, 0, 0, 0

    格闘武器を持っていないユニットでも白兵(格闘、接近武器の阻止)が
    発生しないように阻止可能の判断の変数を置いてみました。
    バランスがどんな感じになるのかはまだテストが足りないので
    よく分かりませんが…。
引用返信/返信 削除キー/
■1605 / inTopicNo.10)  Re[2]: 確か
□投稿者/ グラムドリング -(2002/01/27(Sun) 21:12:24)
    すみません、言葉足らずでした。
    一応、置き換えるつもりなのは阻止の確率としてのLVではなく
    阻止上限としてのLVです。
    誤解を生じさせてしまい申し訳ありません。
引用返信/返信 削除キー/
■1612 / inTopicNo.11)  Re[5]: 切り払いLVを阻止LVに
□投稿者/ GAMEMASTER -(2002/01/28(Mon) 08:48:36)
http://nagoya.cool.ne.jp/gamemaster/
     お初にお目にかかります。
     SRCユーザーの1人「GAMEMASTER」と申します。

    > 装備するアイテムは下のような感じです。
    >
    > 阻止Lv8
    > 阻止Lv8, 固定, アイテム
    > 特殊能力
    > 非表示
    > 阻止Lv8=白兵 格突 切り払い - - 中和
    > 0, 0, 0, 0, 0
    >
    > 格闘武器を持っていないユニットでも白兵(格闘、接近武器の阻止)が
    > 発生しないように阻止可能の判断の変数を置いてみました。
    > バランスがどんな感じになるのかはまだテストが足りないので
    > よく分かりませんが…。

     とりあえず、パイロットの切り払い技能レベルと同じレベルのこのアイテムを装備させたいのでしょうか?
     上の書式のアイテムを装備させるだけなら、

    Set 阻止Lv Skill(選択ユニット,切り払い)
    Set 阻止可能 IsAvailable(選択ユニット,阻止)
    If 阻止可能 =1 Then
    If 阻止Lv = 16 Then
    Equip 選択ユニット 阻止Lv16
    ElseIf 阻止Lv = 15 Then
    Equip 選択ユニット 阻止Lv15
           :

     ・・・と技能1レベルごとにいちいち条件分岐を用意せずとも、「If 阻止可能 =1 Then」とそれに対応した「EndIf」内に、

    Equip 対象ユニット ("阻止Lv" & Skill(対象ユニット,切り払い))

     この1文だけで可能です。

     但し、切り払い技能を修得していないパイロットにこのコマンドが実行された場合「阻止Lv0」というアイテムを装備しようとしますので、そのようなことにさせたくなければあらかじめ条件式によって実行対象から除外しておきましょう。

     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -