15行目にエラーがでで直し方がわかりません(2DアクションRPG)(質問掲示板

投稿: 1main mini rikadaisuki 投稿:2013/11/24 08:39:24(最新:2013/11/24 19:19:24)
setFlag("タイムマシン", true)
case speakWithSelect(2,"未来","過去",
"タイムマシン設定日")
when 0
if getFlag("縄文")
case speakWithSelect(1,"30XX年",
"未来のいつごろに行きますか?")
when 0
playSound(181955)
speak("未来:30XX年に設定しました。")
setFlag("未来", true)
else
speak("縄文時代をクリアしなければいけません")
end
when 1
setFlag("過去", true)
setFlag("未来", false)
playSound(181955)
speak("過去に設定しました。")

case speakWithSelect(2,"戦国","縄文",
"いつごろに行きますか?")
when 0
if getFlag("戦国")
speak("設定できません。行けない理由はもう戦国時代をクリアしてしまったからです。")
else
playSound(181955)
setFlag("過去", true)
setFlag("過去2", false)
setFlag("未来", false)
setFlag("未来2", false)
speak("設定完了")
end
when 1

if getFlag("戦国1")
setFlag("過去", false)
setFlag("過去2", true)
setFlag("未来", false)
setFlag("未来2", false)
speak("設定完了")
else
speak("設定できません。行けない理由は、戦国時代をクリアしていないか、もう縄文時代をクリアしてしまったかのどちらかです。")
end
end

テストプレーをしたときに、15行目に文法的な間違いがありますと書かれていて治りません。
どうすればよいですか?
2DアクションRPGです。

コメントする

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

コメント一覧

1main mini rikadaisuki(投稿日:2013/11/24 19:19, 履歴)
ありがとうございます。
おかげで直りました。
Material 185033 3 mini 光楼(114)(投稿日:2013/11/24 09:38, 履歴)
 if getFlag("縄文")
  case speakWithSelect(1,"30XX年",
"未来のいつごろに行きますか?")
   when 0
   playSound(181955)
   speak("未来:30XX年に設定しました。")
   setFlag("未来", true)
   else
   speak("縄文時代をクリアしなければいけません")
  end

ここのcase文が閉じれていません。


修正↓
 if getFlag("縄文")
  case speakWithSelect(1,"30XX年",
"未来のいつごろに行きますか?")
   when 0
    playSound(181955)
    speak("未来:30XX年に設定しました。")
    setFlag("未来", true)
   else
    speak("縄文時代をクリアしなければいけません")
  end
 end


もしかしてこっちかな?
 if getFlag("縄文")
  case speakWithSelect(1,"30XX年",
"未来のいつごろに行きますか?")
   when 0
    playSound(181955)
    speak("未来:30XX年に設定しました。")
    setFlag("未来", true)
  end
 else
  speak("縄文時代をクリアしなければいけません")
 end
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2013/11/24 09:15, 履歴)
スクリプトを貼る際には
http://page.rmake.jp/wikis/213を使ってもらえると見やすくなるので、そうしていただけると回答しやすくなります。

とりあえずぱぱっと見やすくしますね。
setFlag("タイムマシン", true)
case speakWithSelect(2,"未来","過去",
"タイムマシン設定日")
when 0
 if getFlag("縄文")
  case speakWithSelect(1,"30XX年",
"未来のいつごろに行きますか?")
   when 0
   playSound(181955)
   speak("未来:30XX年に設定しました。")
   setFlag("未来", true)
   else
   speak("縄文時代をクリアしなければいけません")
  end

when 1
 setFlag("過去", true)
 setFlag("未来", false)
 playSound(181955)
 speak("過去に設定しました。")

 case speakWithSelect(2,"戦国","縄文",
"いつごろに行きますか?")
 when 0
  if getFlag("戦国")
 speak("設定できません。行けない理由はもう戦国時代をクリアしてしまったからです。")
  else
  playSound(181955)
  setFlag("過去", true)
  setFlag("過去2", false)
  setFlag("未来", false)
  setFlag("未来2", false)
  speak("設定完了")
  end

when 1
 if getFlag("戦国1")
 setFlag("過去", false)
 setFlag("過去2", true)
 setFlag("未来", false)
 setFlag("未来2", false)
 speak("設定完了")
 else
 speak("設定できません。行けない理由は、戦国時代をクリアしていないか、もう縄文時代をクリアしてしまったかのどちらかです。")
 end
end 
       256 mini 池ちゃん(翡翠ヶ池)(投稿日:2013/11/24 09:32, 履歴)
endが2個足りてないようです。

恐らく
#-----上省略-----
 if getFlag("縄文")
  case speakWithSelect(1,"30XX年",
"未来のいつごろに行きますか?")
   when 0
   playSound(181955)
   speak("未来:30XX年に設定しました。")
   setFlag("未来", true)
   end #追加①
   else
   speak("縄文時代をクリアしなければいけません")
  end
#-----下省略-----


#-----上省略-----
 speak("設定できません。行けない理由は、戦国時代をクリアしていないか、もう縄文時代をクリアしてしまったかのどちらかです。")
  end #追加②
 end
end

これでたぶん大丈夫のはずです。