⛏️ Xrisma Mining | Advanced Mining Job & Progression System
Welcome to Xrisma Mining, the ultimate and most immersive mining job system for your FiveM server.
Designed specifically for high performance enterprise level servers with a full 10-level progression system, dynamic economy, leaderboard, and transport logistics.
✨ Key Features :
🏢 Enterprise-Grade UI/UX
- Dynamic Dashboard: Beautiful NUI interface with player profile, career statistics, deployment zone selection, vehicle selection, pending earnings display, and a real-time top 10 leaderboard.
⛏️ Immersive Mining Mechanics
- Multi-Hit Rock Breaking: Players must strike rocks multiple times (3–8 hits depending on level) with realistic pickaxe animations, progress counters, and particle effects on completion.
- Cancellable Mining: Press X during mining to abort and revert progress — full player control.
- Dynamic Rock Spawning: 14+ rock spawn locations per zone with randomized ore models and ground-level placement validation.
- Ore Yield Variation: Random yield system (12–38 kg per rock) simulates variable ore quality.
- Decision UI: After every rock, choose "Continue Mining" or "Finish Shift" — play at your own pace.
📈 10-Level Progression System
- 10 Unique Tiers: Trainee Miner (1.0x) → Junior Miner (1.2x) → Stone Breaker (1.4x) → Ore Smasher (1.6x) → Excavator (1.8x) → Master Excavator (2.0x) → Mining Veteran (2.3x) → Earth Shaker (2.6x) → Gold Digger (3.0x) → Mining Titan (3.5x).
- Exponential Earning Multipliers: From 1.0x at Level 1 up to 3.5x at Level 10 — every level significantly boosts income.
- Progressive Difficulty: Rocks require more hits at higher levels (3 hits at Level 1, up to 8 at Level 10) — rewarding skilled players.
- XP System: 25 XP per rock (configurable) with multi-level jump support and in-game level-up notifications.
- Real-Time Leaderboard: Top 10 miners ranked by level and XP — competitive gameplay.
💰 Dynamic Economy & Payout System
- Level-Scaled Earnings: Base $100/rock multiplied by your level multiplier — a Mining Titan earns $350/rock.
- Bonus Milestone Rewards: Every 10 rocks broken awards an extra $500 bonus (configurable threshold and amount).
- Staged Earnings Collection: Earnings stored as "uncollected" until players visit the mining terminal to transfer to bank — creating an engaging return loop.
- Session Payout Cap: Anti-exploit max $50,000 per session and $999,999 max collection with database validation.
🚛 Vehicle & Transport System
- Progressive Vehicle Unlock: Better transport vehicles unlock at higher levels (Sadler at Level 1, Bison at Level 3+).
- Weight Simulation: Movement speed reduced to 65% while carrying rocks — players cannot jump or attack, limited to crouched movement with box-carry animation.
- Truck Trunk Deposit: Proximity-based deposit system (<3m) with bouncing marker guidance to vehicle trunk.
- Vehicle Auto-Setup: Auto-colored, auto-fueled, engine auto-starts, GPS blip for vehicle location while carrying.
- Depot Return: Dedicated return zone with marker — automatic cleanup on job end or disconnect.
- Vehicle Keys Integration: Support for qbx_vehiclekeys, qb-vehiclekeys, wasabi_carlock, and qs-vehiclekeys.
🎬 Animation & Visual Effects
- Pickaxe Mining Animation: Looping hammering animation with prop_tool_pickaxe attached to player hand — 5 seconds per swing.
- Rock Shattering Particles: `core:ent_dst_rocks` particle effect on rock completion for satisfying visual feedback.
- Box-Carry Animation: Realistic heavy lifting animation while transporting stone props on player spine.
- 3D Text Labels: Dynamic text scaling based on camera distance with semi-transparent backgrounds for readability.
- Smooth Rock Spawning: Alpha fade-in over 300ms for seamless rock appearance.
🚀 Optimization & Security
- 0.00ms Resmon: Conditional thread sleeping (1000ms+ when inactive), efficient entity cleanup, frozen rock positions (no physics simulation), and blip management with automatic removal.
- Comprehensive Rate Limiting: Per-player, per-event cooldowns — getStats (1s), addXP (2s), completeRock (3s), startShift (5s), payout (5s), collectEarnings (3s), leaderboard (5s).
- Anti-Exploit Architecture: Payout capping, time-worked capping (12-hour max), database zeroing before money transfer (prevents race conditions), abnormal earnings flagging, and session state tracking.
- Suspicious Activity Logging: Detailed flagging system with player name, identifier, source ID, and reason — color-coded console output for easy monitoring.
- Auto-Initializing Database: Automatic table creation with legacy migration support on resource start.
🛠️ Developer Friendly
- `config.lua`: Full control over XP rates, payout values, bonus thresholds, level progression (10 tiers with multipliers, hits, vehicles), mining zones with rock coordinates, prop models, animations, particle effects, vehicle locations, NPC settings, and 30+ language strings.
- Framework-Agnostic Design: Auto-detects QBCore, ESX, or QBox with graceful fallback to standalone mode.
- Target System Support: Optional ox_target / qb-target integration (toggle via config).
- Debug Mode: `/openmining` command, `[Mining Debug]` console output tracking level syncs, NPC events, zone validation, vehicle spawning, shift duration, and payout calculations.
- Modern Tech Stack: React + Vite NUI interface compiled to optimized dist assets.
🔄 Complete Job Workflow
- 1. Speak to Mining Foreman NPC → Open dashboard UI.
- 2. Select mining zone and vehicle → Deploy to excavation site.
- 3. Navigate to rock → Strike with pickaxe (3–8 hits) → Rock shatters with particles.
- 4. Pick up mined stone → Carry to vehicle trunk → Deposit material.
- 5. Choose: Continue Mining or Finish Shift.
- 6. Return vehicle to depot → Receive shift payout.
- 7. Visit terminal → Transfer uncollected earnings to bank account.
Framework Support:
- ESX
- QBCore
- QBOX
- Standalone
Discord Support: Join our Discord
