Script Vineyard Job

Configuration (config.lua)

Config = {}

Config.DropPlayer = true -- true / false if true they will be disconnected by server if they try to exploit or cheat...

Config.MessageForCheater = 'Nice try! You are an idiot!' -- Message when they got dropped

Config.PropBush = 'prop_bush_grape_01' -- Important if you change this then change in PropsSpawn too!!!

Config.PropProcess = 'gr_dlc_gr_yacht_props_table_03' -- Important if you change this then change in Processing too!!!

Config.OnlyJob = false -- true / false if true then write name of job in Config.JobName!

Config.JobName = 'vineyard' -- name of the job if you have Config.OnlyJob = true...

--- site for blips: https://docs.fivem.net/docs/game-references/blips/

Config.Blips = {
    {
        show = true,
        coords = vec3(1320.1462, 1867.4572, 91.0318), 
        sprite = 253, 
        scale = 1.0, 
        color = 28, 
        labelofblip = 'Vineyard'
    },
    {
        show = true, 
        coords = vec3(-1927.6268, 2039.3903, 140.8327), 
        sprite = 464, 
        scale = 1.0, 
        color = 32, 
        labelofblip = 'Proccessing wine'
    },
    {
        show = true, 
        coords = vec3(-1681.0405, -290.9017, 51.8836), 
        sprite = 276, 
        scale = 1.0, 
        color = 2, 
        labelofblip = 'Selling Wine'
    },
}

Config.Menus = {
    --- menu for spawn props
    MainTitleStartMenu = 'Start-Menu', -- Main title
    TitleStartMenu = 'Spawn Props', -- Title for spawnning props
    DescriptionStartMenu = 'Spawn props and start pickuping', -- description for spawning props
    StarMenuIcon = 'bars', -- icon
    --- end spawn props

    --- menu for deleting props  
    TitleRestartProps = 'Delete Props', --Title for deleting props
    DescriptionRestartProps = 'You will delete the props and if you want you can start over!', -- description for deleting objects
    RestartPropsIcon = 'trash', -- icon
    --- end deleting props
    ----- Proccess
    MainTitleProccessMenu = 'Start-Proccess',

    TitleProccessMenu = 'Spawn table', -- title to spawn table and start proccessing
    DescriptionProccessMenu = 'Spawn table to start with proccess', -- description to spawn table and start proccessing
    ProccessMenuIcon = 'spinner', -- icon

    TitleDeleteProps = 'Delete table', -- Title for delete prop
    DescriptionDeleteProps = 'Delete table if you done!', -- description for delete prop
    DeletePropsIcon = 'trash', -- icon
    -------

    ---- Proccess table
    MainTitleTable = 'Do?', -- Main title
    TitleTable = 'Start removing', -- First title
    DescriptionTable = 'Start by plucking the leaves from the grapes', -- Desc first
    TableIcon = 'leaf', -- icon

    TitlePressing = 'Start Pressing', -- Second title
    DescriptionPressing = 'Start by pressing to squeeze the juice out of the grapes', -- Desc second
    PressingIcon = 'water', -- icon

    TitlePacking = 'Start Packing', -- Third title
    DescriptionPacking = 'Start pouring into bottles', -- Desc third
    PackingIcon = 'wine-bottle' -- icon

}

