コメント

このコメントは、協力して岩を壊せ!長期メンテナンス開始 ...へのコメントです。

コメントの内容

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/08/30 23:08/30/12)
#_/_/_/_/_/ 編集時のヒント _/_/_/_/_/
#waitTimei(1000) 
#value=loadGameData("k")#データを読み込み、変数に置き換える。 
#value=toNumber(value)#文字列を数値へ変換 
#value=value+1#値を足す 
#value=toString(value)#数値を文字列へ変換 
#waitTime(1000) 
#saveGameData("k", value)#データをセーブ 
#speak("あなたは") 
#speak(value,"回たたきました!")#結果を表示 
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

case speakWithSelect(2,"はい","いいえ",  
    "岩をたたきますか?") 
  when 0 
    value=loadGameData("k") #データを読み込み、変数に置き換える。 
    value=toNumber(value)   #文字列を数値へ変換 
    value=value+1           #値を足す 
    
    #---- 文字列に直す必要があるのはセーブする前 ---- 
    value=toString(value)   #数値を文字列へ変換 
    #---------- 
     
    #変数「r」に「0」~「9」の中からランダムに1つの数(乱数)を取得して入れる 
    r = rand(10) 
     
    #変数「r」の内容を元に分岐する 
    if r < 1 
      #変数「r」が「1」より小さい場合 
      playSound(86371) 
      speak("クリティカル!!") 
      speak("ダメージが5倍になるぞ!") 
      
      #---- 「value」は文字列なので数値を足すと異常値になる可能性がある ---- 
      value=value+4#値を足す 
      #----------
    end 
     
    speak("ちょっと待ってね") 
    waitTime(998) 
     
    #---- ロードしたデータをどこにも確保していない ---- 
    #saveGameData("k", value)#データをセーブ 
    #---------- 
     
    #---- 「value」が文字列になっているのに数値で比較している ---- 
    if value>=7 
    #---------- 
      setEventTarget("playerCharacterEvent", 7, 10) 
      runEventMove() 
      setEventTarget("event0", 7, 8) 
      runEventMove() 
      setEventTarget("event0", 8, 8) 
      runEventMove() 
       
      saveGameData("k", value)#データをセーブ 
       
      speak("岩が崩れていく・・・。%Wait%うごきました・・・。") 
      speak(value ,"回目です!(ちなみに)") 
      speak("岩を崩したのは、") 
      playSound(138400) 
      waitTime(2000) 
       
      #---- ここまでの間で、"gohito"がセーブされていない ---- 
      #---- つまり、空のデータ[NaN]がここで"s"に格納される ----
      setVariable("s", loadGameData("gohito")) 
      #---------- 
      #---- "s"がここでしか使用されていないのに、通常変数を利用するのは無駄な処理 ---- 
      speak(getVariable("s") + "さんです!")  
      #---------- 
      openActivityFeedWindow("他の石が叩けるようになったみたい!・・・。") 
 
      setFlag("1700回突破", true) 
    else 
 
      playSound(63622) 
      playSound(138400) 
      waitTime(2000) 
 
      speak("あなたは") 
      playSound(16423) 
      speak(value,"回目にたたきました!")#結果を表示 
      openActivityFeedWindow(value ,"回目にたたきました!") 
      speak("少しお待ちください") 
      waitTime(1000) 
      speak("ロードが終わりました。") 
       
      #---- 「value」が文字列になっているのに数値で比較している ---- 
      if value==6 
      #---------- 
        #---- 丁度の値になったときしか判定に入らないため、クリティカルで超えた場合実行されない ---- 
         
        setEventTarget("playerCharacterEvent", 7, 10) 
        runEventMove() 
        setEventTarget("event0", 7, 8) 
        runEventMove() 
        setEventTarget("event0", 8, 8) 
        runEventMove() 
         
        speak("1700回に達したので岩・・・?が壊れました%Wait%動きました・・・。") 
        openActivityFeedWindow("他の石がたたけるようになったみたい!") 
        speak("少しお待ちください") 
        #---- もし、"gohito"に確実にプレイヤー名を入れておくなら、if文の中で実行するべきではない ----
        setVariable("gohito", getValueFromCharacterParam(getPlayerParam(),getCharacterNameIndex())) 
        #---------- 
        #---- "gohito"がここでしか使用されていないのに、通常変数を利用するのは無駄な処理 ---- 
        saveGameData("h", getVariable("gohito"))  
        #---------- 
 
        speak("セーブが完了しました。\nなお、ゲームのセーブではないです。") 
        setFlag("1700回突破", true) 
         
        #---------- 
      end 
    end 
  when 1 
    speak("たたこう!") 
end


一旦、大まかに
何をどういった順序で実行していくか
手順をまとめてからの方が良いかも。

現状が、継ぎ接ぎ状態なので
混乱しているのではないでしょうか。

