1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

【解決済】重複しない乱数結果を出したい。

ゼゼゼ2019-06-08に開始した「ゲーム制作」の中の討論

  1. ゼゼゼ

    ゼゼゼ ユーザー

    ツクールMVで話しかけるたび、ランダムに台詞を言うみたいなイベントを作っているんですが。
    ツクールのデフォルトの乱数だけでは、同じ台詞を何度も繰り返したり、逆に全然言わない台詞があったりと偏りが出てしまいます。
    一度言った台詞は言わなくなり、全ての台詞を言い終わったらまたシャッフルするみたいな事がしたいんですが、なにかいい方法はないでしょうか?

    一応、スイッチと条件分岐を繰り返せば出来なくもないですが、それだと大量のスイッチを使う上、イベント処理も長くなってしまうので、他になにかいい方法やプラグインなどをご存じのかたがいましたら、教えていただけるとありがたいです。
     
    #1
  2. まっつUP

    まっつUP ユーザー

    ゼゼゼ様
    ランダムにセリフを言うイベントが多いのであればセルフスイッチ(可能であればセルフ変数)を使うのがよいと思います。
    数が足りない場合はyanfly様のYEP_SelfSwVar.jsなどで拡張してもよいでしょう。
    javascriptの理解がある場合は配列の要素をランダムで取り出す処理を使うと楽です。
    理解がない場合は重複しないように再計算するとかでしょうか。
     
    #2
    ゼゼゼ がいいね!しました
  3. munokura

    munokura ユーザー

    使ったことはないのですが、下記などは使えそうですか?

    ▼Hz Random List (ひず様作)
    https://rpgfun.tk/archives/13315
    重複の無いランダム値を作成するプラグイン
     
    #3
    ゼゼゼ がいいね!しました
  4. ゼゼゼ

    ゼゼゼ ユーザー

    >まっつUP様

    お答えいただきありがとうございます。ただ、すみません。言っていませんでしたが、マップイベントではなく、コモンイベントを利用した自作システムに使いたいためセルフスイッチは使用できないです。
    javascriptについてはほとんど知識がないため、もし難しくないのであれば、例文など出していただけると助かります。


    >munokura様

    ありがとうございます。早速自サイトが役立っておられますね。まさにこういったプラグインを探しておりました。
    これから使えるかどうか実践してみたいと思います。
     
    #4
    munokura がいいね!しました
  5. まっつUP

    まっつUP ユーザー

    マップイベントでない、あるいは複数のマップに影響する仕組みにしたい場合は
    それぞれのマップのイベントに紐ついたセルフスイッチは利用が難しいので
    munokura様が紹介しているプラグインを使うとよいと思います。
    コモンイベントで共通した処理を作るのが難しいように思えますががんばってください。
     
    #5
    ゼゼゼ がいいね!しました
  6. ゼゼゼ

    ゼゼゼ ユーザー

    >munokura様

    ありがとうございます。こちらのプラグインを使用してみたところ、無事にやりたい表現ができました。
    まっつUP様もありがとうございます。
    本件はこれで解決とさせていただきます。またなにかありましたら、よろしくお願いいたします。
     
    #6
    munokura がいいね!しました

このページを共有