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

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

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

■11847 / inTopicNo.1)  ショップがうまく出来ない
  
□投稿者/ クエスト -(2004/01/04(Sun) 19:48:59)
    はじめまして
    SRCは1年半ほど前からやり始めました。今製作中のシナリオに、はじめてアイテムショップをつけようと思い、店用のラベルを作ってみたのですが、うまく動きません。(エラーは出てません)


    具体的に、こんなのが作りたいです。(このようなものが過去ログ見てもなかった)

    @座標(x、y)(店の座標)に見方ユニットが行く。

    A店員(一人でいい)がランダムで来店のセリフを言う。

    BAskコマンドなどで、買う、売る、所持アイテム、店を出る、を出す。


    買うの場合
    C買うアイテムの種類選択(Askなどで、剣、弓、鎧など)最後にキャンセルを表示

    DAskなどで、説明用メッセージのところに、現在の所持金を表示。選択肢のところに、アイテムと価格を表示。最後にキャンセルを表示。

    EAskなどで、説明用メッセージのところに、アイテム名、価格、現在の所持金を表示。選択肢のところに、購入、説明、キャンセル、と表示

     購入を選択すると、Askなどで、説明用メッセージのところに、「選んだアイテム名」を購入しますか?、価格、所持金を表示し、選択肢で購入・キャンセルをする。購入を選ぶと、アイテムが装備され、今まで装備していたアイテムがあれば、はずしておく。

     説明を選択すると、選択したアイテムの説明がでる(Tarkなど)


    売るの場合
    F店に寄ったパイロットの所持しているアイテムを、Askなどで表示。このとき、同じアイテムがいくつかあるときは、何個あるかも表示出来たら、なおいい。売値も表示。

    G選んだアイテムを売ってもいいかConfirmで確認。

    Hアイテムを消し、売値を所持金に足す。


    所持数の場合
    I店に寄ったパイロットの所持しているアイテムを、Askなどで表示。このとき、同じアイテムがいくつかあるときは、何個あるかも表示出来たら、なおいい。

    Jアイテムを選ぶと、性能などを説明する。(Tarkなど)


    店を出る
    K店員がランダムに別れセリフをいい、ショップを終了する。


    長々と書いてしまった・・・。書いてるうちに、凄いものに手を出したんだ、と改めて実感しました。これ以上文を伸ばすのもなんなので、書いてみたラベルは、後で書いときます。
    いちよう@〜E(EはAskコマンドの表示と説明のみ)、G、H、J、Kは、完璧ではないですが出来てます。アイテムの種類選択(C)さえなければ、結構うまくいくんですが・・・(種類分だけD、Eが増え、おかしくなる。例えば、剣を買いたいのに、買ってみると弓だったり、Cで弓を選んでも、Dで剣に行ったり)

    お願いします。


引用返信/返信 削除キー/
■11848 / inTopicNo.2)  Re[1]: ショップがうまく出来ない
□投稿者/ GAMEMASTER -(2004/01/04(Sun) 20:04:32)
http://nagoya.cool.ne.jp/gamemaster/
     お初にお目にかかります。
     SRCユーザーの1人「GAMEMASTER」と申します。

    > SRCは1年半ほど前からやり始めました。今製作中のシナリオに、はじめてアイテムショップをつけようと思い、店用のラベルを作ってみたのですが、うまく動きません。(エラーは出てません)
    >
    >
    > 具体的に、こんなのが作りたいです。(このようなものが過去ログ見てもなかった)
    >
    > (中略)
    >
    > 長々と書いてしまった・・・。書いてるうちに、凄いものに手を出したんだ、と改めて実感しました。これ以上文を伸ばすのもなんなので、書いてみたラベルは、後で書いときます。
    > いちよう@〜E(EはAskコマンドの表示と説明のみ)、G、H、J、Kは、完璧ではないですが出来てます。アイテムの種類選択(C)さえなければ、結構うまくいくんですが・・・(種類分だけD、Eが増え、おかしくなる。例えば、剣を買いたいのに、買ってみると弓だったり、Cで弓を選んでも、Dで剣に行ったり)

     Askコマンドの選択肢のために配列を利用している場合、選択肢ごとに配列を初期化するか、異なる配列を使用するようにしましょう。
     また、AskコマンドやConfirmコマンドの選択肢ごとにシステム変数「選択」の内容は上書きされてゆくことにも注意しましょう。

     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■11853 / inTopicNo.3)  Re[1]: ショップがうまく出来ない
