Skip to main content

📚 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 /scramble command 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:

DifficultyRoundsWord LengthComplexityExample Words
Level 11-33-5 lettersSimpledog, cat, sun, moon, tree
Level 24-66-10 lettersMediumcomputer, elephant, guitar, mountain
Level 37-910-15 lettersHardphotosynthesis, democracy, algorithm
Level 41015+ lettersExpertartificial 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:

  1. Difficulty level of the word
  2. 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.lua for the complete word list (150+ words) and all configuration parameters.