スクリプト/コツ/お店の作り方(履歴ID:13)

最終投稿者:Material 6858 mini akasata 更新:2009/12/04 11:22:49
アクションRPGと2DRPGにてお店を作る方法について紹介します。

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

事前準備


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

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

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

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

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

# 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


ちなみに、お金に使う変数は、「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関数

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