Roll Fair.
Every Time.
VaultBB Advanced Dice brings tamper-proof, server-locked dice rolls to your MyBB forum. Profiles, hidden rolls, drop/keep mechanics, conditional rendering — built for RPG communities that take fairness seriously.
How do Rolls Work?
An example output on the left, the BBCode that produced it on the right.
[dice=warrior|label="Attack Roll"]4d6k3+2[/dice]
warrior profile
Kept top 3 · +2 modifier
expr: 4d6k3+2 · profile: warrior
The result (16) is rolled and stored the moment the post is submitted — immutable even if the post is edited afterward.
[dice=stealth|hidden]d20[/dice]
hidden
Visible only to roller & group leaders.
The hidden attribute restricts visibility to the roller and GM-group members. The result is still stored and admin-auditable.
[dice]2d6+3[/dice]
# ── Named profile (slug or ID) ────────────
[dice=warrior]4d6k3[/dice]
# ── Hidden · GM only ──────────────────────
[dice=stealth|hidden]d20[/dice]
# ── Label + profile + drop/keep ───────────
[dice=warrior|label=“Attack Roll”] 4d6k3+2 [/dice]
# ── Multiple rolls in one post ────────────
[dice]d20[/dice] [dice=rogue|hidden|label=“Sneak”]2d6[/dice]
How a Roll Happens
From BBCode tag to locked database record — in a single request.
User Posts
A member writes a post with one or more [dice] tags and submits.
Server Rolls
Before saving, the engine resolves each expression server-side using PHP’s random_int().
Results Stored
Each roll is written to a dedicated table with a full breakdown JSON — permanently.
Rules Applied
Profile rules are evaluated. If a condition matches, a custom block is rendered below the result.
Displayed
The roll card appears in the post. Editing later cannot change what was stored.
Built for Serious Games
Every mechanic designed with tabletop and RPG forums in mind.
Roll more, count less
Standard tabletop notation — 4d6k3 keeps the highest three, 4d6d1 drops the lowest one. Dropped dice are always shown in the breakdown, crossed out, so every roll is fully transparent.
One slug, every rule
Create profiles with a name, a slug, an optional forced expression, and optional result bounds. Reference them by slug in any post — the profile enforces everything, regardless of what the user typed inside the tag.
| Profile | Slug | Forced | Bounds |
|---|---|---|---|
| Warrior | warrior | 4d6k3+2 | — |
| Stealth | stealth | d20 | — |
| Wound | wound | 2d6 | min 1 |
| Heal | heal | d8+3 | max 20 |
Rules that react to results
Define rules per profile — each matches a range, an exact value, a minimum or maximum. When a roll hits the condition, a custom text or image block is automatically rendered beneath the result card. Zero extra work for your players.
- warrior18 – 20⚔️ Critical Hit!range
- warrior= 1💀 Critical Failequals
- stealth≥ 15🌑 Undetectedgte
- stealth≤ 5🔦 Spotted!lte
Release Notes
What’s changed in Advanced Dice.
- FixedMinor tweaks
- ImprovedPlugin minor optimization
- AddedInitial Release
Roll with Confidence.
One purchase. Every feature. Permanently fair rolls for your community. 🎲