敵を倒してからの金GET(質問掲示板

投稿:    001 mini noes 投稿:2010/02/10 21:33:10(最新:2010/02/11 12:53:11)
敵を倒してカスタムパラメーターの数字にお金の値を追加するのはどうやってやるのですか?
カスタムパラメーターは他のページを参考にして以下のようにやりました。
setCustomParamMenuEnable(true)

setCustomParamMenuName("所持金")

setVariable("testParamValue", 100)

def onShowCustomParameter()

setCustomParamName(0, "所持金")
setCustomParamValue(0, getVariable("testParamValue"))


setCustomParamName(2, "delete")
setCustomParamValue(2, 30)
deleteCustomParam(2)

drawCustomParam()


end

まだ変数のことをぜんぜん理解できてないので
もしよろしければ、わかりやすい解説をお願いします。

コメントする

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

コメント一覧

   001 mini noes(投稿日:2010/02/11 12:53, 履歴)
できました!!
わかりやすい説明どうもありがとうございました。
      mini shirosaboten(投稿日:2010/02/11 11:51, 履歴)
はじめましてお役に立てるかとどうかわかりませんが、こういうことだと思います。
まず、noesさんの書いたカスタムパラメータ表示のスクリプトは以下のとおりです。
setCustomParamMenuEnable(true) 
#カスタムパラメータメニューの名前
setCustomParamMenuName("所持金") 

setVariable("testParamValue", 100) 

def onShowCustomParameter() 
#カスタムパラメーター項目0の名前
setCustomParamName(0, "所持金") 
#項目0に表示する値
setCustomParamValue(0, getVariable("testParamValue")) 


setCustomParamName(2, "delete") 
setCustomParamValue(2, 30) 
deleteCustomParam(2) 

drawCustomParam() 


end 

#のところを見て欲しいのですが、カスタムパラメータのメニュー名も項目名も「所持金」とされていますが、項目「所持金」に表示する値は「testParamValue」という名前の変数になっています。

一方お店のスクリプトはどうでしょうか
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」という名前の変数を使っていますね?

そういうことです。カスタムメニューの変数と、お店で使う変数が一致していないため、いくらカスタムメニューで所持金という項目の値が増えていても、お店のイベントで物を買うことが出来ないのです。
どうでしょうか。
Material 6858 mini akasata(投稿日:2010/02/11 11:31, 履歴)
文章のままです。お金が足りないのだと思います。
開始スクリプトで、基本変数GOLDに十分なお金を設定して
テストしてみてはいかがでしょうか?

開始スクリプトで以下のように書いてみましょう。

setVariable("GOLD", 10000) 


setVariable関数で、基本変数GOLDに10000を
設定しています。テストの方では、一番高いアイテムの
item1でも1000ですから10000あれば買えます。


そういえば、もう修正済みかもしれませんが、カスタム
パラメータで以下のように書いているようですが・・・

setCustomParamValue(0, 
  getVariable("testParamValue")) 



以下のように書く必要があります。(基本変数GOLDの値を
カスタムパラメータに設定する必要があります。)

setCustomParamValue(0, getVariable("GOLD")) 


がんばってください!
   001 mini noes(投稿日:2010/02/11 11:02, 履歴)
開始スクリプトに
# 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

のようにテストでやって、
お店のほうには

case speakWithSelect(5,
"item1 1000 GOLD",
"item2 800 GOLD",
"item3 600 GOLD",
"item4 900 GOLD",
"item5 500 GOLD",
"何を買いますか?")
when 0
buyItem(1509, "item1", 1000)
when 1
buyItem(1512, "item2", 800)
when 2
buyItem(465, "item3", 600)
when 3
buyItem(794, "item4", 900)
when 4
buyItem(1522, "item5", 500)
end

・・・と打ってみました
しかし、お店でアイテムを買おうとすると
GOLDが足りませんと出てきます。
わかんないことだらけなのでわかりやすくお願いします。
わがままをすみません。
Material 6858 mini akasata(投稿日:2010/02/11 10:52, 履歴)
お店でしたらWikiにありますよ。

スクリプト/コツ/お店の作り方
http://page.rmake.jp/wikis/17
   001 mini noes(投稿日:2010/02/11 10:28, 履歴)
追加すいません><
これを利用してお店とかはできませんでしょうか??
わがままをして申し訳ありません・・・
   001 mini noes(投稿日:2010/02/11 10:23, 履歴)
わかりやすい説明ありがとうございました!!
Aaaaaaa mini sakatagin(投稿日:2010/02/11 09:24, 履歴)
変数をプラスするイベントに

setVariable("testParamValue", getVariable("testParamValue") + 1)

と、入力すればできると思います。

お願いします。