Config.Notifys = {
    -- In car notify
    TitleInCar = 'You are in car', -- title for in vehicle
    DescInCar = 'Please get out of the vehicle!', -- desc for in vehicle
    TypeCar = 'error', -- type of notification in vehicle
    ------
    ------ Pickup and props notifys
    TitleProps = 'Props', -- title for detecting if he wants to reset job and script doesnt detect any prop...
    DescProps = 'Script its not detecting any props spawned', -- desc for detecting if he wants to reset job and script doesnt detect any prop...
    TypeProps = 'error', -- Type of notification
    ------
    TitleFast = 'Too fast', -- title for cooldown
    DescFast = 'You are doing this too fast please wait', -- desc for cooldown
    TypeFast = 'error', -- Type of notification 
    ------
    TitleSpawned = 'Props Spawned!', -- Title for already spawned props
    DescSpawned = 'Props are already spawned! What are you doing?', -- Desc for already spawned props, if they click start job and props are already spawned
    TypeSpawned = 'error', -- Type of notification 
    ------
    TitleSuccessProps = 'Props spawned',
    DescSuccessProps = 'Go to bushes and start pickuping!',
    TypeSuccessProps = 'success', -- Type of notification
    ------
    TitleDeleted = 'Props are deleted!',
    DescDeleted = 'Props have been deleted! You can start again!',
    TypeDeleted = 'success', -- Type of notification
    ------
    TitleTooFar = 'You are too far', -- Title if they are too far from object
    DescTooFar = 'You are too far from object', -- Desc if they are too far from object
    TypeTooFar = 'error', -- Type of notification
    ------
    ------ Proccesing
    TitleSuccessProccess = 'Table spawned!', -- for table spawn if its already there....
    DescSuccessProccess = 'Table spawned, you can go and proccess your goods',
    TypeSuccessProccess = 'success',
    ------
    TitleBottle = 'Dont have!',
    DescBottle = 'You dont have a bottle or enough grape juice!',
    TypeBottle = 'error',
    ------
    TitleNoGrape = 'Dont have',
    DescNoGrape = 'You don have grapes with leafs',
    TypeNoGrape = 'error',
    ------
    TitleNotSell = 'Dont have', -- selling
    DescNotSell = 'You don have enough wine to sell!',
    TypeNotSell = 'error',
}

