Tasks

The fishing tasks system provides players with daily challenges and rewards for completing various fishing-related activities.

General Configuration

enabled = true
enabledrequiredboolean
true
Allows you to enable or disable the entire fishing tasks system. When set to false, players won't receive any fishing tasks.

Task Management Configuration

The activeTasks section controls how many tasks are assigned to players:

activeTasks = {
    min = 1,
    max = 5
}
activeTasks.minrequirednumber
1
The minimum number of tasks assigned to each player.
activeTasks.maxrequirednumber
5
The maximum number of tasks assigned to each player.

Reset Configuration

resetTime = '00:00'
resetTimerequiredstring
'00:00'
The time of day when tasks reset and new tasks are assigned to players. Uses 24-hour format (HH:MM).

Commands Configuration

The commands section configures the commands related to fishing tasks:

commands = {
    tasks = {
        enabled = true,
        command = 'fishingtasks',
        help = 'View fishing tasks'
    }
}
commands.tasks.enabledrequiredboolean
true
Whether to enable the tasks command.
commands.tasks.commandrequiredstring
'fishingtasks'
The command that players can use to view their active tasks.
commands.tasks.helprequiredstring
'View fishing tasks'
The help text shown for the command.

Task Types

The types section defines the available task types:

types = {
    CATCH_SPECIES = 'catch_species',
    CATCH_TYPE = 'catch_type',
    CATCH_SPECIFIC = 'catch_specific',
    TOTAL_WEIGHT = 'total_weight'
}
types.CATCH_SPECIESrequiredstring
'catch_species'
Task type for catching different species of fish.
types.CATCH_TYPErequiredstring
'catch_type'
Task type for catching fish of a specific rarity type (common, uncommon, rare, etc.).
types.CATCH_SPECIFICrequiredstring
'catch_specific'
Task type for catching a specific fish.
types.TOTAL_WEIGHTrequiredstring
'total_weight'
Task type for catching a total weight of fish.

Task List Configuration

The list section defines all available tasks that can be assigned to players:

list = {
    catch_variety = {
        type = 'catch_species',
        label = 'Variety Fisher',
        description = 'Catch %d different species of fish',

        target = 10,

        rewards = {
            money = 5000,
            items = {
                { name = 'bread', amount = 5 }
            }
        }
    },
    
    catch_common = {
        type = 'catch_type',
        params = { type = 'common' },
        label = 'Common Catcher',
        description = 'Catch %d common fish',

        target = 10,

        rewards = {
            money = 2000,
            items = {
                { name = 'bread', amount = 3 }
            }
        }
    },

    catch_uncommon = {
        type = 'catch_specific',
        params = { fish = 'uncommon' },
        label = 'Uncommon Hunter',
        description = 'Catch %d uncommon fish',

        target = 5,

        rewards = {
            money = 3000
        }
    },

    catch_rare = {
        type = 'catch_type',
        params = { type = 'rare' },
        label = 'Rare Hunter',
        description = 'Catch %d rare fish',

        target = 3,

        rewards = {
            money = 10000
        }
    },

    catch_epic = {
        type = 'catch_type',
        params = { type = 'epic' },
        label = 'Epic Hunter',
        description = 'Catch %d epic fish',

        target = 2,

        rewards = {
            money = 20000
        }
    },

    catch_legendary = {
        type = 'catch_type',
        params = { type = 'legendary' },
        label = 'Legend Hunter',
        description = 'Catch %d legendary fish',

        target = 1,

        rewards = {
            money = 50000
        }
    },

    catch_shark = {
        type = 'catch_specific',
        params = { fish = 'shark' },
        label = 'Shark Hunter',
        description = 'Catch %d sharks',

        target = 1,

        rewards = {
            money = 15000
        }
    },

    total_weight = {
        type = 'total_weight',
        label = 'Heavy Lifter',
        description = 'Catch %d kg worth of fish',
        
        target = 10,

        rewards = {
            money = 7500
        }
    }
}

Common Task Properties

list.[taskId]requiredtable
Each task has a unique identifier that becomes its key in the list table.
list.[taskId].typerequiredstring
The type of task, must match one of the defined types.
list.[taskId].labelrequiredstring
The display name of the task shown to players.
list.[taskId].descriptionrequiredstring
The description of the task shown to players. Use %d to insert the target value.
list.[taskId].targetrequirednumber
The numeric goal that must be reached to complete the task.

Task Rewards

list.[taskId].rewardsrequiredtable
The rewards given to players upon task completion.
list.[taskId].rewards.moneynumber
The amount of money rewarded for completing the task.
list.[taskId].rewards.itemstable
A table of items rewarded for completing the task.
list.[taskId].rewards.items[].namerequiredstring
The name of the item to reward.
list.[taskId].rewards.items[].amountrequirednumber
The quantity of the item to reward.

Task Type-Specific Properties

Catch Species Task

catch_variety = {
    type = 'catch_species',
    label = 'Variety Fisher',
    description = 'Catch %d different species of fish',
    target = 10,
    rewards = {
        money = 5000,
        items = {
            { name = 'bread', amount = 5 }
        }
    }
}

The catch_species task type tracks unique fish species caught. No additional parameters are needed.

Catch Type Task

catch_common = {
    type = 'catch_type',
    params = { type = 'common' },
    label = 'Common Catcher',
    description = 'Catch %d common fish',
    target = 10,
    rewards = {
        money = 2000,
        items = {
            { name = 'bread', amount = 3 }
        }
    }
}
list.[taskId].paramsrequiredtable
Parameters specific to the catch_type task.
list.[taskId].params.typerequiredstring
The rarity type of fish to catch (common, uncommon, rare, epic, legendary).

Catch Specific Task

catch_shark = {
    type = 'catch_specific',
    params = { fish = 'shark' },
    label = 'Shark Hunter',
    description = 'Catch %d sharks',
    target = 1,
    rewards = {
        money = 15000
    }
}
list.[taskId].paramsrequiredtable
Parameters specific to the catch_specific task.
list.[taskId].params.fishrequiredstring
The specific fish name that needs to be caught.

Total Weight Task

total_weight = {
    type = 'total_weight',
    label = 'Heavy Lifter',
    description = 'Catch %d kg worth of fish',
    target = 10,
    rewards = {
        money = 7500
    }
}

The total_weight task type tracks the total weight of all fish caught. No additional parameters are needed.

Task Examples

catch_variety = {
    type = 'catch_species',
    label = 'Variety Fisher',
    description = 'Catch %d different species of fish',
    target = 10,
    rewards = {
        money = 5000,
        items = {
            { name = 'bread', amount = 5 }
        }
    }
}

This task requires players to catch 10 different fish species. It rewards 5000 money and 5 bread items.