グローバル関数が正常にセーブ、もしくは上書きされない。(質問掲示板

投稿:       mini ゆりかもめ 投稿:2011/12/28 22:42:28(最新:2011/12/29 20:30:29)
どういう事かと言いますと

・AとBというゲームがあります。

・Aではリンゴというアイテムが取れます。

・BではAで取ったリンゴを引き継ぐ事ができます。

という設定で


下記の手順を試してみます。

①Aというゲームでリンゴを9個とってゲームをクリア
グローバル関数に9個リンゴを書き込みます。

②Bというゲームでリンゴの数を確認、9個です。
正常に引き継げています。

③再度Aというゲームでリンゴを20個とってゲームをクリア
グローバル関数に20個リンゴを書き込みます。

④改めてBというゲームでリンゴの数を確認、9個です。


というような、上書きできない?
現象が起きているんですが・・・・・どうしてでしょうか・・・・・。


必要であれば、スクリプトも公開します。
どなたかよろしくお願いします。。。。。

コメントする

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

コメント一覧

Cdv30200 aoi icon mini aoihikawa(投稿日:2011/12/29 20:30, 履歴)
チュートリアルの手順では
これで正しいはずなのですけれど。。。

上書きされないような
バグがあるのでしょうか。。。
      mini ゆりかもめ(投稿日:2011/12/29 19:41, 履歴)
2の開始スクリプトを

clearSaveGlobalVariable()
から

clearLoadGlobalVariable()
に変更してみたんですけど

やっぱりできませんね・・・・・。
うーん・・・・・、なんでだろ・・・・・。
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/12/29 18:09, 履歴)
2の開始スクリプト

clearSaveGlobalVariable()
  ↓
clearLoadGlobalVariable()

ロードする領域をクリアして
確保しておかないと。
      mini ゆりかもめ(投稿日:2011/12/29 16:53, 履歴)
続き、ゲーム2のスクリプト


2の開始スクリプト

clearSaveGlobalVariable()
addLoadGlobalVariable(12876, "ゲームソフト")
loadGlobalVariable()



2のパープル王のスクリプト
case speakWithSelect(2,"ゲームを返しに","特に用はない", 
    "パープル\n「何の用だ。」")
  when 0
    speak("パープル王\n「おぉ、まじたいの王から取られたと思った
\nゲームソフトを返しにきてくれたのか?\nどれどれ・・・・・。」")

if getLoadedGlobalVariable(12876, "ゲームソフト")  == 2
speak("パープル王\n「おぉ、もう返ってこないかと思っていたよ・・・・・。」")
speak("パープル王\n「君のおかげで、暇が潰せそうだ\nありがとう。」")
speak("ゲームクリアを行います。")
goEnding()


else
speak("パープル王\n「ゲームソフトが足りないか\n
もしくは預かってないようだな、もう一度まじたいの王から\n
ゲームをとってくればいいのではないかと思う。」")


end

  when 1
    speak("パープル王\n「用がないなら立ち去るのだ・・・・・。」")


end



こんな感じです・・・・・どこが悪いんでしょうか・・・・・orz
      mini ゆりかもめ(投稿日:2011/12/29 16:47, 履歴)
おぉ、どうもありがとうございます。
2つのゲームのスクリプトをちょっと晒します。


ゲーム[ID:12877]

1の開始スクリプト
clearSaveGlobalVariable()
clearLoadGlobalVariable()
loadGlobalVariable()


1のまじたいの王スクリプト
if getFlag("まじたい")
case speakWithSelect(2,"はい","いいえ", 
    "まじたいの王\n「隣の二人にゲームソフトを貰いましたか?」")
  when 0
    case speakWithSelect(2,"はい","いいえ", 
    "まじたいの王\n「では、ゲームをクリアしたいと思う\nよろしいか?」")
  when 0

#####ここでグローバル関数をセーブ#####
clearSaveGlobalVariable()
addSaveGlobalVariable("ゲームソフト", getVariable("ゲームソフト"))
goEnding()

  when 1
    speak("まじたいの王\n「もしかして、片方からのゲームしか貰って
ないとか\nそういうことがあったら、きっとパープル王は怒るのではな
いかと思う。」")
speak("まじたいの王\n「ちゃんと両方に話しかけなくては\n
いけないのではないかと思う。」")

end

  when 1
    speak("まじたいの王\n「早く貰ってくるのではないかと思う。\n
ちなみにゲームソフトを貰っても\nこのゲームを一旦クリアしなければ
\nデータが反映されないから。」")
speak("まじたいの王\n「二人から受け取ったら\n
もう一度話しかけてほしいのではないかと思う。」")

end


else
speak("まじたいの王\n「たまには息抜きも必要だと思う。」")
speak("まじたいの王\n「せっかくなので\n
半年ぐらいパープル王から、借りたままのゲームソフトを\n
返してきてほしいのではないかと思う。」")
speak("まじたいの王\n「パシりなんて、人聞きが悪いのではないかと思う。」")
speak("まじたいの王\n「私はこのゲームの管理人\n
このゲームの世界から出れないのではないかと思う。」")
speak("まじたいの王\n「だから色々なゲームを旅して回っている君に\n
頼みたいのではないかと思う。」")
setVariable("ゲームソフト", 0)
setFlag("まじたい", true)

end


1の家来のスクリプト
if getFlag("家来2")
speak("まじたい家来その2\n
「もうゲームソフトは渡したのではないかと思う。」")

else
speak("まじたい家来その2\n「王様のゲームソフトを預かっている\n
受け取ればいいのではないかと思う。」")
playSound(99751)
speak("ゲームソフトを手に入れた。")
setVariable("ゲームソフト", getVariable("ゲームソフト")+1)
speak("(浜谷ルメ子ちゃん達をメインに\n
リアルタイムな恋愛生活が体験できる\n
恋愛シュミレーションゲーム、ルメコプラスだ\n
一体パープル王はどんなコアプレイヤーなんだろう・・・・・。)")
setFlag("家来2", true)
end
Cdv30200 aoi icon mini aoihikawa(投稿日:2011/12/29 15:27, 履歴)
スクリプトがない以上
想定でしかありませんが、

clearSaveGlobalVariable関数を
使用し忘れているとか?

グローバル変数