TxglsScripting
  • 🔊txgls-loadscreen
    • Index.html
  • 🍖txgls-butcherjob
    • config.lua
    • ox_inventory
    • qb-inventory
    • okokNotify
  • 🧑‍🌾txgls-farmingjob
    • config.lua
    • ox_inventory
    • qb-inventory
    • farming_data.sql
Powered by GitBook
On this page
  1. txgls-farmingjob

config.lua

Config = {}

Config.Inventory = 'ox'            -- 'qb' or 'ox'
Config.Target = 'ox'               -- 'qb' or 'ox'
Config.Menu = 'ox'                 -- 'qb' or 'ox'
Config.Notify = 'qb'               -- 'qb' or 'ox'
Config.Progress = 'qb'             -- 'qb' or 'ox'
Config.FuelSystem = 'LegacyFuel'   -- 'qb-fuel' / 'LegacyFuel' / 'cdn-fuel'

Config.ProgressBar = function(time, label, useWhileDead, canCancel, disableControls, animation, prop, propTwo, onFinish, onCancel)
    if Config.Progress == 'ox' then
        if lib.progressBar({
            duration = time,
            label = label,
            useWhileDead = useWhileDead or false,
            canCancel = canCancel or true,
            disable = disableControls or {
                car = true,
                move = true,
                combat = true
            },
            anim = animation,
            prop = prop
        }) then
            if onFinish then onFinish() end
        else
            if onCancel then onCancel() end
        end
    else
        exports['progressbar']:Progress({
            name = "farming_progress",
            duration = time,
            label = label,
            useWhileDead = useWhileDead,
            canCancel = canCancel,
            controlDisables = disableControls,
            animation = animation,
            prop = prop,
            propTwo = propTwo,
        }, function(cancelled)
            if not cancelled then
                if onFinish then onFinish() end
            else
                if onCancel then onCancel() end
            end
        end)
    end
end

Config.SetFuel = function(vehicle, fuelLevel)
    if Config.FuelSystem == 'qb-fuel' then
        exports['qb-fuel']:SetFuel(vehicle, fuelLevel)
    elseif Config.FuelSystem == 'LegacyFuel' then
        exports['LegacyFuel']:SetFuel(vehicle, fuelLevel)
    elseif Config.FuelSystem == 'cdn-fuel' then
        exports['cdn-fuel']:SetFuel(vehicle, fuelLevel)
    end
end

Config.GiveKeys = function(vehicle)
    local plate = GetVehicleNumberPlateText(vehicle)
    TriggerEvent("vehiclekeys:client:SetOwner", plate)
end

Config.FarmingTools = {
    'farming_hoe',
    'farming_shovel',
    'farming_rake',
}

Config.FarmingTime = 5000         -- Milliseconds.
Config.MaxFarmingDistance = 3.0   -- Distance.
Config.CooldownTime = 2000        -- Cooldown.

Config.OverfarmSystem = {
    enabled = true,
    maxHarvests = 10,     -- Maximum harvests before the field needs replanting.
    yieldReduction = 15,  -- Percentage reduction.
    minYield = 20,        -- Minimum yield percentage.
    replantTime = 8000,   -- Milliseconds (planting new seeds).
    growthTime = 300000,  -- Milliseconds (new growth).
    seedItems = {
        wheat = 'wheat_seeds',
        barley = 'barley_seeds', 
        potato = 'potato_seeds',
        carrot = 'carrot_seeds'
    },
    seedCost = 2,          -- Number of seeds required to replant.
    fertiliser = {
        enabled = true,
        item = 'fertiliser',   -- Item name for fertiliser.
        speedMultiplier = 0.5, -- Reduces growth time by 50%.
        cost = 1               -- Amount of fertiliser needed.
    }
}

Config.EnableLeveling = true
Config.XPPerHarvest = {
    wheat = 10,
    barley = 12,
    potato = 8,
    carrot = 8
}

