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

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

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

■6645 / inTopicNo.1)  アイテム名の取得について
  
□投稿者/ むねたけ -(2002/12/20(Fri) 20:35:23)
http://typemp-ct.hp.infoseek.co.jp/
     こんにちはです。
     『イベント対象の、特定のハードポイントに装備した、アイテムの名前』が取得出来ません。
     私は今『装備変更インクルード』というのを作っているのですが、
     その中のaskで変更する装備を選択する際、

    >$(nickname(item(対象ユニット,1)))

    だと無条件に装備した順番から取得してしまい、ハードポイントごとに並ばせることが出来ません。

     HELPの『変数と式』の項を呼んでいろいろ試してみたんですが、成功しませんでした。
     どうか、知恵を貸してください。
引用返信/返信 削除キー/
■6646 / inTopicNo.2)  Re[1]: アイテム名の取得について
□投稿者/ GAMEMASTER -(2002/12/20(Fri) 21:02:34)
http://nagoya.cool.ne.jp/gamemaster/
     お初にお目にかかります。
     SRCユーザーの1人「GAMEMASTER」と申します。

    >  『イベント対象の、特定のハードポイントに装備した、アイテムの名前』が取得出来ません。
    >  私は今『装備変更インクルード』というのを作っているのですが、
    >  その中のaskで変更する装備を選択する際、
    >
    > >$(nickname(item(対象ユニット,1)))
    >
    > だと無条件に装備した順番から取得してしまい、ハードポイントごとに並ばせることが出来ません。
    >
    >  HELPの『変数と式』の項を呼んでいろいろ試してみたんですが、成功しませんでした。
    >  どうか、知恵を貸してください。

     Info関数によってそのアイテムの「装備箇所」を調べ、それがハードポイント能力で作成した装備箇所(ハードポイントの「特殊能力データ」)と一致しているもののみを選別するようにしましょう。

     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■6647 / inTopicNo.3)  Re[2]: アイテム名の取得について
□投稿者/ 分裂夢 -(2002/12/20(Fri) 21:32:58)
     実体験から1つだけ参考に。

    >  Info関数によってそのアイテムの「装備箇所」を調べ、それがハードポイント能力で作成した装備箇所(ハードポイントの「特殊能力データ」)と一致しているもののみを選別するようにしましょう。
     
     この方法を用いる場合、装備個所が複数存在するアイテムの差し替えを行おうとした場合に誤作動する可能性があります。データ側で配慮しておいた方が良いでしょう。
引用返信/返信 削除キー/
■6653 / inTopicNo.4)  Re[3]: アイテム名の取得について
□投稿者/ むねたけ -(2002/12/21(Sat) 12:51:18)
http://typemp-ct.hp.infoseek.co.jp/
     レスありがとうございました。
     回答を頂いたものの、力不足でさっぱりです・・・

    >ask "変更する装備を選んでください" 連続表示 キャンセル可
    >頭 $(nickname())
    >体 $(nickname())
    >手 $(nickname()) $(nickname())
    >足 $(nickname())
    >他 $(nickname()) $(nickname()) $(nickname()) $(nickname())
    >end

     という風に現在の装備状況を出して変えたいものを選び、「携帯」という別のアイテム欄から換えの装備を選ぶという風にしたいと思っています。
     左の「頭」や「体」がハードポイント名です。
     これは全キャラ共通なので選択肢に直接書いたんです。
     あとはアイテム名なのですが、元の質問どうりうまく順番を揃えて表示させることが出来ません。
                        ・・
     インフォ関数の装備箇所で調べようにも「そのアイテム」というのが無いので、判定できませんでした。
     どうやったらいいのでしょう?
     図々しいのですが、出来れば例を書いてもらえると助かります。