□投稿者/ クエスト -(2004/01/04(Sun) 20:47:44)
    失敗したラベルは、こんな感じです。


    #店の座標

    進入 味方 17 16:

    #セリフ(ランダム)

    Switch Random(3)
     Case 1
       Talk マスター
    ちょうどいいときに来たな、今、仕入れたところだぜ。
    End
     Case 2
       Talk マスター
    よくきたな、いい品を残してるぜ。
    End
     Case 3
       Talk マスター
    いらっしゃい!!安くしとくよ!!
    End
     EndSw
    GoTo メイン
    Exit


    #メインメニュー
    メイン:
    RestoreEvent "メニュー2"
    RestoreEvent "メニュー3"
    Ask ゆっくりしていってくれ。
    買う
    売る
    所持品
    店を出る
    End

    #選択処理を行う

    Switch 選択
    Case 1
    GoTo 購入

    Case 2

    GoTo 売却
    Case 3
    GoTo 所持品
    Case 4
    GoTo セリフ
    EndSw
    Exit


    #店を出たときのセリフ(ランダム)

    セリフ:
    Switch Random(3)
     Case 1
       Talk マスター
    またよってくれよ!!
    End
     Case 2
       Talk マスター
    またこいよ!!
    End
     Case 3
       Talk マスター
    くれぐれもむりはするなよ。
    End
     EndSw
    Exit



    #購入を選んだら、アイテムの種類(カテゴリ)を選ぶ。ここからうまくいかない。

    購入:
    Ask カテゴリ


    キャンセル
    End
    Switch 選択
    Case 1
    GoTo 購入剣
    Case 2
    GoTo 購入弓
    Case 3
    GoTo メイン
    EndSw
    Exit


    #剣の場合

    購入剣:

    #配列にデータ―を設定

    アイテム[1] = アイアンソード
    アイテム[2] = ブロードソード
    アイテム[3] = キャンセル

    #アイテムと現在の資金と価格を表示

    Ask ("武器選択 資金:" & 資金)
    アイアンソード …………600G
    ブロードソード …………800G
    キャンセル
    End

    Switch アイテム[選択]

    #キャンセル
    Case キャンセル
    Goto 購入

    #アイアンソード

    Case アイアンソード
    Set 名称 アイアンソード
    Set 買値 600
    Set 売値 300
    Goto メニュー2

    #ブロードソード

    Case ブロードソード
    Set 名称 ブロードソード
    Set 買値 800
    Set 売値 400
    Goto メニュー2

    EndSw


    メニュー2:

    #一応ダブらないように一時的に消したつもり(あやしい)
    ClearEvent "メニュー3"

    メニュー[1] = 買う
    メニュー[2] = 説明
    メニュー[3] = キャンセル

    #これもダブり防止(あやしい)
    Set x 100

    #アイテム名、価格、現在の資金を表示

    Ask ("アイテム名:" & 名称 & " 価格:" & 買値 & " 資金:" & 資金)
    買う
    説明
    キャンセル
    End



    Switch メニュー[選択]

    #買う

    Case 買う
    Ask (名称 & " を購入しますか? 価格:" & 買値 & " 資金:" & 資金)
    購入
    キャンセル
    End


    If 選択 = 1 Then

    #資金が足りなければ

    If 資金 < 買値 Then

    #所持金不足へ

     Goto 所持金不足
     Endif

    #価格分だけ資金を減らす。

    Money (買値 * -1)
    Item 名称

    #買ったアイテムを装備。ただし、もともとあったアイテムはどうなるのか不明。

    Equip 対象ユニット 名称
     Talk システム
     $(名称)を買いました。
     End

    #ダブり防止(これも、あやしい)

    If x = 100 Then

    #あやしいのを消す(これがまた、あやしかったり・・・)

      UnSet X
    Goto 購入剣
    Else
      UnSet X
    Goto 購入弓
    Endif
    Endif

    If 選択 = 2 Then
    Goto メニュー2
    Endif




    #説明
    #これは、うまくいってる。

    Case 説明

    Call 名称

    #・・・が、ここがあやしい。

    If x = 100 Then
      UnSet X
    Goto メニュー2
    Else
      UnSet X
    Goto メニュー3
    Endif

    #キャンセル

    Case キャンセル
    Goto 購入

    EndSw

    所持金不足:

    Talk マスター
    おっと、所持金が足りないですよ。
    End

    #あやしいところ

    If x = 100 Then
      UnSet X
    Goto メニュー2
    Else
      UnSet X
    Goto メニュー3
    Endif

    非所持:
    #アイテム持ってても出る事がある。

    Talk マスター
    アイテムを、1つも持っていませんよ。
    End
    Goto メイン


    #説明用

    アイアンソード:
    Talk マスター
    たしかそれは、鉄で出来た剣で一般の兵士が使う品、って言うふれこみだったよ。
    攻撃力1100_射程1
    End
    Return


    ブロードソード:
    Talk マスター
    たしかそれは、騎士が好んで使う剣、って言うふれこみだったよ。
    攻撃力1300_射程1
    End
    Return


    #こちらが弓パターン

    購入弓:
    アイテム[1] = ショートボウ
    アイテム[2] = ロングボウ
    アイテム[3] = キャンセル
    Ask ("アイテム選択 資金:" & 資金)
    ショートボウ …………700G
    ロングボウ …………900G
    キャンセル
    End

    Switch アイテム[選択]

    #キャンセル
    Case キャンセル
    Goto 購入

    #ショートボウ

    Case ショートボウ
    Set 名称 ショートボウ
    Set 買値 700
    Set 売値 350
    Goto メニュー3

    #ロングボウ

    Case ロングボウ
    Set 名称 ロングボウ
    Set 買値 900
    Set 売値 450
    Goto メニュー3

    EndSw


    メニュー3:
    #後は同じなので省略(同じだからバグるんだけど・・・)


    ClearEvent "メニュー2"
    メニュー[1] = 買う
    メニュー[2] = 説明
    メニュー[3] = キャンセル
    Set x 200
    Ask ("アイテム名:" & 名称 & " 価格:" & 買値 & " 資金:" & 資金)
    買う
    説明
    キャンセル
    End

    Switch メニュー[選択]

    #買う

    Case 買う
    Ask (名称 & " を購入しますか? 価格:" & 買値 & " 資金:" & 資金)
    購入
    キャンセル
    End

    If 選択 = 1 Then
    If 資金 < 買値 Then
     Goto 所持金不足
     Endif
    Money (買値 * -1)
    Item 名称
     Equip 対象ユニット 名称
    Talk システム
    $(名称)を買いました。
    End
      If x = 200 Then
      UnSet X
    Goto メニュー3
    Else
      UnSet X
    Goto メニュー2
    Endif
    Endif

    If 選択 = 2 Then
    Goto メニュー3
    Endif


    #説明

    Case 説明

    Call 名称
    If x = 200 Then
      UnSet X
    Goto メニュー3
    Else
      UnSet X
    Goto メニュー2
    Endif

    #キャンセル
    Case キャンセル
    Goto 購入

    EndSw

    所持金不足:

    Talk マスター
    おっと、所持金が足りないですよ。
    End
    If x = 200 Then
      UnSet X
    Goto メニュー3
    Else
      UnSet X
    Goto メニュー2
    Endif

    ショートボウ:
    Talk マスター
    たしかそれは、入門用の短い弓、って言うふれこみだったよ。
    攻撃力1000_射程2〜3
    End
    Return


    ロングボウ:
    Talk マスター
    たしかそれは、威力が高いが、扱いが難しい弓、って言うふれこみだったよ。
    攻撃力1200_射程2〜4
    End
    Return



    #所持品はまだ出来ていない(というか全然作り方が分からない)
    未完成所持品:
    UnSet 所持アイテム
     UnSet 装備
     For i = 1 To CountItem()
      所持アイテム[i] = Item(i)
     Next

     Ask 所持アイテム 説明を見たい装備品を選んで下さい。(右クリックでキャンセル) キャンセル可
       名称= 所持アイテム[選択]
    Call 名称
    Goto メイン
    Exit


    #ということで、こんなじょうたい。
    所持品:
    Goto メイン
    Exit


    売却:
    #うまくいかない売却

    UnSet 使用中アイテム
     UnSet 売る装備
     For i = 1 To CountItem()
      使用中アイテム[i] = Item(i)
     Next

    #ここまでで、店に寄ったパイロット以外のアイテムまで表示される。
    #しかも、数が不明


     Ask 使用中アイテム 売る装備を選んで下さい。(右クリックでキャンセル) キャンセル可
     売る装備 = 使用中アイテム[選択]
    Ask (売る装備 & " を売りますか? 売値:" & 売値 & " 資金:" & 資金)
    売る
    キャンセル
    End
    If 選択 = 1 Then
     Confirm "本当に$(売る装備)を売りますか?"
    If 選択 = 0 Goto 売却
     Talk システム
     $(売る装備)を売りました。
     End
    Money 売値
     RemoveItem 対象ユニット 売る装備
    Goto 売却
    Endif

    If 選択 = 2 Then
    Goto メイン
    Endif
    Exit

     