Config.Script = {
    Peds = {
        { model = 'ig_dale', coords = vec4(1282.0734, 1878.9054, 83.3521, 236.1872), scenario = 'WORLD_HUMAN_CLIPBOARD', seller = false, StartWorkLabel = 'Work', IconStart = 'fa-solid fa-play', Distance = 2},
        { model = 's_m_m_fieldworker_01', coords = vec4(-1927.6268, 2039.3903, 140.8327, 256.2963), scenario = 'WORLD_HUMAN_AA_COFFEE', process = true, ProcessLabel = 'Processing', iconProcess = 'fa-solid fa-spinner', Distance = 2},
        { model = 'cs_priest', coords = vec4(-1681.0405, -290.9017, 51.8836, 235.5105), scenario = 'WORLD_HUMAN_GUARD_STAND', seller = true, SellLabel = 'Sell Wine', iconSell = 'fa-solid fa-wine-bottle', Distance = 2},
    },
    Location = {
        Enable = true, -- true / false if false then will not check for player's distance from coords and it will not delete props... if true when they get a out of radius of 100meters of vector then it will delete props
        Coords = vec3(1320.1462, 1867.4572, 91.0318), --Coords very importnant to change... go in center where it spawns and copy coords.... or just leave it like it is... i have centered it...
        Radius = 100.0, -- radius to check how much
        Time = 15000 -- time on every 15 seconds it checks player position...
    },
    PropsSpawn = {
        {id = 1, prop = 'prop_bush_grape_01',  coords = vec3(1306.5592, 1892.7340, 87.3937)}, -- Coords for prop grape bush...
        {id = 2, prop = 'prop_bush_grape_01', coords = vec3(1315.7278, 1883.4445, 89.3911)}, -- Coords for prop grape bush...
        {id = 3, prop = 'prop_bush_grape_01', coords = vec3(1326.2654, 1872.9475, 91.7467)}, -- Coords for prop grape bush...
        {id = 4, prop = 'prop_bush_grape_01', coords = vec3(1336.5347, 1862.6259, 93.6333)}, -- Coords for prop grape bush...
        {id = 5, prop = 'prop_bush_grape_01', coords = vec3(1302.1948, 1887.1046, 86.7204)}, -- Coords for prop grape bush...
        {id = 6, prop = 'prop_bush_grape_01', coords = vec3(1311.9287, 1877.4641, 88.9672)}, -- Coords for prop grape bush...
        {id = 7, prop = 'prop_bush_grape_01', coords = vec3(1321.6564, 1866.7727, 91.3665)}, -- Coords for prop grape bush...
        {id = 8, prop = 'prop_bush_grape_01', coords = vec3(1331.2589, 1856.5630, 93.2775)}, -- Coords for prop grape bush...
        {id = 9, prop = 'prop_bush_grape_01', coords = vec3(1297.0173, 1881.1924, 85.8825)}, -- Coords for prop grape bush...
        {id = 10, prop = 'prop_bush_grape_01', coords = vec3(1306.2622, 1870.6924, 88.1890)}, -- Coords for prop grape bush...
        {id = 11, prop = 'prop_bush_grape_01', coords = vec3(1315.7712, 1860.3135, 90.6711)}, -- Coords for prop grape bush...
        {id = 12, prop = 'prop_bush_grape_01', coords = vec3(1325.4819, 1849.6891, 92.6485)}, -- Coords for prop grape bush...
        {id = 13, prop = 'prop_bush_grape_01', coords = vec3(1291.1672, 1875.3821, 85.0713)}, -- Coords for prop grape bush...
        {id = 14, prop = 'prop_bush_grape_01', coords = vec3(1300.4453, 1864.7000, 87.3441)}, -- Coords for prop grape bush...
        {id = 15, prop = 'prop_bush_grape_01', coords = vec3(1309.5417, 1854.3959, 89.6906)}, -- Coords for prop grape bush...
        {id = 16, prop = 'prop_bush_grape_01', coords = vec3(1319.6785, 1843.3073, 91.3761)}, -- Coords for prop grape bush...
        Heading = 314.7030, -- heading for grape bush... 
        Distance = 1.5       
    },
    Pickup = {
        Icon = 'fa-solid fa-hand', -- icon for pickup plants or grapes...
        Label = 'Pick grapes', -- label for pickuping grapes
        TimePickup = 5000, -- time they have to pickup...
        LabelPickup = 'Taking grape', -- label of progress
        CanCancel = false, -- if they can cancel the pickup

        Amount = 5, -- How much grapes he will get after pickuping...
    },
    Processing = {
        {id = 1, prop = 'gr_dlc_gr_yacht_props_table_03',  Coords = vec3(-1925.0948, 2048.0039, 140.8317)}, -- coords and prop name...
        Heading = 257.2127, -- heading for prop
        CoordsObject = vec3(-1925.0948, 2048.0039, 140.8317), -- This just copy from line 65 coords.... this is for protection of script!!!
        Icon = 'fa-solid fa-spinner', -- icon for third eye
        Label = 'Start Processing', -- label for third eye
        Distance = 1.5, -- distance from prop to player to acces it!

        TimeProcess = 5000, -- time they have to proccess...
        LabelProcess = 'Removing leafs...', -- label of progressbar
        CanCancel = false, -- if they can cancel the proccess

        TimeProcessPress = 5000, -- time they have to proccess...
        LabelProcessPress = 'Pressing...', -- label of progressbar

        TimePackage = 5000, -- time they have to proccess...
        LabelPackage = 'Pouring...', -- label of progressbar

        NeedToProcess = 3, -- Amount they got to have if able to process ------from grapesleaf to grapes-----
        AmountAfter = 3, -- Amount they get after process

        NeedToPress = 3, -- from grape to grape juice -- they need 3
        AmountAfterPress = 3, -- After the proccess how much they will get grape juice? now is 3

        NeedToPour = 3, -- how much they need to start pouring?
        NeedBottle = 1, -- how much bottle's they need to start pouring?
        AmountAfterPour = 1, -- how much wine he will get after the proccess?
    },
    Refresh = {
        cooldown = true, -- cooldown prevent spaming functions
        cooldowntime = 10000, -- 10 seconds wait to restart job...

    },
    Selling = {
        Coords = vec3(-1681.0405, -290.9017, 51.8836), -- very importnant! Copy coords from upper in peds lines... where is priest then he have coords
        Label = 'Sell Wine', -- Title of input dialog
        Amount = 'How much do you want to sell?', -- Desc of input dialog
        TypeMoney = 'money', -- currency of money type 'black_money', 'bank' or 'money'
        Price = 250, -- price for 1 wine
    }
}