コメントの内容(一番最初の投稿)

Cdv30200 aoi icon mini aoihikawa(投稿日:2012/08/30 23:08/30/12)
#_/_/_/_/_/ 編集時のヒント _/_/_/_/_/
#waitTimei(1000) 
#value=loadGameData("k")#データを読み込み、変数に置き換える。 
#value=toNumber(value)#文字列を数値へ変換 
#value=value+1#値を足す 
#value=toString(value)#数値を文字列へ変換 
#waitTime(1000) 
#saveGameData("k", value)#データをセーブ 
#speak("あなたは") 
#speak(value,"回たたきました!")#結果を表示 
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

case speakWithSelect(2,"はい","いいえ",  
    "岩をたたきますか?") 
  when 0 
    value=loadGameData("k") #データを読み込み、変数に置き換える。 
    value=toNumber(value)   #文字列を数値へ変換 
    value=value+1           #値を足す 
    
    #---- 文字列に直す必要があるのはセーブする前 ---- 
    value=toString(value)   #数値を文字列へ変換 
    #---------- 
     
    #変数「r」に「0」~「9」の中からランダムに1つの数(乱数)を取得して入れる 
    r = rand(10) 
     
    #変数「r」の内容を元に分岐する 
    if r < 1 
      #変数「r」が「1」より小さい場合 
      playSound(86371) 
      speak("クリティカル!!") 
      speak("ダメージが5倍になるぞ!") 
      
      #---- 「value」は文字列なので数値を足すと異常値になる可能性がある ---- 
      value=value+4#値を足す 
      #----------
    end 
     
    speak("ちょっと待ってね") 
    waitTime(998) 
     
    #---- ロードしたデータをどこにも確保していない ---- 
    #saveGameData("k", value)#データをセーブ 
    #---------- 
     
    #---- 「value」が文字列になっているのに数値で比較している ---- 
    if value>=7 
    #---------- 
      setEventTarget("playerCharacterEvent", 7, 10) 
      runEventMove() 
      setEventTarget("event0", 7, 8) 
      runEventMove() 
      setEventTarget("event0", 8, 8) 
      runEventMove() 
       
      saveGameData("k", value)#データをセーブ 
       
      speak("岩が崩れていく・・・。%Wait%うごきました・・・。") 
      speak(value ,"回目です!(ちなみに)") 
      speak("岩を崩したのは、") 
      playSound(138400) 
      waitTime(2000) 
       
      #---- ここまでの間で、"gohito"がセーブされていない ---- 
      #---- つまり、空のデータ[NaN]がここで"s"に格納される ----
      setVariable("s", loadGameData("gohito")) 
      #---------- 
      #---- "s"がここでしか使用されていないのに、通常変数を利用するのは無駄な処理 ---- 
      speak(getVariable("s") + "さんです!")  
      #---------- 
      openActivityFeedWindow("他の石が叩けるようになったみたい!・・・。") 
 
      setFlag("1700回突破", true) 
    else 
 
      playSound(63622) 
      playSound(138400) 
      waitTime(2000) 
 
      speak("あなたは") 
      playSound(16423) 
      speak(value,"回目にたたきました!")#結果を表示 
      openActivityFeedWindow(value ,"回目にたたきました!") 
      speak("少しお待ちください") 
      waitTime(1000) 
      speak("ロードが終わりました。") 
       
      #---- 「value」が文字列になっているのに数値で比較している ---- 
      if value==6 
      #---------- 
        #---- 丁度の値になったときしか判定に入らないため、クリティカルで超えた場合実行されない ---- 
         
        setEventTarget("playerCharacterEvent", 7, 10) 
        runEventMove() 
        setEventTarget("event0", 7, 8) 
        runEventMove() 
        setEventTarget("event0", 8, 8) 
        runEventMove() 
         
        speak("1700回に達したので岩・・・?が壊れました%Wait%動きました・・・。") 
        openActivityFeedWindow("他の石がたたけるようになったみたい!") 
        speak("少しお待ちください") 
        #---- もし、"gohito"に確実にプレイヤー名を入れておくなら、if文の中で実行するべきではない ----
        setVariable("gohito", getValueFromCharacterParam(getPlayerParam(),getCharacterNameIndex())) 
        #---------- 
        #---- "gohito"がここでしか使用されていないのに、通常変数を利用するのは無駄な処理 ---- 
        saveGameData("h", getVariable("gohito"))  
        #---------- 
 
        speak("セーブが完了しました。\nなお、ゲームのセーブではないです。") 
        setFlag("1700回突破", true) 
         
        #---------- 
      end 
    end 
  when 1 
    speak("たたこう!") 
end


一旦、大まかに
何をどういった順序で実行していくか
手順をまとめてからの方が良いかも。

現状が、継ぎ接ぎ状態なので
混乱しているのではないでしょうか。