引用返信/返信 削除キー/
■6660 / inTopicNo.5)  Re[4]: アイテム名の取得について
□投稿者/ GAMEMASTER -(2002/12/21(Sat) 19:10:58)
http://nagoya.cool.ne.jp/gamemaster/
     GAMEMASTERです。

    >  回答を頂いたものの、力不足でさっぱりです・・・
    >
    > >ask "変更する装備を選んでください" 連続表示 キャンセル可
    > >頭 $(nickname())
    > >体 $(nickname())
    > >手 $(nickname()) $(nickname())
    > >足 $(nickname())
    > >他 $(nickname()) $(nickname()) $(nickname()) $(nickname())
    > >end
    >
    >  という風に現在の装備状況を出して変えたいものを選び、「携帯」という別のアイテム欄から換えの装備を選ぶという風にしたいと思っています。
    >  左の「頭」や「体」がハードポイント名です。
    >  これは全キャラ共通なので選択肢に直接書いたんです。
    >  あとはアイテム名なのですが、元の質問どうりうまく順番を揃えて表示させることが出来ません。
    >                     ・・
    >  インフォ関数の装備箇所で調べようにも「そのアイテム」というのが無いので、判定できませんでした。
    >  どうやったらいいのでしょう?
    >  図々しいのですが、出来れば例を書いてもらえると助かります。

     その記述では、イベントの対象になっているユニットもしくはパイロットの愛称しか表示されないことでしょう。根本的に間違っています。

     まず、CountItem関数とItem関数、それにForコマンドを併用することで対象ユニットが装備している全てのアイテムを取得することが出来ます。


     For i = 1 To CountItem(対象ユニット)

      (処理)

     Next


     このFor〜Nextの内部において「Item(対象ユニット,i)」と記述することで、対象ユニットが装備しているi番目のアイテムを取得出来ます。
     これをInfo関数に代入して、装備個所を調べましょう。この時、条件が適合すれば適切な配列に格納するようにします。


     If Info(アイテム,Item(対象ユニット,i),装備個所) = 頭 Then

      装備変更[(Count(装備変更) + 1)] = Item(対象ユニット,i)

     EndIf


     この処理を全てのハードポイントに対して繰り返し行い、出来た配列をAskコマンドに使用しましょう。


     For i = 1 To CountItem(対象ユニット)

      If Info(アイテム,Item(対象ユニット,i),装備個所) = 頭 Then

       装備変更[(Count(装備変更) + 1)] = Item(対象ユニット,i)

      EndIf

     Next

     For i = 1 To CountItem(対象ユニット)

      If Info(アイテム,Item(対象ユニット,i),装備個所) = 体 Then

       装備変更[(Count(装備変更) + 1)] = Item(対象ユニット,i)

      EndIf

     Next


     (中略)


     Ask 装備変更 変更する装備を選んでください 連続表示 キャンセル可


     なお、例における「手」「他」のように「同一ハードポイントに装備されている複数のアイテム」は別の選択肢として見なされます。従って、装備の変更はアイテム1つずつに対して行うことになります。
     また、選択されたアイテムの名称を実際に取得するには「装備変更[選択]」と記述する必要があります。「選択」ではありません。

     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■6676 / inTopicNo.6)  Re[5]: アイテム名の取得について
□投稿者/ むねたけ -(2002/12/23(Mon) 16:23:35)
http://typemp-ct.hp.infoseek.co.jp/
     ご協力ありがとうございます。
     あともう少し、もう少しで出来そうな感じなんですが・・・

    >-*ユニットコマンド 装備変更 全:
    >
    >unset 装備変更
    >
    >for i = 1 to countitem(対象ユニット)
    > if info(アイテム,item(対象ユニット,i),装備個所) = 手 then
    > 装備変更[(count(装備変更) + 1)] = 手―nickname(item(対象ユニット,i))
    > endif
    >next
    >for i = count(装備変更) to 1
    > 装備変更[(count(装備変更) + 1)] = 手―装備無し
    >next
    >・
    >(中略)
    >・
    >ask 装備変更 "装備を選んでください" 連続表示 キャンセル可

     現在、上記の具合になっています。
     ただこれだとaskに「nickname(item(対象ユニット,i))」と表示されるばかりで、うまくいきませんでした。
     「&()」で括っても何もでなくなるだけでした。
     アイテム名さえ出ればできそうなんです。
     度々ながら、どうかお付き合いください。
引用返信/返信 削除キー/
■6683 / inTopicNo.7)  Re[6]: アイテム名の取得について
□投稿者/ GAMEMASTER -(2002/12/23(Mon) 19:54:33)
http://nagoya.cool.ne.jp/gamemaster/
     GAMEMASTERです。

    >  ご協力ありがとうございます。
    >  あともう少し、もう少しで出来そうな感じなんですが・・・
    >
    > >-*ユニットコマンド 装備変更 全:
    > >
    > >unset 装備変更
    > >
    > >for i = 1 to countitem(対象ユニット)
    > > if info(アイテム,item(対象ユニット,i),装備個所) = 手 then
    > > 装備変更[(count(装備変更) + 1)] = 手―nickname(item(対象ユニット,i))
    > > endif
    > >next
    > >for i = count(装備変更) to 1
    > > 装備変更[(count(装備変更) + 1)] = 手―装備無し
    > >next
    > >・
    > >(中略)
    > >・
    > >ask 装備変更 "装備を選んでください" 連続表示 キャンセル可
    >
    >  現在、上記の具合になっています。
    >  ただこれだとaskに「nickname(item(対象ユニット,i))」と表示されるばかりで、うまくいきませんでした。
    >  「&()」で括っても何もでなくなるだけでした。
    >  アイテム名さえ出ればできそうなんです。
    >  度々ながら、どうかお付き合いください。

     変数と文字列の連結が間違っています。
     その記述では、装備変更の当該配列に「手―nickname(item(対象ユニット,i))」という名称の変数の値を代入することになり、従って0(もしくは空文字列)が代入されています。


     装備変更[(count(装備変更) + 1)] = "手―" & "nickname(item(対象ユニット,i))"


     変数に代入されている文字列を他の文字列と連結して新たな文字列にする場合、演算子「&」を使用しましょう。

     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■6684 / inTopicNo.8)  Re[7]: アイテム名の取得について
□投稿者/ むねたけ -(2002/12/23(Mon) 20:25:51)
http://typemp-ct.hp.infoseek.co.jp/
     GAMEMASTERさんありがとうございます。

    >装備変更[(count(装備変更) + 1)] = "手―" & "nickname(item(対象ユニット,i))"
    ではなく
    >装備変更[(count(装備変更) + 1)] = (手― & nickname(item(対象ユニット,i))
    のように全体を括弧で囲んだら成功しました。

     これで一気に完成させることが出来そうです。
     本当にありがとうございました。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -