Zum Inhalt springen

Random Group — Zufalls-Auswahl ohne C#

Streamer.bot hat keine separate „Random”-Sub-Action. Stattdessen markierst du eine Group als Random, und SB führt nur EINE ihrer Sub-Actions zufällig aus.

Doku: docs.streamer.bot — Random Sub-Action

Rechtsklick auf die Action (im Actions-Pane) → Random aktivieren. Beim Triggern wird NUR EINE zufällige Sub-Action ausgeführt (statt alle nacheinander).

Nachteil: keine Sub-Actions außerhalb der Random-Auswahl möglich. Für komplexere Commands ungeeignet.

Variante B: Group innerhalb der Action als Random (empfohlen)

Abschnitt betitelt „Variante B: Group innerhalb der Action als Random (empfohlen)“

Mehrere Sub-Actions in eine Group packen, Group als Random markieren. Sub-Actions VOR und NACH der Group laufen normal.

So baust du das:

  1. Action öffnen
  2. Sub-Actions die zur Zufallsauswahl gehören sollen markieren (Strg + Klick)
  3. Rechtsklick → Group
  4. Group benennen (z.B. Random Roses)
  5. Rechtsklick auf die Group → Random aktivieren (Checkmark erscheint)

Im Action-Tree sieht das so aus:

[Cmd] !rose
├── 1. Get User Info for Target
├── 2. Group [Random]: Random Roses
│ ├── Send Message: "Variante 1…"
│ ├── Send Message: "Variante 2…"
│ ├── Send Message: "Variante 3…"
│ └── Send Message: "Variante 4…"
└── 3. (irgendwas danach, läuft immer)

Standard: jede Sub-Action in der Random-Group hat die gleiche Wahrscheinlichkeit. Wenn du eine Variante seltener machen willst:

  1. Rechtsklick auf eine Sub-Action INNERHALB der Random-Group
  2. Weight setzen (default 1 · höher = wahrscheinlicher)

Beispiel: drei Sub-Actions mit Weights 1 / 1 / 3 → die dritte zieht doppelt so oft wie die anderen beiden zusammen.

!rose @user sagt mal „@bob bekommt eine Rose”, mal „@bob hat 100 Rosen geschickt”, mal „Rose explodiert” — zufällig.

[Cmd] !rose
├── 1. If/Else: %input0% Is Null or Empty
│ └─ Set Argument: targetLogin = %userName%
│ Break
├── 2. Set Argument: targetLogin = $replace(%input0%, @, )$
├── 3. Get User Info for Target (User Login = %targetLogin%)
├── 4. Group [Random]: Rose Punchlines
│ ├── Send Message: "@%user% gibt @%targetUser% eine Rose. 🌹"
│ ├── Send Message: "@%user% wirft @%targetUser% 100 Rosen ins Gesicht. Romantik."
│ ├── Send Message: "Die Rose von @%user% an @%targetUser% explodiert. Niemand weiß warum."
│ ├── Send Message: "@%user% pflückt eine Rose für @%targetUser%. Sehr edel."
│ └── Send Message: "@%user% gibt @%targetUser% eine Plastik-Rose. Geizhals."
└── (Action endet)

Jeder !rose @bob zieht eine der fünf Messages.

Eine Group kann mehrere Sub-Actions enthalten die zusammen laufen sollen, wenn die Group gezogen wird. Beispiel: Random-Variante mit Sound + Message + OBS-Filter.

Group [Random]: Lucky Reactions
├── Sub-Group: "Jackpot"
│ ├── Play Sound: jackpot.mp3
│ ├── Send Message: "@%user% jackpot 🎰"
│ └── Set Source Visibility: OBS Confetti = visible für 3s
├── Sub-Group: "Pech"
│ ├── Send Message: "@%user% nope"
│ └── Play Sound: sad.wav
└── (weitere Sub-Groups)

Trick: Die „Sub-Group” ist einfach eine normale Group (ohne Random) innerhalb der Random-Group. Wird sie gezogen, laufen alle ihre Sub-Actions.

  • Random-Toggle nicht gesetzt — alle Sub-Actions laufen nacheinander (Group ist normal).
  • Sub-Actions außerhalb der Group — laufen normal vor/nach der Group, NICHT als Teil der Zufallsauswahl.
  • Weights aller Sub-Actions = 0 — Streamer.bot weiß nicht was wählen, undefined Verhalten.