敵を倒してからの金GET(質問掲示板)
投稿: 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
まだ変数のことをぜんぜん理解できてないので
もしよろしければ、わかりやすい解説をお願いします。
ツイート
カスタムパラメーターは他のページを参考にして以下のようにやりました。
setCustomParamMenuEnable(true)
setCustomParamMenuName("所持金")
setVariable("testParamValue", 100)
def onShowCustomParameter()
setCustomParamName(0, "所持金")
setCustomParamValue(0, getVariable("testParamValue"))
setCustomParamName(2, "delete")
setCustomParamValue(2, 30)
deleteCustomParam(2)
drawCustomParam()
end
まだ変数のことをぜんぜん理解できてないので
もしよろしければ、わかりやすい解説をお願いします。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
shirosaboten(投稿日:2010/02/11 11:51,
履歴)
はじめましてお役に立てるかとどうかわかりませんが、こういうことだと思います。
まず、noesさんの書いたカスタムパラメータ表示のスクリプトは以下のとおりです。
#のところを見て欲しいのですが、カスタムパラメータのメニュー名も項目名も「所持金」とされていますが、項目「所持金」に表示する値は「testParamValue」という名前の変数になっています。
一方お店のスクリプトはどうでしょうか
お金を表す変数として「GOLD」という名前の変数を使っていますね?
そういうことです。カスタムメニューの変数と、お店で使う変数が一致していないため、いくらカスタムメニューで所持金という項目の値が増えていても、お店のイベントで物を買うことが出来ないのです。
どうでしょうか。
まず、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」という名前の変数を使っていますね?
そういうことです。カスタムメニューの変数と、お店で使う変数が一致していないため、いくらカスタムメニューで所持金という項目の値が増えていても、お店のイベントで物を買うことが出来ないのです。
どうでしょうか。
文章のままです。お金が足りないのだと思います。
開始スクリプトで、基本変数GOLDに十分なお金を設定して
テストしてみてはいかがでしょうか?
開始スクリプトで以下のように書いてみましょう。
setVariable関数で、基本変数GOLDに10000を
設定しています。テストの方では、一番高いアイテムの
item1でも1000ですから10000あれば買えます。
そういえば、もう修正済みかもしれませんが、カスタム
パラメータで以下のように書いているようですが・・・
以下のように書く必要があります。(基本変数GOLDの値を
カスタムパラメータに設定する必要があります。)
がんばってください!
開始スクリプトで、基本変数GOLDに十分なお金を設定して
テストしてみてはいかがでしょうか?
開始スクリプトで以下のように書いてみましょう。
setVariable("GOLD", 10000)
setVariable関数で、基本変数GOLDに10000を
設定しています。テストの方では、一番高いアイテムの
item1でも1000ですから10000あれば買えます。
そういえば、もう修正済みかもしれませんが、カスタム
パラメータで以下のように書いているようですが・・・
setCustomParamValue(0, getVariable("testParamValue"))
以下のように書く必要があります。(基本変数GOLDの値を
カスタムパラメータに設定する必要があります。)
setCustomParamValue(0, getVariable("GOLD"))
がんばってください!
開始スクリプトに
# 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が足りませんと出てきます。
わかんないことだらけなのでわかりやすくお願いします。
わがままをすみません。
# 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が足りませんと出てきます。
わかんないことだらけなのでわかりやすくお願いします。
わがままをすみません。
わかりやすい説明どうもありがとうございました。