Jump to content

6 Screenshots

  • 3.4k
  • 26
  • 660.83 kB
  • Update details
    v3.1.1
    Released
    Download size 660.83 kB
    Total versions 6
    Typical update pace About every 9 days
    Freshness Updated 14 days ago

About Lottery

[ ! ] The zip contains a DLL extension that goes into RustDedicated_Data/Managed. Some hosts do not allow uploading DLLs - check with your host before buying. [ ! ]

LotteryUI is a daily card lottery for Rust. Every player gets nine face down cards, each hiding a random prize from your reward list, and a ticket flips one of them: a free daily ticket, or one bought with scrap. Every prize carries its own win chance, so a flip is a real gamble.

A win turns the card green with the real item icon and drops the prize into a lottery inventory, to claim whenever the player likes. A miss locks that card behind its own countdown. The whole set reshuffles at server midnight, so there is always a reason to come back tomorrow, and every bought ticket burns scrap at the price you set.

You control the prize table, the odds, the ticket item and its price, the cooldowns, the daily win limits and the VIP tiers that soften all of it. No image pack to install and no Image Library, on Oxide and Carbon.

 

desc-01-hero-v2.png

 

🌟 Features of LotteryUI

  • Nine face down cards per player, each hiding a random prize with its own win chance, reshuffled at server midnight with a RESET IN countdown above the grid
  • Any item can be the ticket, workshop skin included: with a skin set only that skin counts, and tickets from the plugin cannot be opened like a loot bag
  • A free daily ticket by permission, and a BUY TICKET window with a quantity picker, MAX, the scrap cost and the player's balance before they spend
  • Winnings wait in a lottery inventory: claim them one by one or with CLAIM ALL. Items arrive in normal stacks, and whatever does not fit in a full inventory stays there for later
  • Item prizes with the game's own icon, or console command prizes (a rank, a kit, currency) with your own name, description and artwork
  • A hover tooltip on every prize: name, amount, win chance and rarity
  • A live status bar: READY, the win cooldown or the post wipe lock with a ticking countdown, today's wins and the player's tier
  • An INFORMATION view: how it works in three steps, each player's own numbers and a rarity legend built from your reward list
  • VIP tiers by permission with shorter cooldowns, more wins a day and more free tickets, and admins with no cooldown at all
  • A post wipe lock, a lock on a card after a miss, a cooldown after a win and a daily win limit, every number in the config
  • Optional HumanNPC support: the NPCs you list open the lottery
  • Smooth slide and fade animations, sounds only the player who clicked can hear, and every string in the language file

 

🎮 Commands

  • /lottery - open the lottery panel
  • /closelottery - close the panel
  • /buyticket [amount] - buy tickets with scrap from chat, up to 100 at once
  • /claimdailyticket - claim the free daily ticket (needs lotteryui.freetickets)

Admin

  • /lotteryreset [player] - clear a player's cooldowns, daily wins and daily ticket claim, and deal a fresh set of 9 cards. The target has to be online; omit the name to reset yourself
  • lottery.reset <player> - the same reset from the server console or RCON
  • lottery.resetdata confirm - delete every stored player file, unclaimed winnings included, then re-deal. Without the word confirm it only prints what would be lost

 

🛡️ Permissions

  • lotteryui.freetickets - claim the free daily ticket. Grant it to your default group: oxide.grant group default lotteryui.freetickets
  • lotteryui.admin - no cooldowns, no daily limit, skips the post wipe lock, and the reset commands
  • lotteryui.vip - VIP tier: 10 wins a day, shorter cooldowns, 2 free tickets a day
  • lotteryui.vip.plus - VIP+ tier: 15 wins a day, 3 free tickets a day
  • lotteryui.vip.premium - VIP++ tier: 25 wins a day, 5 free tickets a day
  • lotteryui.mvip - MVIP tier: 50 wins a day, 10 free tickets a day

No permission is needed to play. The four VIP tiers are the ones that ship: rename them, add more or delete them in the config.

 

🏆 Included Rewards

It ships as a working lottery. The percentage is the win chance of a card that holds that prize:

  • Common (80%) - 1000 Wood, 500 Stones, 300 Metal Fragments
  • Rare (60%) - Assault Rifle, Bolt Action Rifle
  • Epic (40%) - Rocket Launcher, LR-300 Assault Rifle
  • Legendary (20%) - Metal Chest Plate, Metal Facemask
  • UltraRare (5%) - an Assault Rifle with a workshop skin

Swap them for anything: any item, amount and skin, or console command prizes with their own name, description and artwork. The list is as long as you like.

 

