反応しない…。(質問掲示板

投稿: Material 154390 2 mini  創  投稿:2013/03/17 12:06:17(最新:2013/03/17 15:06:17)
以前作成したGF関数のレアモンスターのものなんですが、いくら試行錯誤しても、返り値aが無反応です。

エラー文はありません。

def Rea_monsterbattle(a,b,c,d,e)
   a=rand(8) #ランダム関数のセット
    if a==0 #8分の1で遭遇
      setVariable("レアモンスター遭遇",getVariable("レアモンスター遭遇") + 1) #レアモンスター遭遇カウントを1上げる
      playBGM(162393)
     startTurnBattle(a)
      if getTurnBattleResult() == 
        getTurnBattleWin()
      #勝ったとき
         levelUpCheck()
        setVariable("捕獲乱数", rand(15)) #ランダム関数15分の1をセット
          if getVariable("捕獲乱数") == 0 #15分の1で捕獲
            speak("レア★"+ b + "が仲間になりたそうにこちらを見ている")
           case speakWithSelect(2,"する","しない", 
           "仲間にしますか?")
             when 0 #するを押した場合、効果音とともに捕獲。自宅に転送。
                 playSound(161632)
               speak("レア★"+ b + "を自宅に送りました。")
               setVariable("レアモンスター捕獲",getVariable("レアモンスター捕獲") + 1) #捕獲カウントを1上げる
                 setFlag("レア★" + b, true) 
             when 1 #いいえを押すと捕獲・転送せずそのまま終了。戦闘獲得物の画面に。
          end
       end
           speak("マイルを" + c + "mill手に入れた")
           addMoney(c)
         elsif getTurnBattleResult() ==
           getTurnBattleLose()
          #負けたとき
             setPartyMemberHealingAll() #回復させないとゲームオーバーになるために全回復させる。
             #自宅に転送するスクリプトを入れる
           elsif getTurnBattleResult() ==
            getTurnBattleRunAway()
          #逃げたとき
             #逃亡率を設定していないため逃げられない。
             #なので書く必要はなし
           end
        playBGM(165069) #フィールドBGMを流す
   else 
     playBGM(161630) #戦闘BGMを流す
     setVariable("モンスター遭遇",getVariable("モンスター遭遇") + 1) #
     startTurnBattle(d)
      if getTurnBattleResult() == 
        getTurnBattleWin()
       #勝ったとき
        levelUpCheck()
        setVariable("捕獲乱数", rand(15))
          if getVariable("捕獲乱数") == 0
            speak(b +"が仲間になりたそうにこちらを見ている")
              case speakWithSelect(2,"する","しない", 
               "仲間にしますか?")
                when 0
                  playSound(161632)
                  speak(b +"を自宅に送りました。")
                  setVariable("モンスター捕獲",getVariable("モンスター捕獲") + 1)
                  setFlag(b, true)
                when 1
              end
             end
           speak("マイルを" + e + "mill手に入れた")
           addMoney(e)
      elsif getTurnBattleResult() ==
        getTurnBattleLose()
       #負けたとき
        setPartyMemberHealingAll()
        #自宅にワープする関数を入れる。
      elsif getTurnBattleResult() ==
        getTurnBattleRunAway()
       #逃げたとき
      end
     playBGM(165069)
   end
end

どこが間違えてるのかいまいち分かりません。

誰か回答お願いします。

コメントする

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

コメント一覧

   mini ___(投稿日:2013/03/17 12:41, 履歴)
関数の説明(引数a~eの説明、内部で何をしているのか)を
簡単でいいのでしてもらえると読みやすく考えやすくなるものですが。
引数が意味のある単語でないので、そこから用途を
推測することすら出来ません。

ざっと読ませて頂きましたが、そもそも関数に返り値自体が
設定されていないようですが、返り値をどのようにお考えでしょうか?
Material 154390 2 mini  創 (投稿日:2013/03/17 15:06, 履歴)
ごめんなさい、引数でした。

そして解決しましたorz
Cdv30200 aoi icon mini aoihikawa(投稿日:2013/03/17 12:27, 履歴)
関数に贈る値なので、
『返り値』ではなく、『引数』では?

ターンバトル用の敵ID「a」が
関数開始直後に、乱数で上書きされています
Material 154390 2 mini  創 (投稿日:2013/03/17 15:05, 履歴)
ごめんなさい、引数でした。
ちょっと記憶があいまいなところがあるのでorz


・・・あっ、ほんとだ。

よく目を通していなかった私のミスですorz

お騒がせしました