Tournaments

The fishing tournament system allows players to participate in time-limited fishing competitions with rewards for the top performers.

General Configuration

enabled = true
enabledrequiredboolean
true
Allows you to enable or disable the entire fishing tournament system. When set to false, the organizer NPC won't spawn, and tournaments won't be held.

Organizer Configuration

The organizer section defines the NPC who manages fishing tournaments:

organizer = {
    coords = vec4(238.81, 1135.75, 225.62, 280.17),

    model = 'a_m_y_beach_01',
    scenario = 'WORLD_HUMAN_CLIPBOARD',

    blip = {
        enabled = true,
        sprite = 267,
        display = 4,
        scale = 0.7,
        colour = 46,
        label = 'Tournament Organizer'
    }
}
organizer.coordsrequiredvector4
The coordinates where the organizer NPC will spawn (x, y, z, heading).
organizer.modelrequiredstring
'a_m_y_beach_01'
The model name of the NPC tournament organizer.
organizer.scenariorequiredstring
'WORLD_HUMAN_CLIPBOARD'
The animation scenario the organizer will use.

Organizer Blip Configuration

The organizer.blip section controls how the organizer appears on the map:

blip = {
    enabled = true,
    sprite = 267,
    display = 4,
    scale = 0.7,
    colour = 46,
    label = 'Tournament Organizer'
}
organizer.blip.enabledrequiredboolean
true
Whether to show the organizer's location on the map.
organizer.blip.spriterequirednumber
267
The blip sprite ID to use on the map.
organizer.blip.displayrequirednumber
4
The blip display mode on the map.
organizer.blip.scalerequirednumber
0.7
The size of the blip on the map.
organizer.blip.colourrequirednumber
46
The blip color ID to use on the map.
organizer.blip.labelrequiredstring
'Tournament Organizer'
The text label shown on the map for the organizer.

Tournament Configuration

entryFee = 1000
entryFeerequirednumber
1000
The amount of money players need to pay to join a tournament. Set to 0 for free entry.

Timing Configuration

The timing section controls tournament duration and announcement periods:

timing = {
    duration = 60,
    announce = 30,
}
timing.durationrequirednumber
60
The duration of tournaments in minutes.
timing.announcerequirednumber
30
The pre-tournament announcement/registration period in minutes.

Tournament Scheduling

The scheduling section configures automatic tournament scheduling:

scheduling = {
    enabled = true,
    
    timezoneOffset = 0,
    
    schedule = {
        [0] = { { 12, 00 }, { 18, 00 } },
        [1] = { { 12, 00 }, { 18, 00 } },
        [2] = { { 12, 00 }, { 18, 00 } },
        [3] = { { 12, 00 }, { 18, 00 } },
        [4] = { { 12, 00 }, { 18, 00 } },
        [5] = { { 12, 00 }, { 18, 00 } },
        [6] = { { 12, 00 }, { 18, 00 } },
    }
}
scheduling.enabledrequiredboolean
true
Whether to enable automatic tournament scheduling.
scheduling.timezoneOffsetrequirednumber
0
Timezone offset in hours to adjust scheduled tournament times based on server time.

Tournament Schedule Configuration

scheduling.schedulerequiredtable
A table defining tournament schedules for each day of the week.
scheduling.schedule[day]requiredarray
An array of time slots when tournaments should start on a specific day, with each slot as an array of {hour, minute}.
schedule = {
    [0] = { { 12, 00 }, { 18, 00 } }, -- Two tournaments on Sunday
    [1] = { { 12, 00 } },             -- One tournament on Monday
    [2] = { },                        -- No tournaments on Tuesday
    [3] = { { 14, 30 }, { 20, 00 } }, -- Two tournaments on Wednesday
}

Scoring Configuration

The rarityMultipliers section defines point multipliers based on fish rarity:

rarityMultipliers = {
    common = 1.0,
    uncommon = 1.25,
    rare = 1.5,
    epic = 1.75,
    legendary = 2.0
}
rarityMultipliersrequiredtable
A table of multipliers that determine how many points players earn based on fish rarity.
rarityMultipliers.commonrequirednumber
1.0
Point multiplier for common fish.
rarityMultipliers.uncommonrequirednumber
1.25
Point multiplier for uncommon fish.
rarityMultipliers.rarerequirednumber
1.5
Point multiplier for rare fish.
rarityMultipliers.epicrequirednumber
1.75
Point multiplier for epic fish.
rarityMultipliers.legendaryrequirednumber
2.0
Point multiplier for legendary fish.