Config.LevelRewards = {
    yieldBonus = {
        enabled = true,
        percentPerLevel = 5,
        maxBonus = 100
    },
    
    speedBonus = {
        enabled = true,
        percentPerLevel = 3,
        maxBonus = 60
    },
    
    rareItems = {
        enabled = true,
        baseChance = 2,
        chancePerLevel = 0.5,
        maxChance = 15,
        items = {
            {
                item = 'goldchain',
                minAmount = 1,
                maxAmount = 1,
                crops = {'wheat', 'barley'}
            },
            {
                item = 'rolex',
                minAmount = 1,
                maxAmount = 1,
                crops = {'potato'}
            },
            {
                item = 'diamond_ring',
                minAmount = 1,
                maxAmount = 1,
                crops = {'carrot'}
            }
        }
    },
    
    milestoneRewards = {
        enabled = true,
        rewards = {
            [5] = {
                items = {
                    {item = 'goldchain', amount = 1},
                    {item = 'money', amount = 1000}
                },
                message = 'Level 5 Milestone! You received a gold chain and $1000!'
            },
            [10] = {
                items = {
                    {item = 'rolex', amount = 1},
                    {item = 'money', amount = 2500}
                },
                message = 'Level 10 Milestone! You received a Rolex and $2500!'
            },
            [15] = {
                items = {
                    {item = 'diamond_ring', amount = 1},
                    {item = 'money', amount = 5000}
                },
                message = 'Level 15 Milestone! You received a diamond ring and $5000!'
            },
            [20] = {
                items = {
                    {item = 'tenkgoldchain', amount = 1},
                    {item = 'diamond', amount = 3},
                    {item = 'money', amount = 10000}
                },
                message = 'Level 20 Milestone! You received a 10k gold chain, 3 diamonds and $10000!'
            }
        }
    }
}

Config.FarmingZones = {
    {
        name = 'grapeseed_wheat_1',
        label = 'Grapeseed Wheat Field',
        coords = vector3(2858.5, 4633.5, 48.0),
        size = vector3(40.0, 40.0, 5.0),
        rotation = 0.0,
        crop = 'wheat',
        requiredTool = 'farming_hoe',
        minHarvest = 2,
        maxHarvest = 5,
        blip = {
            enabled = true,
            sprite = 85,
            color = 46,
            scale = 0.7
        }
    },
    {
        name = 'grapeseed_barley_1',
        label = 'Grapeseed Barley Field',
        coords = vector3(2900.0, 4680.0, 48.0),
        size = vector3(35.0, 35.0, 5.0),
        rotation = 0.0,
        crop = 'barley',
        requiredTool = 'farming_hoe',
        minHarvest = 2,
        maxHarvest = 4,
        blip = {
            enabled = true,
            sprite = 85,
            color = 46,
            scale = 0.7
        }
    },
    {
        name = 'grapeseed_potato_1',
        label = 'Grapeseed Potato Field',
        coords = vector3(2820.0, 4720.0, 48.0),
        size = vector3(30.0, 30.0, 5.0),
        rotation = 0.0,
        crop = 'potato',
        requiredTool = 'farming_shovel',
        minHarvest = 2,
        maxHarvest = 4,
        blip = {
            enabled = true,
            sprite = 85,
            color = 46,
            scale = 0.7
        }
    },
    {
        name = 'grapeseed_carrot_1',
        label = 'Grapeseed Carrot Field',
        coords = vector3(2780.0, 4700.0, 48.0),
        size = vector3(25.0, 25.0, 5.0),
        rotation = 0.0,
        crop = 'carrot',
        requiredTool = 'farming_shovel',
        minHarvest = 2,
        maxHarvest = 5,
        blip = {
            enabled = true,
            sprite = 85,
            color = 46,
            scale = 0.7
        }
    },
    
    {
        name = 'senora_wheat_1',
        label = 'Senora Wheat Field',
        coords = vector3(1958.5, 4928.5, 41.0),
        size = vector3(45.0, 45.0, 5.0),
        rotation = 0.0,
        crop = 'wheat',
        requiredTool = 'farming_hoe',
        minHarvest = 3,
        maxHarvest = 6,
        blip = {
            enabled = true,
            sprite = 85,
            color = 46,
            scale = 0.7
        }
    },
    {
        name = 'senora_potato_1',
        label = 'Senora Potato Field',
        coords = vector3(2015.0, 4890.0, 41.0),
        size = vector3(35.0, 35.0, 5.0),
        rotation = 0.0,
        crop = 'potato',
        requiredTool = 'farming_shovel',
        minHarvest = 3,
        maxHarvest = 5,
        blip = {
            enabled = true,
            sprite = 85,
            color = 46,
            scale = 0.7
        }
    },
    
    {
        name = 'harmony_barley_1',
        label = 'Harmony Barley Field',
        coords = vector3(1244.0, 2728.0, 38.0),
        size = vector3(40.0, 40.0, 5.0),
        rotation = 0.0,
        crop = 'barley',
        requiredTool = 'farming_hoe',
        minHarvest = 2,
        maxHarvest = 5,
        blip = {
            enabled = true,
            sprite = 85,
            color = 46,
            scale = 0.7
        }
    },
    {
        name = 'harmony_carrot_1',
        label = 'Harmony Carrot Field',
        coords = vector3(1320.0, 2810.0, 38.0),
        size = vector3(30.0, 30.0, 5.0),
        rotation = 0.0,
        crop = 'carrot',
        requiredTool = 'farming_shovel',
        minHarvest = 2,
        maxHarvest = 4,
        blip = {
            enabled = true,
            sprite = 85,
            color = 46,
            scale = 0.7
        }
    },
}

