グローバル変数(質問掲示板)
投稿: ugonight
投稿:2011/08/05 14:22:05(最新:2011/08/05 23:32:05)
グローバル変数を使って自動セーブをしようと思っているのですが開始スクリプトで
とすると
でえらってしまいます。(not defined variable : null)
初めてプレイするときは変数がないのでスタートのフラグがたつようにしたいのですがどうしたらいいでしょうか
ツイート
addLoadGlobalVariable(10869, "進行") if getLoadedGlobalVariable(10869, "進行")==null setFlag("スタート", true) else case getLoadedGlobalVariable(10869, "進行") when 1 setFlag("ミッション1", true) when 2 setFlag("ミッション2", true) end end
とすると
if getLoadedGlobalVariable(10869, "進行")==null
でえらってしまいます。(not defined variable : null)
初めてプレイするときは変数がないのでスタートのフラグがたつようにしたいのですがどうしたらいいでしょうか
コメントする
コメントするには、ログインする必要があります。
コメント一覧
もしかしたら夢を壊すような話かもしれないけど、
もしかしたら折れずにその壁を破ってくれるアイディアが
現れるかもしれないと期待したいのでコメントしてみる。
各グローバル変数の関数リファレンスから飛べるのですが、
スクリプト/グローバル変数 - Rmake Wiki
はもうご覧になられてますでしょうか。
まず、
の後に
で取得する為には
が必要になる仕様のようです。
これを最初の方に加えるとよろしいかと。
とはいえこれはさほど大きな問題ではないのです。
僕が大丈夫かなーと思うのはWikiの説明にある、
> 動作
> グローバル変数をセーブするときは
> エンジン内部のテーブルに、保存する変数を書き込み、
> ゲームクリア時にサーバーに保存します。
という項目。
自動セーブを作りたいという事は、
ゲームプレイ中の裏でセーブしつつプレイも続行したい、
という仕様を目指しているのかと僕は解釈したのですが、
言わずもがなgoEnding()が走るとそこでゲームは終了してしまうわけで…。
さて主様はこの困難、どう切り抜けるのでしょう。(厨二病コメ
もしかしたら折れずにその壁を破ってくれるアイディアが
現れるかもしれないと期待したいのでコメントしてみる。
各グローバル変数の関数リファレンスから飛べるのですが、
スクリプト/グローバル変数 - Rmake Wiki
はもうご覧になられてますでしょうか。
まず、
addLoadGlobalVariable(10869, "進行")
の後に
getLoadedGlobalVariable(10869, "進行")
で取得する為には
loadGlobalVariable()
が必要になる仕様のようです。
これを最初の方に加えるとよろしいかと。
とはいえこれはさほど大きな問題ではないのです。
僕が大丈夫かなーと思うのはWikiの説明にある、
> 動作
> グローバル変数をセーブするときは
> エンジン内部のテーブルに、保存する変数を書き込み、
> ゲームクリア時にサーバーに保存します。
という項目。
自動セーブを作りたいという事は、
ゲームプレイ中の裏でセーブしつつプレイも続行したい、
という仕様を目指しているのかと僕は解釈したのですが、
言わずもがなgoEnding()が走るとそこでゲームは終了してしまうわけで…。
さて主様はこの困難、どう切り抜けるのでしょう。(厨二病コメ
ありがとうございます。エラーはなくなったのですが…
ためしにこうやってみたところ何回やっても
がnullになるのですが保存の仕方に問題があるのでしょうか
addLoadGlobalVariable(10869, "進行") if getLoadedGlobalVariable(10869, "進行")==false addSaveGlobalVariable("進行", 1) else case speakWithSelect(2,"はい","いいえ", "セーブデータがあります続きから始めますか?") when 0 when 1 case speakWithSelect(2,"はい","いいえ", "セーブデータは消えますが最初からプレイしますか?") when 0 addSaveGlobalVariable("進行", 1) addLoadGlobalVariable(10869, "進行") when 1 end end end speak(getLoadedGlobalVariable(10869, "進行")) case getLoadedGlobalVariable(10869, "進行") when 1 setFlag("スタート", true) when 2 setFlag("ミッション1", true) when 3 setFlag("ミッション2", true) end
ためしにこうやってみたところ何回やっても
speak(getLoadedGlobalVariable(10869, "進行"))
がnullになるのですが保存の仕方に問題があるのでしょうか
えぇぇぇぇぇじゃあクリアしないと保存されないわけですかぁぁぁぁ
あたさたさんにお願いできたらいいけど…