Rewards Configuration

The rewards section configures what players earn for participating in tournaments:

rewards = {
    prize = {
        enabled = true,

        type = 'money',

        base = 10000,

        addEntryFees = true,
        playerMultiplier = 2.0,

        amount = {
            min = 50,
            max = 10000
        }
    },
    
    bonus = {
        enabled = true,
        maxItems = 2,
        
        items = {
            { name = 'minnow', amount = { min = 1, max = 3 }, chance = 70 },
            { name = 'nightcrawler', amount = { min = 1, max = 5 }, chance = 50 },
        }
    }
}

Prize Rewards Configuration

prize = {
    enabled = true,
    type = 'money',
    base = 10000,
    addEntryFees = true,
    playerMultiplier = 2.0,
    amount = {
        min = 50,
        max = 10000
    }
}
rewards.prize.enabledrequiredboolean
true
Whether to enable monetary prizes for tournament winners.
rewards.prize.typerequiredstring
'money'
The inventory item to use as prizes (usually 'money').
rewards.prize.baserequirednumber
10000
The base prize pool amount before modifications.
rewards.prize.addEntryFeesrequiredboolean
true
Whether to add collected entry fees to the prize pool.
rewards.prize.playerMultiplierrequirednumber
2.0
Maximum multiplier for prize pool based on number of participants.

Prize Amount Limits

amount = {
    min = 50,
    max = 10000
}
rewards.prize.amount.minrequirednumber
50
Minimum amount any winner can receive as a prize.
rewards.prize.amount.maxrequirednumber
10000
Maximum amount any winner can receive as a prize.

Bonus Rewards Configuration

bonus = {
    enabled = true,
    maxItems = 2,
    
    items = {
        { name = 'minnow', amount = { min = 1, max = 3 }, chance = 70 },
        { name = 'nightcrawler', amount = { min = 1, max = 5 }, chance = 50 },
    }
}
rewards.bonus.enabledrequiredboolean
true
Whether to enable bonus item rewards.
rewards.bonus.maxItemsrequirednumber
2
Maximum number of bonus items a player can receive.

Bonus Items Configuration

items = {
    { name = 'minnow', amount = { min = 1, max = 3 }, chance = 70 },
    { name = 'nightcrawler', amount = { min = 1, max = 5 }, chance = 50 },
}
rewards.bonus.itemsrequiredarray
An array of potential bonus items players can win.
rewards.bonus.items[].namerequiredstring
The inventory item name to give as a bonus reward.
rewards.bonus.items[].amountrequiredtable
The amount range for the bonus item.
rewards.bonus.items[].amount.minrequirednumber
The minimum amount of the bonus item to give.
rewards.bonus.items[].amount.maxrequirednumber
The maximum amount of the bonus item to give.
rewards.bonus.items[].chancerequirednumber
The percentage chance (0-100) of receiving this bonus item.

Admin Commands Configuration

The commands section configures tournament-related admin commands:

commands = {
    enabled = true,
    
    starttournament = {
        enabled = true,
        command = 'starttournament', 
        help = 'Start a fishing tournament',
        restricted = 'group.admin'
    },
    
    jointournament = {
        enabled = true,
        command = 'jointournament',
        help = 'Join a fishing tournament',
        restricted = 'group.admin'
    },
}
commands.enabledrequiredboolean
true
Master toggle to enable or disable all tournament-related commands.
commands.starttournament.enabledrequiredboolean
true
Whether to enable the command to start fishing tournaments.
commands.starttournament.commandrequiredstring
'starttournament'
The command name for starting tournaments.
commands.starttournament.helprequiredstring
'Start a fishing tournament'
The help text shown for the start tournament command.
commands.starttournament.restrictedrequiredstring
'group.admin'
Access restriction for the start tournament command. Only players with this permission can use it.
commands.jointournament.enabledrequiredboolean
true
Whether to enable the command to join fishing tournaments.
commands.jointournament.commandrequiredstring
'jointournament'
The command name for joining tournaments.
commands.jointournament.helprequiredstring
'Join a fishing tournament'
The help text shown for the join tournament command.
commands.jointournament.restrictedrequiredstring
'group.admin'
Access restriction for the join tournament command. Only players with this permission can use it.