無限ワンナップ!?(質問掲示板)
投稿: happyyuya
投稿:2012/11/12 21:35:12(最新:2012/11/14 22:32:14)
http://page.rmake.jp/wikis/55
に載っているスクリプトを、一人用に組み替えて、
開始スクリプトに
setVariable("経験値",0)
setVariable("累積総合経験値",0)
setVariable("次のレベルまで",10)
def expcheck( point )
setVariable("経験値",getVariable("経験値")+point)#経験値にpointがプラス
setVariable("累積総合経験値",getVariable("累積総合経験値")+point)
#累積経験値にpointがプラス
while getVariable("次のレベルまで") <= getVariable("経験値")
#経験値が次のレベルまでより多ければプレイヤーがレベルアップ
levelUp()
speak("レベルアップ!")
setVariable("経験値",getVariable("経験値")-getVariable("次のレベルまで"))
#経験値から次のレベルまでを引く
getVariable("次のレベルまで",2*getVariable("次のレベルまで"))
#次のレベルまでを二倍
end
end
敵キャラ倒した時のところに
speak("経験値が2入った")
point=2
expcheck( point )
と書いてみたのですが、
本来なら
敵一体倒す→経験値足りない→レベルアップしない
ってなるはずが
なぜか
敵一体倒す→なぜかレベルアップ!ってなる→無限にレベルが上がる。
ってなるんです。何回も見直してみたのですが、自力では限界です。
それとも何か初歩的なミスをしているのでしょうか。
見づらくてすいません
ツイート
に載っているスクリプトを、一人用に組み替えて、
開始スクリプトに
setVariable("経験値",0)
setVariable("累積総合経験値",0)
setVariable("次のレベルまで",10)
def expcheck( point )
setVariable("経験値",getVariable("経験値")+point)#経験値にpointがプラス
setVariable("累積総合経験値",getVariable("累積総合経験値")+point)
#累積経験値にpointがプラス
while getVariable("次のレベルまで") <= getVariable("経験値")
#経験値が次のレベルまでより多ければプレイヤーがレベルアップ
levelUp()
speak("レベルアップ!")
setVariable("経験値",getVariable("経験値")-getVariable("次のレベルまで"))
#経験値から次のレベルまでを引く
getVariable("次のレベルまで",2*getVariable("次のレベルまで"))
#次のレベルまでを二倍
end
end
敵キャラ倒した時のところに
speak("経験値が2入った")
point=2
expcheck( point )
と書いてみたのですが、
本来なら
敵一体倒す→経験値足りない→レベルアップしない
ってなるはずが
なぜか
敵一体倒す→なぜかレベルアップ!ってなる→無限にレベルが上がる。
ってなるんです。何回も見直してみたのですが、自力では限界です。
それとも何か初歩的なミスをしているのでしょうか。
見づらくてすいません
コメントする
コメントするには、ログインする必要があります。
Rmake記法を利用すると
見やすくできます
というわけで、読みやすく直してみたところ
<開始スクリプト>
<敵キャラ倒した時のところ>
expcheckユーザ関数内
次のレベルまでを二倍、としている処理で
使用している関数が間違っています
そもそも、敵を倒したときに手に入る経験値は2に設定しているので、レベルアップになる自体おかしいんではないでしょうか?
一部のイベントが正しく動作(発生)していない
可能性があると思います
一度、各処理ごとに分割
コメントアウトなどを利用して
1つずつ原因を
調べてみてはいかがでしょうか
nullになっていることがわかりました。たぶんここら辺が
無限ループの原因かもしれません。
setVariable関数が
うまく動作していない
(開始スクリプトが
正常に動作完了していない可能性もある)か、
どこかのタイミングでデータが
おかしな状況になっている
可能性がありますね
なお、expcheckユーザ関数のはじめのところで
とする方法もあります
を追加すると、うまくいきました。なんかもやもやするけど、解決は解決です!!
いままで4日くらい?付き合って下さったaoihikawaさんありがとうございました^^このくらいの問題自分で解決できるようになりたいです
仕組みの理解、
そして解決法
基本の箇所はしっかりと
マスターされているようですので、
ある程度パターンを覚えてくれば
難しいことではないですよ
ささやかながら
応援しております。