ランダムエンカウントをスクリプトでやる!!
      投稿者: ネコム
     投稿日:2013/01/19 18:14
 ネコム
     投稿日:2013/01/19 18:14
    
        ≪RPGツクール
         | 
        ビー玉RPG2 予告≫
      
    
      このコードで、ランダムエンカウント的な物を作れます。
誰でも考えられるでしょうが………
これを道全部に配置したら、それっぽくなるでしょう。(エンカウント率は確率を変えたりで調整して下さい。)
これの問題は敵が現れなかった場合、主人公がカクっと動いてしまいます…
なので、初代ドラ○エの用に、山などはこれを配置し、わざとカクっとさせるのも良いかもです。
それでは〜!
    
    ツイート
    
    誰でも考えられるでしょうが………
case (rand(5))
  when 1
  when 2
playBGM(XXX)
startTurnBattle(XXX)
playBGM(XXX)
if getTurnBattleResult() == 
    getTurnBattleWin()
  #勝ったとき
addMoney(120)
speak("120Gを手に入れた!")
  
elsif getTurnBattleResult() ==
    getTurnBattleLose()
  #負けたとき
speak("主人公は死んでしまった。")
  
elsif getTurnBattleResult() ==
    getTurnBattleRunAway()
  #逃げたとき
  
end
endこれを道全部に配置したら、それっぽくなるでしょう。(エンカウント率は確率を変えたりで調整して下さい。)
これの問題は敵が現れなかった場合、主人公がカクっと動いてしまいます…
なので、初代ドラ○エの用に、山などはこれを配置し、わざとカクっとさせるのも良いかもです。
それでは〜!
コメントする
コメントするには、ログインする必要があります。
コメント一覧
      最初の判定で
case文を使用しなてくも良いかと
中途半端に1があり、
2以外使用していない点も
ちょっとおかしなコードになってます
    
        case文を使用しなてくも良いかと
中途半端に1があり、
2以外使用していない点も
ちょっとおかしなコードになってます
            これでいいんですか?
          
        case (rand(3))
  when 1
playBGM(XXX)
startTurnBattle(XXX)
playBGM(XXX)
if getTurnBattleResult() == 
    getTurnBattleWin()
  #勝ったとき
addMoney(120)
speak("120Gを手に入れた!")
  
elsif getTurnBattleResult() ==
    getTurnBattleLose()
  #負けたとき
speak("主人公は死んでしまった。")
  
elsif getTurnBattleResult() ==
    getTurnBattleRunAway()
  #逃げたとき
  
end
end 退会したユーザー(投稿日:2013/01/19 20:26,
                                                            履歴)
 退会したユーザー(投稿日:2013/01/19 20:26,
                                                            履歴)
          rad = rand(10)
if rad < 1
  playBGM()
  startTurnBattle()
  playBGM()
  if getTurnBattleResult() ==
    getTurnBattleWin()
    #勝ったとき
  elsif getTurnBattleResult() ==
    getTurnBattleLose()
    #負けたとき
  elsif getTurnBattleResult() ==
    getTurnBattleRunAway()
    #逃げたとき
  end
end
かな?
            ファイターさま>
基本形はそういった形ですね
ただい、これを
毎回イベントに書のは大変なので
ユーザ関数にしておき、
イベントは関数の呼び出しのみにします
          
        基本形はそういった形ですね
ただい、これを
毎回イベントに書のは大変なので
ユーザ関数にしておき、
イベントは関数の呼び出しのみにします
 退会したユーザー(投稿日:2013/01/20 08:34,
                                                            履歴)
 退会したユーザー(投稿日:2013/01/20 08:34,
                                                            履歴)
          
            >ユーザー関数にしておき、
>イベントは関数の呼び出しのみにします。
ですよね。その場合はこうやったほうが便利なのかな~
aがモンスターのID
bが確立みたいな感じかな。
あとは自由にお金でも経験値でもなんなり
          
        >イベントは関数の呼び出しのみにします。
ですよね。その場合はこうやったほうが便利なのかな~
def battle(a,b)
  rad = rand(b)
  if rad < 1
    playBGM(XXX)
    startTurnBattle(a)
    playBGM(XXX)
    if getTurnBattleResult() ==
      getTurnBattleWin()
      #勝ったとき
    elsif getTurnBattleResult() ==
      getTurnBattleLose()
      #負けたとき
    elsif getTurnBattleResult() ==
      getTurnBattleRunAway()
      #逃げたとき
    end
  end
end
aがモンスターのID
bが確立みたいな感じかな。
あとは自由にお金でも経験値でもなんなり
 退会したユーザー(投稿日:2013/01/20 08:35,
                                                            履歴)
 退会したユーザー(投稿日:2013/01/20 08:35,
                                                            履歴)
          
            確立×
確率○
          
        確率○

 
 
どんなにハイスペなパソでも重くなるぞw