スクリプト/コツ/お店の作り方

最終投稿者:Material 6858 mini akasata 更新:2011/05/20 23:16:16
アクションRPGと2DRPGにてお店を作る方法について紹介します。

  • 事前準備
  • お店スクリプトの書き方

事前準備


まず開始スクリプトで以下のコードを書いて下さい。buyItemという
スクリプト関数を定義しています。

# itemId: アイテムのID
# itemName: アイテム名
# price: アイテムの値段
def buyItem(itemId, itemName, price)
  if getVariable("Gold") < price
    speak("Goldが足りません・・・") 
  else
    if giveItem(itemId)
      setVariable("Gold", 
        getVariable("Gold") - price) 
      speak(itemName + "を買った") 
    else
      speak("アイテムを持ちきれません・・・") 
    end
  end
end


buyItem関数の引数は以下の順番で書きます。

  • アイテムのID
  • アイテム名
  • アイテムの値段

例は以下の通りです。(アイテムIDと値段は適当なので注意して
ください。)

  • buyItem(1050, "鉄の剣", 1000)

ちなみに、お金に使う変数は、「Gold」になっています。必要に
応じて変更してみてください。

これで下準備は完了です!

お店スクリプトの書き方


実際にお店の人などのイベントに書くスクリプトは以下のように
書いてください。

(アイテムIDと値段は適当なので注意してください。)

case speakWithSelect(5, 
  "鉄の剣 1000 Gold", 
  "鉄の盾 800 Gold", 
  "鉄の兜 600 Gold", 
  "鉄のよろい 900 Gold", 
  "革の靴 500 Gold", 
  "何を買いますか?")
when 0
  buyItem(1050, "鉄の剣", 1000)
when 1
  buyItem(1051, "鉄の盾", 800)
when 2
  buyItem(1052, "鉄の兜", 600)
when 3
  buyItem(1053, "鉄のよろい", 900)
when 4
  buyItem(1054, "革の靴", 500)
end


このように書くと、お店が作れます。選択肢ウィンドウのサイズが
小さくてアイテム名などが表示できない場合は、以下の関数を
使って選択肢ウィンドウのサイズを調整してみてください。

setSelectWindowRect関数

いろいろ工夫してみて下さい!

コメントする

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

コメント一覧

   mini ___(投稿日:2011/05/20 23:16, 履歴)
>>takumi2310さん
 そこでwhileの出番ですよ。
User icon mini 退会したユーザー(投稿日:2011/05/20 22:17, 履歴)
これだと、ひとつ買ったら話しかけなおす必要がありますね。
イベントのある位置までもどるスペリクトさえあれば・・・
User icon mini 退会したユーザー(投稿日:2010/04/28 18:59, 履歴)
よく意味が分からないんですけど・・・
最初の開始スクリプトのところが・・・

できれば教えて下さい!!
Aaaaaaa mini sakatagin(投稿日:2009/12/11 19:14, 履歴)
すみませんでした
ありがとうございます!
Material 6858 mini akasata(投稿日:2009/12/11 18:43, 履歴)
幽霊屋敷、サボネシアなどでやっているんじゃないかと
思われる方法を以下に書き出してみました。

スクリプト/コツ/敵を倒すとお金が手に入る
http://page.rmake.jp/wikis/19

>よく分かるページを教えて下さい!
>
基本的にRmakeはいろいろ工夫するといろいろなことができる
というサイトで、お金も標準の機能としては提供していません。
上記のゲーム作者さん達が工夫を重ねてある種、抜け道的に
実現してしまったというものだったりします。

従って、上記の作品の作者さん達がマニュアルを見ながら作った
わけではないのです。

Rmakeは懐の深いシステムです。工夫次第でさまざまなことが
実現できます。

その反面、まだ歴史が浅いため、「こういうことをやりたい」と
思っても、やり方をそのまま書いてあるようなページを見つける
ことは難しいです。

今回のようにご質問に対応するWikiページを書くと言うことも
運営側が忙しいときは難しいです。

手がかりになる情報はWikiやヘルプにあります。他の作者の方と
情報交換をしたり、Rmakeの機能から工夫したりしてみてください。

# もしできることなら、得た知識をWikiに還元してください(^^)

それでは、Rmakeを楽しんでください!
Aaaaaaa mini sakatagin(投稿日:2009/12/10 20:14, 履歴)
まず、敵を倒すとお金が出る、というのはどうしたらいいのですか?
よく分かるページを教えて下さい!