偶然?(質問掲示板)
投稿:
退会したユーザー
投稿:2011/07/29 11:19:29(最新:2011/07/30 20:18:30)
case rand(10)
when 0
speak("おや?敵がアイテムを落としていった。")
giveItem(7431)
speak("濃縮回復薬を手に入れた!")
when 1
speak("おや?敵がアイテムを落としていった。")
giveItem(7432)
speak("濃縮魔法薬を手に入れた!")
end
敵を倒すと10分の2(約分して5分の1)でアイテムを落とすようにしたのですが、
何故か毎回アイテムを落とすんです。(5回ぐらい連続です。)
これってcase文の使い方間違ってますか?
コメントする
コメントするには、ログインする必要があります。
コメント一覧
>>takumi2310さん
偶然だと思いますよー。
確率っつっても所詮確率なので、
試行回数が少ない場合はどうしても偏ってしまうかと。
10000回ループで、どちらも大体10%くらいになりますよ。
>>ミカエルさん
else文は必要なければ取り除いてしまってもいいんですよっと。
やりたいこととは変わってしまうかもしれませんけど、
共通部分を関数化するとなんか格好良く見える気がします。
setFlagまで中に突っ込んでいい気もしますけどね。
偶然だと思いますよー。
確率っつっても所詮確率なので、
試行回数が少ない場合はどうしても偏ってしまうかと。
10000回ループで、どちらも大体10%くらいになりますよ。
>>ミカエルさん
else文は必要なければ取り除いてしまってもいいんですよっと。
やりたいこととは変わってしまうかもしれませんけど、
共通部分を関数化するとなんか格好良く見える気がします。
def F_func(drop , name)
i = rand(drop)
if(i == 0)
setEventCharacter("カード" , 9697)
setFlag(name , true)
return true
else
return false
end
end
setFlag("ドロップ", F_func(180 , "ミカエルカード"))
setFlag("ドロップ", F_func(30 , "リリスカード"))
takumiさんもアイテムのドロップに挑戦なんですね。
僕も次に武器とか防具のドロップに挑戦しようかと思ってたとこです。
僕はスクリプトの知識ゼロから始めたので苦労してます;;
こういうスレは助かります^^case文って良さそうですね。
その場合はどちらもドロップ率は10%なんですかね。
ちなみにカードのときはif文を使ってみました。
i = 0
i = rand(180) #ドロップ率は0.56%
if i == 0
setEventCharacter("カード", 9697)
setFlag("ミカエルカード", true)
setFlag("ドロップ", true)
else
end
i = 0
i = rand(30) #ドロップ率は3.33%
if i == 1
setEventCharacter("カード", 9697)
setFlag("リリスカード", true)
setFlag("ドロップ", true)
else
end
複数のアイテムのドロップ率変えたいときは
一番良いスクリプトって何でしょうか?
良かったらアドバイスお願いします!
僕も次に武器とか防具のドロップに挑戦しようかと思ってたとこです。
僕はスクリプトの知識ゼロから始めたので苦労してます;;
こういうスレは助かります^^case文って良さそうですね。
その場合はどちらもドロップ率は10%なんですかね。
ちなみにカードのときはif文を使ってみました。
i = 0
i = rand(180) #ドロップ率は0.56%
if i == 0
setEventCharacter("カード", 9697)
setFlag("ミカエルカード", true)
setFlag("ドロップ", true)
else
end
i = 0
i = rand(30) #ドロップ率は3.33%
if i == 1
setEventCharacter("カード", 9697)
setFlag("リリスカード", true)
setFlag("ドロップ", true)
else
end
複数のアイテムのドロップ率変えたいときは
一番良いスクリプトって何でしょうか?
良かったらアドバイスお願いします!
あ、↑のでアイテム貰えないときありました。
5連続は偶然のようです。失礼しました。
5連続は偶然のようです。失礼しました。
おお!スマートでかっこいい^^
これなら見やすくて作りやすそうです。
ありがたく使わせていただきます。