Config.ProcessingLocations = {
    {
        name = 'grain_mill',
        label = 'Grain Mill',
        coords = vector3(2832.88, 4571.82, 46.95),
        recipes = {
            {
                input = { item = 'wheat', amount = 5 },
                output = { item = 'flour', amount = 3 },
                time = 8000
            },
            {
                input = { item = 'barley', amount = 4 },
                output = { item = 'barley_flour', amount = 2 },
                time = 7000
            }
        },
        blip = {
            enabled = true,
            sprite = 478,
            color = 4,
            scale = 0.8
        }
    }
}

Config.Delivery = {
    requiredItems = 3,
    minReward = 400,
    maxReward = 800,
    continueDeliveries = true,
    locationCooldownTime = 300000,
    vehicleSpawn = {
        coords = vector3(2882.21, 4482.22, 48.67),
        heading = 315.0,
        model = "speedo",
        label = "Get Delivery Van"
    },
    vehicleReturn = {
        coords = vector3(2860.0, 4608.0, 48.0),
        heading = 135.0,
        label = "Return Delivery Van"
    }
}

Config.DeliveryItems = {
    'flour',
    'barley_flour',
    'potato',
    'carrot'
}

Config.DeliveryPackages = {
    {
        name = 'processed_goods',
        label = 'Processed Goods Package',
        items = {'flour', 'barley_flour'},
        requiredAmount = 3,
        reward = {min = 400, max = 800}
    },
    {
        name = 'fresh_vegetables',
        label = 'Fresh Vegetables Package', 
        items = {'potato', 'carrot'},
        requiredAmount = 5,
        reward = {min = 300, max = 600}
    },
    {
        name = 'potato_package',
        label = 'Potato Package',
        items = {'potato'},
        requiredAmount = 8,
        reward = {min = 250, max = 450}
    },
    {
        name = 'carrot_package', 
        label = 'Carrot Package',
        items = {'carrot'},
        requiredAmount = 8,
        reward = {min = 250, max = 450}
    }
}

Config.DeliveryLocations = {
    vector3(1163.37, -323.8, 69.21), -- Mirror Park
    vector3(-1223.78, -906.92, 12.33), -- Vespucci Beach
    vector3(-47.52, -1757.51, 29.42), -- Davis
    vector3(373.88, 325.7, 103.57), -- Vinewood Hills
    vector3(150.26, 6648.37, 32.04), -- Paleto Bay
    vector3(-3241.93, 1001.46, 12.83), -- Chumash
    vector3(2557.26, 382.18, 108.62), -- Tataviam Mountains
    vector3(1961.91, 3740.5, 32.34), -- Sandy Shores
    vector3(1392.68, 3606.45, 34.98), -- Sandy Shores Airfield
    vector3(-1487.55, -379.11, 40.16), -- Morningwood
    vector3(-2968.24, 390.91, 15.04), -- Banham Canyon
    vector3(-1820.52, 794.5, 138.09), -- Richman
    vector3(-1305.12, -834.59, 17.15), -- Little Seoul
    vector3(114.54, -1968.11, 20.75), -- South Los Santos
    vector3(1136.42, -982.24, 46.42), -- El Rancho
}
Previoustxgls-farmingjobNextox_inventory

Last updated 6 days ago

🧑‍🌾