引用返信/返信 削除キー/
■11858 / inTopicNo.4)  Re[2]: ショップがうまく出来ない
□投稿者/ GAMEMASTER -(2004/01/04(Sun) 21:28:30)
http://nagoya.cool.ne.jp/gamemaster/
     GAMEMASTERです。

    > 失敗したラベルは、こんな感じです。
    >
    > (後略)

     動作させましたが、それなりに不都合は発生しました。
     ひとまず「メイン」ラベルの最初において、このインクルードで使用している変数を全て初期化するようにして下さい。


     メイン:

     UnSet 名称
     UnSet 買値
     UnSet 売値

     ・・・


     ただ、最初に掲示されていたような不都合は確認出来ませんでした。

     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■11870 / inTopicNo.5)  Re[3]: ショップがうまく出来ない
□投稿者/ クエスト -(2004/01/05(Mon) 10:24:45)
    いちよう、ここに乗せる前に、テストをしましたので、不具合が無くなったのもあったと、思います。とりあえず、売却と所持品がうまくいきません。どちらかが出来れば、もう片方も出来ると思うのですが。(似ていますし)

    売却を下に書いておきます。うまくいかないのは、アイテムを持っていても、非所持に行ってしまう事です。


    売却:
    #うまくいかない売却

    UnSet アイテム
     UnSet 売る装備
     For i = 1 To CountItem()
      アイテム[i] = Item(i)
     Next

    #ここまでで、店に寄ったパイロット以外のアイテムまで表示される。
    #しかも、数が不明


    #店によっているユニットのIDを取得
    Info(マップ, 17, 16, ユニットID) = 店ユニット

    #アイテム数を初期化
    Set アイテム数 0
    UnSet 所持アイテム


    #店によっているユニットのアイテム数を取得し、所持アイテムとする
    Info(ユニット,店ユニット,アイテム数) = 所持アイテム

    #持っているアイテムが0より多ければ、アイテムありへ
    If 所持アイテム > 0 Then
    Goto アイテムあり
    Else
    Goto アイテムなし
    Endif
    Exit


    #アイテムを持っていなければ、非所持へ
    アイテムなし:
    If アイテム数 = 0 Then
    Goto 非所持
    Endif
    Exit


    #ここから後は特に異常なし
    アイテムあり:
     Ask アイテム 売る装備を選んで下さい。(右クリックでキャンセル) キャンセル可

     売る装備 = アイテム[選択]
    If 選択 = 0 Goto メイン
    Ask (売る装備 & " を売りますか? 売値:" & 売値 & " 資金:" & 資金)
    売る
    キャンセル
    End
    If 選択 = 1 Then
     Confirm "本当に$(売る装備)を売りますか?"
    If 選択 = 0 Goto 売却
     Talk システム
     $(売る装備)を売りました。
     End
    Money 売値
     RemoveItem 対象ユニット 売る装備
    Goto 売却
    Endif

    If 選択 = 2 Then
    Goto メイン
    Endif
    Exit

     

