掲示板:スクリプト/コツ/売ったり買ったりできるお店処理

最終投稿者:Zararu128x128 mini dycoon 更新(最新コメント):2011/07/29 12:24:51

コメントする

コメントするには、ログインする必要があります。

コメント一覧

User icon mini 退会したユーザー(投稿日:2011/07/29 12:24, 履歴)
やっと自己解決しました。
          speak("お金が足りません。")
        elsif getValueFromItemParam(param, getItemTypeIdIndex()) == 0 ←ここ

この行で分岐してたんですね!

  • 今日分かったこと
getValueFromItemParam関数は、アイテムパラメーターの配列からパラメーターの値を取得する。
道具なら0が返される。武器なら1が返される。
User icon mini 退会したユーザー(投稿日:2011/07/28 00:32, 履歴)
自力でやろうとしたが
ifとwhileの数が多すぎて挫折しました(TT)
User icon mini 退会したユーザー(投稿日:2011/07/28 00:30, 履歴)
装備品と通常アイテムの区別はどこでやっているんですか?
Zararu128x128 mini dycoon(投稿日:2011/06/19 22:34, 履歴)
システム側でお店などを用意するのは
いろいろ考えるところがあるのではありますが
何かいい形にできないかは考えてみます。

どうもありがとうございます。
Logo mini hightoller(投稿日:2011/06/19 19:26, 履歴)
ここまで長いと、システムに組み込んでしまったほうが良いのでは?
と、思ったのですが。。
他にも宿屋等、金銭や装備のやり取りは、RPGにまず必要となる機能ですし、
「こんなシステムで動作してます、改造して使いたい人はコピペどうぞ」
位の、システム寄りな物であったほうが、
実装やエラー検証の手間が減り、ストーリーや演出に手が回せると思うのですが、
いかがでしょうか。
Zararu128x128 mini dycoon(投稿日:2011/06/19 19:07, 履歴)
とりあえずは変えないでやってみて、それで動いたら変えてみればよいかと思います。

よろしくお願いします。
User icon mini 退会したユーザー(投稿日:2011/06/19 17:41, 履歴)
あとお金の変数は変えたほうがいいんですか?
User icon mini 退会したユーザー(投稿日:2011/06/19 17:40, 履歴)
1回やってみます
Zararu128x128 mini dycoon(投稿日:2011/06/19 13:57, 履歴)
何もいじらない状態ですと、アイテムの情報が見つからないために
getItemParamWithIdで無効な値が返りエラーが発生しているものと思われます。
そのため、その状態からマップへのアイテムの追加と、
アイテムidなどの変更をおこなってください。
基本変数の"店にあるアイテム"の中に登録されていないアイテムが一つでもあると
同様のエラーが発生しますのでご注意ください。

あと、"店にあるアイテム"の指定の仕方は2次元配列でおこなっておりますので
その部分の理解も必要かと思います。

よろしくお願いします。
User icon mini 退会したユーザー(投稿日:2011/06/19 10:33, 履歴)
何もいじらずにやってみましたが、まったく同じエラーが出ました。
User icon mini 退会したユーザー(投稿日:2011/06/19 10:31, 履歴)
param = getItemParamWithId(items[i][0])
もしかしたらここかもしれません

調べてくれますか?

あとお金の単位っていじらないほうがいいんですか?
User icon mini 退会したユーザー(投稿日:2011/06/19 10:28, 履歴)
つぎは60行目に出ました
何もいじったりしていません
itemList[i] = getValueFromItemParam(param, getItemViewNameIndex()) + " " + toString(items[i][1])
i = i + 1
↑ここのようです

どこがどう違うんでしょうか、初心者のためよくわかりません
User icon mini 退会したユーザー(投稿日:2011/06/19 10:15, 履歴)
そんなこと言われても分からないです・・・。
配列ってどんなのか分からないですし・・・。
Sky001a mini qscwsxedc(投稿日:2011/04/10 12:17, 履歴)
できた
   mini ___(投稿日:2011/04/09 15:49, 履歴)
うーん…w

エラーメッセージは、「サーバーに接続できなくて云々」というもの等を除けば、
全てテストプレー、あるいは実際に公開されたゲームをプレイしている際にしか表示されません。
つまり、テストプレー中にエラーメッセージが出るというのは、分かりきっていることなんですよ。

dycoonさんの「何をしている時に」というのは、「どの命令を実行している時か」ということです。
その時役に立つのが、エラーメッセージ中の「line : 123」という部分です。
この部分の手前には、更にマップ名、あるいはチャプター名が表示されます。
そのマップ(もしくはチャプター)のスクリプトの123行目にエラーがある、ということです。

ただまあ、これは一種の指標のようなものですので、実際にはそれ以前の部分のミスが、
その行まで上手いことエラーにならなかった、ということもあり(え)ますが。

getValueFromItemParamの第一引数は配列でなければいけません。
エラーメッセージそのままのエラーですね。
第一引数に渡している変数は本当に配列になっていますか?ご確認ください。
Zararu128x128 mini dycoon(投稿日:2011/04/08 20:40, 履歴)
一応質問についてですが
http://rmake.jp/boards/2
に書いてあることは、
問題解決がよりスムーズにおこなえるようにするためのものでもあります。
そこら辺を意識して質問されると問題が解決しやすいかもしれません。