Config.Logs = {
    Pickup = {
        Logs = true, -- true / false if true it will send you a log into discord! else doesnt sent!
        Label = 'Vineyard Pickup Grapes',
        PlayerSteam = 'Player Steam : **',
        Identifier = '**\nPlayer Identifier: **',
        ServerID = '**\nServer ID: **',
        HasPicked = '**\nHas Collected: **',
        Amount = 'x Grapes With Leaf**',
        BotName = 'Pickup Logs',
        Webhook = 'YOUR_WEBHOOK'
    },
    Proccess = {
        Logs = true, -- true / false if true it will send you a log into discord! else doesnt sent!
        Label = 'Vineyard Proccess logs',
        PlayerSteam = 'Player Steam : **',
        Identifier = '**\nPlayer Identifier: **',
        ServerID = '**\nServer ID: **',
        Procecesed = '**\nHas Proccessed: **',
        GetAmount = 'x Grapes With Leaf** \nAnd got: **',
        Amount = 'x of Grape**', -------------------------- FIRST PROCCESS SO FROM GRAPESLEAF TO GRAPE LOG...
        BotName = 'Process Logs',
        Webhook = 'YOUR_WEBHOOK'
    },
    Proccess2 = {
        Logs = true, -- true / false if true it will send you a log into discord! else doesnt sent!
        Label = 'Vineyard Proccess logs',
        PlayerSteam = 'Player Steam : **',
        Identifier = '**\nPlayer Identifier: **',
        ServerID = '**\nServer ID: **',
        Procecesed = '**\nHas Proccessed: **',
        GetAmount = 'x Grapes** \nAnd got: **', -------------------------- SECOND PROCCESS SO FROM GRAPE TO GRAPE_JUICE LOG...
        Amount = 'x of Grape juice**',
        BotName = 'Process Logs',
        Webhook = 'YOUR_WEBHOOK'
    },
    Proccess3 = {
        Logs = true, -- true / false if true it will send you a log into discord! else doesnt sent!
        Label = 'Vineyard Proccess logs',
        PlayerSteam = 'Player Steam : **',
        Identifier = '**\nPlayer Identifier: **',
        ServerID = '**\nServer ID: **',
        Procecesed = '**\nHas Proccessed: **', -------------------------- THIRD PROCCESS SO FROM GRAPE_JUICE TO WINE LOG...
        GetAmount = 'x Grape Juice 1x Bottle** \nAnd got: **',
        Amount = 'x of Wine**',
        BotName = 'Process Logs',
        Webhook = 'YOUR_WEBHOOK'
    },
    Selling = {
        Logs = true, -- true / false if true it will send you a log into discord! else doesnt sent!
        Label = 'Vineyard Selling logs',
        PlayerSteam = 'Player Steam : **',
        Identifier = '**\nPlayer Identifier: **',
        ServerID = '**\nServer ID: **', -------------------------- SELLING LOGS...
        HasSelled = '**\nHas Selled: **', 
        Money = 'x Wine** \nAnd got: **',
        Amount = '$ Money**',
        BotName = 'Process Logs',
        Webhook = 'YOUR_WEBHOOK'
    },
    DropPlayer = {
        Logs = true, -- true / false if true it will send you a log into discord! else doesnt sent!
        Label = 'Droped Player',
        PlayerSteam = 'Player Steam : **',
        Identifier = '**\nIdentifier: **',
        ServerID = '**\nServer ID: **', -------------------------- IF PLAYER IS AUTOMATICLY DISCONNECTED BY SCRIPT LOG...
        End = '**\nCoords: **',
        End2 = '**',
        BotName = 'Drop Player Logs',
        Webhook = 'YOUR_WEBHOOK'
    }
}

Last updated