引用返信/返信 削除キー/
■11872 / inTopicNo.6)  Re[4]: ショップがうまく出来ない
□投稿者/ GAMEMASTER -(2004/01/05(Mon) 10:58:51)
http://nagoya.cool.ne.jp/gamemaster/
     GAMEMASTERです。

    > いちよう、ここに乗せる前に、テストをしましたので、不具合が無くなったのもあったと、思います。とりあえず、売却と所持品がうまくいきません。どちらかが出来れば、もう片方も出来ると思うのですが。(似ていますし)
    >
    > 売却を下に書いておきます。うまくいかないのは、アイテムを持っていても、非所持に行ってしまう事です。
    >
    > (後略)

     変数の代入が不正です。

    > #店によっているユニットのIDを取得
    > Info(マップ, 17, 16, ユニットID) = 店ユニット

    > #店によっているユニットのアイテム数を取得し、所持アイテムとする
    > Info(ユニット,店ユニット,アイテム数) = 所持アイテム

     Info関数は式の左辺値にすることは出来ません。左辺と右辺を逆にしましょう。


     店ユニット = Info(マップ,17,16,ユニットID)

     所持アイテム = Info(ユニット,店ユニット,アイテム数)


     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
解決済み!
引用返信/返信 削除キー/
■11874 / inTopicNo.7)  Re[5]: ショップがうまく出来ない
□投稿者/ クエスト -(2004/01/05(Mon) 12:10:47)
    左右を逆にしましたが、直らなかったので


     店ユニット = Info(マップ,17,16,ユニットID)

     Talk システム
     ユニットは$(店ユニット)です
     End

     アイテムの数 = Info(ユニット,店ユニット,アイテム数)

     Talk システム
     アイテム数は$(アイテムの数)です
     End


    の様にし、ちゃんとユニットと、アイテム数が確認できているか、調べたところ
    ユニットを仮にユニットAとすると


    ユニットはユニットA

    と表示され、その後クリックすると

    ユニットはユニットA1です。

    となり、さらにクリックすると

    アイテム数はです。

    と表示されます。どうしてでしょうか?変数の問題ですか?