🖼️ Showcase

Every screen below is the plugin running in game

Nine cards, the prize pool and the live status bar
01-cards.webp

Hover any prize for its win chance and rarity
02-tooltip.webp

Won cards turn green with the real item icon
03-revealed.webp

The lottery inventory: claim one by one or all at once
04-inventory.webp

HOW IT WORKS, with each player's own numbers
05-information.webp

 

🎥 Video

 

⚙️ Configuration

Everything lives in oxide/config/LotteryUI.json:

  • Ticket System - the ticket item (Ticket Item Shortname, the item ID should name the same one), its display name and Custom Workshop Skin ID, tickets per flip, the free daily ticket and its amount, the ticket chip, and the scrap purchase with its price. It ships as the Large Loot Bag, which also drops during Halloween: set a skin and only skinned tickets count
  • Cooldown Settings - the post wipe lock and its hours, the cooldown after a win, the lock on a card after a miss, the admin cooldowns (0 by default) and Reset Cards Daily
  • Usage Limits - the daily win limit (3 by default, -1 unlimited for admins), the admin and free ticket permissions, and the VIP tiers with their own limits, cooldowns and free tickets
  • Data Management - Clear Data On Wipe (on: the lottery wipes with the map), the autosave interval and the save on disconnect
  • Sound Settings - one effect prefab per event (win, miss, claim, open, switch view, page, buy, daily reset), each one silent with an empty string; a bad path warns once at load
  • HumanNPC IDs That Open The Lottery - optional, empty by default
  • Lottery Rewards - the prize pool, as long as you like: item, amount, skin, rarity name and color, its own Drop Chance (%), and for command prizes the console commands, a display name, a description and an optional image URL

Out of the box a ticket costs 100 scrap, the free daily ticket is one ticket, and a player can win three times a day, with an hour between wins, five minutes on a card they missed and a 24 hour lock after a wipe.

 

📚 FAQ

Q: Do I need an economy plugin?
A: No. Tickets are bought with scrap straight from the inventory, and the plugin hands out every prize itself. The only extra file is Oxide.Ext.CrashExtensions.dll, in the zip, the same shared file every Venux plugin uses. No Image Library either, and HumanNPC is optional.

Q: How do win chances work?
A: Every player has their own board. Each card is dealt a random prize from your list and keeps it until that player flips it. A flip spends a ticket and rolls that prize's own Drop Chance (%), so a 5 percent prize really is a 5 percent flip, and players see the exact number in the tooltip. A miss locks that one card for a while; only a win starts the cooldown and counts toward the daily limit.

Q: Can a reward be lost?
A: A win waits in the lottery inventory until it is claimed and survives disconnects and restarts: wins, claims and the daily ticket are saved the moment they happen. If the inventory is full, whatever does not fit stays for the next claim. The one limit: Clear Data On Wipe (on by default) clears unclaimed prizes with the map; turn it off to carry them across a wipe.

Q: Can players buy tickets with something other than scrap?
A: The built-in purchase is scrap. The ticket itself is any item you name, so you can also sell or grant that item through your shop, kit or currency plugin and turn the built-in purchase off.

Q: Does it contact any external service?
A: No. The only web request it can make is the Custom Image URL of a command prize, and only if you set one: the server downloads that image once and keeps it cached. Nothing about your server or your players is sent anywhere.

Q: I run 2.0.0. What changes when I update?
A: Install the DLL from the zip, restart once and replace LotteryUI.cs. Then grant the free daily ticket: oxide.grant group default lotteryui.freetickets (2.0.0 never checked that permission, 3.x does). Your config and player data carry over, unclaimed winnings included. If your ticket has a workshop skin, only skinned tickets count now. Image Library is no longer needed and the language file has new keys. The changelog and the README inside the zip have the details.

Q: Can I translate it?
A: Yes. Copy oxide/lang/en/LotteryUI.json to oxide/lang/<code>/LotteryUI.json and translate it: every player facing text is there.

Q: Does it work on Carbon?
A: Yes. The extension goes into carbon/extensions instead of RustDedicated_Data/Managed, and everything else is the same.

 

Venux-discord-banner.png

Questions, ideas or bug reports? Join our Discord.


crash's Collection

User Feedback

About Us

Codefling is the largest marketplace for plugins, maps, tools, and more, making it easy for customers to discover new content and for creators to monetize their work.

Downloads
3.1m
Total downloads
Customers
12.2k
Customers served
Files Sold
173.4k
Total sales
Payments
3.8m
Processed total
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.