確認したいことがいくつかあります。
"#データなど"から"#お店処理"の間にはどのようなコードを書きましたか?
コピー&ペーストしてはっていただけると何かわかるかもしれません。
何をしているときにそのメッセージが表示されるかですが、
話しかけたときにおこるということでしょうか?
それとも売買の会話を続けていくとおこるということでしょうか?
より詳しい条件をお伝えいただけると何かわかるかもしれません。
あと、エラーメッセージで出ている"line : 123 "
とは、123行目でエラーが発生しているという意味です。
しかし、munieruさんのコードではおそらく行数が変わるような変更がおこなわれているため
元の処理でのどの部分に対応するかがわかりません。
どの部分の処理に対応するところで、
エラーメッセージが出ているかお伝えください。

よろしくお願いします。

User icon mini 退会したユーザー(投稿日:2011/04/05 19:05, 履歴)
アイテムはマップにすべて登録しました
あとテストプレーしたときに出ます
よろしくお願いします
Zararu128x128 mini dycoon(投稿日:2011/03/11 09:14, 履歴)
アイテムはマップに追加しましたか?
あと、何をしているときにそのエラーメッセージが出力されるのでしょうか?
行数がこちらのコードと変わっていると思われますので、
実際に対応する部分をお伝えください。

よろしくお願いします。
User icon mini 退会したユーザー(投稿日:2011/03/10 21:53, 履歴)
いじるところ以外いじっていないのに
getValueFromItemParamの第1引数は配列でなければなりません。 line : 123
ってでました
Zararu128x128 mini dycoon(投稿日:2011/02/27 16:09, 履歴)
"アイテム売買のコード"についてはお店のイベントで書けば良いです。
"倒すとお金を落とす敵"は敵のイベントに書けばよいかと思います。

よろしくお願いします。

User icon mini usappu(投稿日:2011/02/27 14:48, 履歴)
setVariable("お金", 100)

という部分以外はお店を作るところに書けばいいのですか?

(上の長いやつ)
Zararu128x128 mini dycoon(投稿日:2011/02/20 19:18, 履歴)
setVariable("店で使える通貨の変数名", "お金")

この部分は通貨用の変数名を指定していますので
開始スクリプトで
setVariable("お金", 100)

などとしておいて使うのが良いかと思います。

通貨の変数を変えたい場合
例えば"Gold"にしたい場合は、
開始スクリプトで
setVariable("Gold", 100)

お店スクリプトの先頭で
setVariable("店で使える通貨の変数名", "Gold")

敵を倒したときは
  #勝ったとき
  setVariable("Gold", getVariable("Gold") + 100)
  speak("Goldを", 100, "手に入れた。\n", "現在の所持金額 ", getVariable("Gold"))

などとすればよいかと思います。

開始スクリプトで変数の初期化をする必要があるというのを
書くのを忘れていました。
すみません。

よろしくお願いします。
User icon mini 退会したユーザー(投稿日:2011/02/20 19:04, 履歴)
setVariable("店で使える通貨の変数名", "お金")
というところがいくつもあるんですが
setVariable("店で使える通貨の変数名", "お金")
            ↑
            この部分は始めの部分以外変えなくて良いんですか?
Zararu128x128 mini dycoon(投稿日:2011/02/15 08:12, 履歴)
>スクリプトはEVENT敵キャラか
>ENEMY敵キャラどちらに入力すればよいですか?

倒すとお金を落とす敵については
Enemyの場合はそのまま書けばよいかと思います。
イベントの場合はstartTurnBattleを読んだあとに
書けば動作すると思います。

>あともうひとつ、deletetext(textid)の
>textidのところは何かと変えますか?

textidという変数名を同じイベントで
お店スクリプトを
またぐように使っているのではなければ
変える必要はありません。

よろしくお願いします。
User icon mini 退会したユーザー(投稿日:2011/02/13 17:35, 履歴)
あともうひとつ、deletetext(textid)の
textidのところは何かと変えますか?
User icon mini 退会したユーザー(投稿日:2011/02/13 17:33, 履歴)
スクリプトはEVENT敵キャラか
ENEMY敵キャラどちらに入力すればよいですか?
Zararu128x128 mini dycoon(投稿日:2010/12/06 10:19, 履歴)
新たにゲームを作ってコードをコピー&ペーストしてみましたが
文法エラーは発生しないようです。
具体的にはどのような変更をおこなったのでしょうか?
文法エラーは元のコードのどの位置(できれば何行目かも)に出るのでしょうか?

よろしくお願いします。
User icon mini suraimu10(投稿日:2010/12/05 12:00, 履歴)
文法エラーが出力されます。
Zararu128x128 mini dycoon(投稿日:2010/11/03 16:10, 履歴)
> まるまるおさん

確認なのですが
何もいじっていない場合、文法エラーはでないのでしょうか?
書き換えたコードが影響して
他の場所でエラーが出力されるということはありえます。

> suraimu10さん

どのような症状がでるのでしょうか?
文法エラーが出力されるのでしょうか?

よろしくお願いします。
User icon mini suraimu10(投稿日:2010/11/03 15:15, 履歴)
コピペして、idと価格と名前のところだけ変えてもできません。