Slot Machine Game

Features

:slot_machine: 4-Slot Game: Classic slot game with 4 slots for added excitement.
:tools: Customizable Emotes: Add or remove slot emotes directly via Twitch chat.
:scales: Weighted Emotes: Each emote has a “weight” value, making certain emotes more valuable within a defined range.
:moneybag: Dynamic Payout: Jackpot values have configurable min/max ranges based on emote weight.
:trophy: Wins: Just like real slot machines, users can hit various win conditions.
:game_die: Randomized Setup: Initial setup assigns random weights to all emotes. Add/Remove commands won’t affect existing weights.
:arrow_forward: Multi-Platform Support: Twitch, Trovo and Youtube are supported platforms


Import File

SlotMachineGame.sb (30.0 KB)

“SMG” may not work properly with alpha version of SB!


Installation

:warning: Prerequisite: Ensure you have a working point system in your setup before using this script. Suggested: Currency Core - StreamUP

  1. Import the script into Streamer.bot (SB).
  2. Run [SMG] - Initial Setup and trigger the command !slotsetup once to initialize for your current platform.
  3. Edit the emotes or emoteweights if you want.
  4. Start playing and enjoy!

Default Commands

  • !slotsetup - Set up the game for the platform the message was send from.
  • !slotreset- Resets your slots list back to default with random assigned emoteweights.
  • !addemote [emote] - Add a platform specific emote. (a weight is generated automatically and can be adjusted afterwards)
  • !removeemote [emote] - Removes the emote and it’s weight from the variables.
  • !emoteweight [emote] [e.g. 1.24] - Change the weight of an emote which impacts the possible amount of points to win.
  • !listemote - List all slot emotes and their weight for the platform the message was send from.
  • !spin [amount]/all/half - Either play the defaultBet, a specified amount, all or half of all of your points.
  • !emotereset - Resets the slotlist with the default setup.

You can change all chat commands either in the sub-actions or in the commands tab.


Disclaimer: TwitchLinkGuard is in constant collaboratively development with community contributions and assisted by AI (ChatGPT & Gemini).


Changelog:

QoL Update v6.1

  • Added minBet so users are forced to bet a certain minimum amount. If minBet = 0 any amount is ok.
  • Added maxBet so users can only bet a certain max amount. Keep in mind, if users have many points then maxBet, they can’t use “All, Half,…” etc. if their bet would exceed this limit. If maxBet = 0 everything goes.
  • Added minJackpotBet to force users to bet a defined minimum amount to eligible win the jackpot pool.
    • A Notification is send once per user per session to tell what is the minimum bet amount.
  • numOfEmotes should work properly again.
  • Updated some comments.
  • numberSeparator is now disabled by default. It causes that no spaces or system.culture is used so you have the normal long numbers again, Enable it and define your own separator.

If you’re updating from v4 or older, remove all related GlobalVar first to avoid issues!

Older Changelogs

v6

  • SMG now features a new args in the group Chat Appearance: numberSeparator with numberSeparator you can define a separator for large numbers e.g. . or , or basically anything else. If the args is disabled, the script uses automatically spaces or system.culture.
  • SMG now has a Jackpot pool. All lost points are accumulated in the pool and a user can win big if the jackpot is hit!
    • The current pool amount is announced in chat on losses.
    • The pool can be disabled with the args useJackpotPool in Game Settings.
  • SMG now has more optional fixed bets: All, Half, Quarter, Third and Random.
  • Updated/added some comments.

v5

  • SMG now only uses one GlobalVar for emote + emoteweight for each platform.
  • You can now define your own default slotlist for each platform in the new Default Slots Emotes sub-action group.
  • SMG now fully uses real commands in all actions.
  • Editing emotes on youtube should now work without issues.
  • Added more explaining comments and updated some messages.
  • GlobalVars renamed to be more readable.

v4
[SMG] - Initial Setup

  • Initial Setup has now sub-actions to edit the commands that are available to use.
  • Initial Setup now can handle multiple emotes to add/remove. E.g.: "!add Kappa LuL" just write the emotes as plain text without “:” or “,” between.

[SMG] - Slot Machine Game

  • The main script now uses a command trigger.
  • Added a command to reset the emote list back to default for the current platform.
  • The original !slots command was renamed to !spin but it’s up to you what you like to use.
  • The “Partial Win” system has been reworked and the script now features more win conditions:
    • Three of a Kind = 3 matching emotes in a row.
    • Two Pairs = 2 matching pairs of emotes.
    • Full House = 4 emotes in a row with uniquely ascending emote weight.
    • Jackpot = 4 matching emotes.

[SMG] - Cooldown Message

  • Added a cooldown action.
  • Customize global and user cooldown messages and other handy features.

v3

  • Reworked the whole Game.
  • SMG now can be played on all supported platforms at the same time if set up.
  • Emote adding/removing/editing emoteweight works now reliable on all platforms
  • It’s possible to define the message style with “sendAction” and which account is used for messages with “useBot”.
  • For Trovo: Set your bot/broadcaster account to work properly
  • !slotsetup now create the variables for the correct platform automatically

Available commands:

  • !slotsetup - Set up the game for the platform the message was send from.
  • !add [emote] - Add a platform specific emote. (a weight is generated automatically and can be adjusted afterwards)
  • !remove [emote] - Removes the emote and it’s weight from the variables.
  • !emoteweight [emote] [e.g. 1.24] - Change the weight of an emote which impacts the possible amount of points to win.
  • !list - List all slot emotes and their weight for the platform the message was send from.
  • !slots [amount]/all/half - Either play the defaultBet, a specified amount, all or half of all of your points.

v2

  • Now supporting: Twitch, Youtube and Trovo
  • You now can change the weight of the emotes from chat
  • Choose the platform you use for streaming with !slotsetup <platform>
    • no worries: already existing variables stay untouched
    • all variables have been renamed to be easier readable and sorted
    • Youtube emotes are a littly tricky to edit, i didn’t found a better solution yet. I’m open for ideas :slight_smile:
  • Points variable can be renamed now
  • Maybe more i forgot…