解決済み!
引用返信/返信 削除キー/
■11878 / inTopicNo.8)  Re[6]: ショップがうまく出来ない
□投稿者/ ワヅキ -(2004/01/05(Mon) 13:00:24)
    どうも、ワヅキです。

    進入ラベルを使用したイベントならば、わざわざInfo関数を使わなくても
    Unit(対象ユニット)でユニットを参照できると思いますが……。

    店ユニット = Unit(対象ユニット)
    店ユニットアイテムの数 = Info(店ユニット,アイテム数)

    とやって試してみてください。多分、動作すると思います。
    参考になればこれ幸い。それではー。
解決済み!
引用返信/返信 削除キー/
■11879 / inTopicNo.9)  Re[6]: ショップがうまく出来ない
□投稿者/ GAMEMASTER -(2004/01/05(Mon) 13:11:25)
http://nagoya.cool.ne.jp/gamemaster/
     GAMEMASTERです。

    > 左右を逆にしましたが、直らなかったので
    >
    > (中略)
    >
    > の様にし、ちゃんとユニットと、アイテム数が確認できているか、調べたところ
    > ユニットを仮にユニットAとすると
    >
    >
    > ユニットはユニットA
    >
    > と表示され、その後クリックすると
    >
    > ユニットはユニットA1です。
    >
    > となり、さらにクリックすると

     これはユニットIDの仕様です。

    > アイテム数はです。
    >
    > と表示されます。どうしてでしょうか?変数の問題ですか?

     変数「店ユニット」が正しく認識されていない可能性があります。

     店の座標に進入した(進入イベントの対象になった)ユニットはシステム変数「対象ユニットID」で取得出来ますので、変数を新規に作るよりこのシステム変数を利用しましょう。


     アイテムの数 = Info(ユニット,対象ユニットID,アイテム数)


     参考になれば幸いです。

     もう時間がないようでございますね。では、これにて退散させてもらいましょう。
引用返信/返信 削除キー/
■11907 / inTopicNo.10)  Re[7]: ショップがうまく出来ない
□投稿者/ クエスト -(2004/01/06(Tue) 13:01:40)
    ワヅキさんまで、ありがとうございます。

    それで、Unit(対象ユニット)でやってみましたが、

    アイテム数はアイテムの数です。

    と出るだけでした。(数字が出てこないと、だめなんです)

    店ユニットアイテムの数 = Info(店ユニット,アイテム数)
    のアイテム数のところが認識されているようです。


引用返信/返信 削除キー/
■11916 / inTopicNo.11)  Re[8]: ショップがうまく出来ない
□投稿者/ ワヅキ -(2004/01/06(Tue) 21:10:13)
    考えてみると、対象ユニットで参照できるのに店ユニットを参考してるのはおかしかったですね。
    現在、SRCを起動できる環境にないのでテストプレイができないのですが…。

    アイテム装着数 = Info(ユニット,Unit(対象ユニットID),アイテム数)

    Talk システム
    アイテムの装着数は$(Wide(アイテム装着数))です
    End

    とやって確認してみてください。
    これで出来るはずだとは思うんですが……。
引用返信/返信 削除キー/
■11936 / inTopicNo.12)  Re[9]: ショップがうまく出来ない
□投稿者/ クエスト -(2004/01/07(Wed) 15:35:04)
    たしかに、いちいち店ユニットを定義する必要なかったですね…。

    それで、さっそく試したところ、うまくいきました!!本当にありがとうございました!!

    これで、所持数の方も出来そうです。GAMEMASTERさんもありがとうございました。
解決済み!
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -