📚 SCRAMBLE EVENT
Quick Description
The Scramble Event is an automatic word puzzle game where players compete to unscramble words! The system shows scrambled letters and 3 hints, and players must type the correct word to earn points. Features multiple difficulty levels, progressive rounds, and automatic rewards.
How it works
- Event runs automatically at scheduled times or manually by GMs
- Players join using
/scramblecommand during registration phase - System shows scrambled letters + 3 helpful hints
- First player to type the correct word wins the round
- 10 rounds per event with increasing difficulty every 3 rounds
- After 30 seconds, system shows additional hints
- Winners receive rewards based on difficulty level and account level (AL)
- Final ranking shows top players with most correct answers
Main settings & commands
Player commands
/scramble- Join the event during registration phase
GM commands
/gmscramble- Manually start the event (requires GM level 16+)
Configuration
- Enable/disable:
Config.Enabled = true/false - Max rounds:
Config.MaxRounds = 10 - Difficulty increase:
Config.DifficultyLevelUp = 3(every 3 rounds) - Time per round:
Config.RoundMaxTimeSeconds = 60 - Hint reveal time:
Config.RoundShowHintSeconds = 30 - Registration time:
Config.NotifyTimeMinutes = 1 - Max event duration:
Config.MaxTimeMinutes = 30
Quick config (ScrambleEventConfig.lua)
Config = {
Enabled = true, -- Enable/disable system
MaxRounds = 10, -- Total rounds per event
DifficultyLevelUp = 3, -- Increase difficulty every 3 rounds
NotifyTimeMinutes = 1, -- Registration time (minutes)
MaxTimeMinutes = 30, -- Max event duration (minutes)
RoundMaxTimeSeconds = 60, -- Time per round (seconds)
RoundShowHintSeconds = 30, -- Show extra hints after 30 seconds
ServerCodes = {0, 1, 2, 11, 19}, -- Active server codes
-- Player command to join
EnterCommand = "/scramble",
-- GM command to start manually
StartCommand = "/gmscramble",
GMCommandLevel = 16, -- Minimum GM level required
-- Event schedule (automatic start times)
Scheduler = {
{Year = -1, Month = -1, Day = -1, DoW = -1, Hour = 3, Minute = 17, Second = 0},
{Year = -1, Month = -1, Day = -1, DoW = -1, Hour = 8, Minute = 17, Second = 0},
},
-- Rewards by difficulty level and account level (AL0-AL3)
Rewards = {
{DifficultyLevel = 1, AL0 = 1101, AL1 = 1101, AL2 = 1101, AL3 = 1101},
{DifficultyLevel = 2, AL0 = 1102, AL1 = 1102, AL2 = 1102, AL3 = 1102},
{DifficultyLevel = 3, AL0 = 1103, AL1 = 1103, AL2 = 1103, AL3 = 1103},
},
}
Difficulty levels explained
The event has 4 difficulty levels that increase automatically during the event:
| Difficulty | Rounds | Word Length | Complexity | Example Words |
|---|---|---|---|---|
| Level 1 | 1-3 | 3-5 letters | Simple | dog, cat, sun, moon, tree |
| Level 2 | 4-6 | 6-10 letters | Medium | computer, elephant, guitar, mountain |
| Level 3 | 7-9 | 10-15 letters | Hard | photosynthesis, democracy, algorithm |
| Level 4 | 10 | 15+ letters | Expert | artificial intelligence, cryptocurrency |
Difficulty progression:
DifficultyLevelUp = 3, -- Difficulty increases every 3 rounds
-- Round 1-3: Level 1
-- Round 4-6: Level 2
-- Round 7-9: Level 3
-- Round 10: Level 4
How to add custom words
Each word has 3 hints to help players guess:
Words = {
-- Difficulty Level 1 (Easy words)
{DifficultyLevel = 1, Word="dog", Tips={"pet", "bark", "loyal"}},
{DifficultyLevel = 1, Word="cat", Tips={"pet", "meow", "whiskers"}},
{DifficultyLevel = 1, Word="sun", Tips={"sky", "bright", "hot"}},
-- Difficulty Level 2 (Medium words)
{DifficultyLevel = 2, Word="computer", Tips={"electronic", "keyboard", "screen"}},
{DifficultyLevel = 2, Word="elephant", Tips={"animal", "trunk", "large"}},
{DifficultyLevel = 2, Word="mountain", Tips={"high", "climb", "peak"}},
-- Difficulty Level 3 (Hard words)
{DifficultyLevel = 3, Word="photosynthesis", Tips={"plants", "sunlight", "chlorophyll"}},
{DifficultyLevel = 3, Word="democracy", Tips={"government", "voting", "people"}},
{DifficultyLevel = 3, Word="algorithm", Tips={"computer", "steps", "problem-solving"}},
-- Difficulty Level 4 (Expert words)
{DifficultyLevel = 4, Word="artificial intelligence", Tips={"AI", "computers", "smart"}},
{DifficultyLevel = 4, Word="cryptocurrency", Tips={"digital", "bitcoin", "blockchain"}},
}
Example word additions:
Easy words (Level 1):
{DifficultyLevel = 1, Word="fire", Tips={"hot", "flame", "burn"}},
{DifficultyLevel = 1, Word="water", Tips={"drink", "liquid", "clear"}},
Medium words (Level 2):
{DifficultyLevel = 2, Word="airplane", Tips={"fly", "wings", "travel"}},
{DifficultyLevel = 2, Word="hospital", Tips={"medical", "patients", "doctors"}},
Hard words (Level 3):
{DifficultyLevel = 3, Word="biotechnology", Tips={"biology", "technology", "genetic"}},
{DifficultyLevel = 3, Word="archaeology", Tips={"ancient", "dig", "artifacts"}},
Rewards system
Rewards are given per round won based on:
- Difficulty level of the word
- Account Level (AL) of the player (AL0, AL1, AL2, AL3)
Rewards = {
-- Level 1 rewards (easy words)
{DifficultyLevel = 1, AL0 = 1101, AL1 = 1101, AL2 = 1101, AL3 = 1101},
-- Level 2 rewards (medium words)
{DifficultyLevel = 2, AL0 = 1102, AL1 = 1102, AL2 = 1102, AL3 = 1102},
-- Level 3 rewards (hard words)
{DifficultyLevel = 3, AL0 = 1103, AL1 = 1103, AL2 = 1103, AL3 = 1103},
}
Reward IDs reference your server's reward table (PackageItemData.txt or similar).
Example reward configuration:
Rewards = {
-- Easy words: 100 coins for all account levels
{DifficultyLevel = 1, AL0 = 1000, AL1 = 1000, AL2 = 1000, AL3 = 1000},
-- Medium words: 200 coins for AL0/AL1, 250 for AL2/AL3
{DifficultyLevel = 2, AL0 = 2000, AL1 = 2000, AL2 = 2500, AL3 = 2500},
-- Hard words: Progressive rewards
{DifficultyLevel = 3, AL0 = 3000, AL1 = 3500, AL2 = 4000, AL3 = 5000},
}
Event schedule explained
Scheduler = {
{Year = -1, Month = -1, Day = -1, DoW = -1, Hour = 3, Minute = 17, Second = 0},
-- -1 = Any (Year/Month/Day/DayOfWeek)
-- DoW: 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday
}
Example schedules:
Every day at 14:00:
{Year = -1, Month = -1, Day = -1, DoW = -1, Hour = 14, Minute = 0, Second = 0}
Only on Saturdays at 20:30:
{Year = -1, Month = -1, Day = -1, DoW = 6, Hour = 20, Minute = 30, Second = 0}
Multiple times per day:
Scheduler = {
{Year = -1, Month = -1, Day = -1, DoW = -1, Hour = 10, Minute = 0, Second = 0},
{Year = -1, Month = -1, Day = -1, DoW = -1, Hour = 15, Minute = 0, Second = 0},
{Year = -1, Month = -1, Day = -1, DoW = -1, Hour = 21, Minute = 0, Second = 0},
}
Event flow example
🔔 Phase 1: Registration (1 minute)
[Scramble Event] Starting in 1 minute!
Type /scramble to join!
🎮 Phase 2: Round starts
Round 1/10 | Difficulty: Easy
Scrambled word: G O D
Hints: pet, bark, loyal
Time remaining: 60 seconds
⏰ Phase 3: Additional hints (after 30 seconds)
Additional hint revealed!
Hints: pet, bark, loyal, 4-legged friend
✅ Phase 4: Winner
Player "MasterGamer" solved it: DOG
+1101 reward coins!
Next round in 5 seconds...
🏆 Phase 5: Final ranking (after 10 rounds)
=== Scramble Event Results ===
1st: MasterGamer - 8 correct answers
2nd: ProPlayer - 6 correct answers
3rd: Noob123 - 3 correct answers
Tips for configuration
✅ Adjust round time for server difficulty
RoundMaxTimeSeconds = 60, -- Easy: 60s, Hard: 30s
✅ Balance hints with show time
RoundShowHintSeconds = 30, -- Show extra hints halfway
✅ Scale rewards by difficulty
{DifficultyLevel = 1, AL0 = 100}, -- Easy
{DifficultyLevel = 2, AL0 = 250}, -- Medium
{DifficultyLevel = 3, AL0 = 500}, -- Hard
✅ Add themed word lists
-- Game-themed words
{DifficultyLevel = 1, Word="sword", Tips={"weapon", "blade", "knight"}},
{DifficultyLevel = 2, Word="dungeon", Tips={"underground", "monster", "explore"}},
{DifficultyLevel = 3, Word="enchantment", Tips={"magic", "spell", "buff"}},
✅ Configure for peak hours
Scheduler = {
{Hour = 12, Minute = 0}, -- Lunch time
{Hour = 18, Minute = 0}, -- Evening
{Hour = 21, Minute = 0}, -- Prime time
}
Advanced features
Hint system
- 3 base hints always shown
- Additional hints revealed after
RoundShowHintSeconds - Tips get progressively more obvious
- Players can guess anytime during the round
Account Level (AL) rewards
Supports differentiated rewards for:
- AL0: Free accounts / new players
- AL1: Basic premium accounts
- AL2: Advanced premium accounts
- AL3: VIP accounts
Database requirements
The reward system uses Package Item IDs that must exist in your server's reward database:
-- Example reward entries (adjust to your server structure)
INSERT INTO PackageItemData VALUES (1101, 'Scramble Easy Win', ...);
INSERT INTO PackageItemData VALUES (1102, 'Scramble Medium Win', ...);
INSERT INTO PackageItemData VALUES (1103, 'Scramble Hard Win', ...);
Make sure reward IDs in config match your database!
See
ScrambleEventConfig.luafor the complete word list (150+ words) and all configuration parameters.