INSTALLATION

1. DOWNLOAD

The first step is to download the product we have just purchased. To do this we will go to our KEYMASTER account and search for "Buty-Gardener".

2. DEPENDENCIES

It is extremely important to install all the required dependencies, or the script will not function properly. These dependencies have been either developed by us or sourced from third parties. Below is a list of the essential dependencies:

1. Unique and Exclusive Props

  • The script includes unique and exclusive props. These props are located in the folder called Buty-Gardener-props, which is included in the script itself.

  • These props were created by the team member Pugs from Fury Shop. You can visit their shop via the following link: Fury Shop Discord.

2. Unique and Exclusive Animation

  • The script comes with a exclusive animation. This animation is also included in the folder Buty-Gardener-props.

  • The animation was created by BzZz. You can check out their work at: BzZz Tebex Store.

3. ox_lib

  • ox_lib is essential for this script to work. Please ensure that you always download the latest version from the official repository: ox_lib Releases.

Ensure Order

To ensure the proper functionality of the script, the order of the ensure commands in your server.cfg file should be as follows:

ensure ox_lib
ensure Buty-Gardener-props
ensure Buty-Gardener

Please remember that all Buty scripts should be placed below the essential framework scripts in your configuration. This ensures compatibility and proper loading order within your server.

2. INSTALLATION

SQL Installation

Before using the Buty-Gardener script, you must install the necessary SQL table. This step is crucial to ensure that the script can store player data correctly.

Use the following SQL query to create the required table:

CREATE TABLE IF NOT EXISTS `buty_gardener` (
  `identifier` varchar(46) DEFAULT NULL,
  `experience` int(11) NOT NULL,
  `level` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Ensure that this table is created in your database before running the script.

3. CONFIG

Ensure you fill out the configuration file carefully! Below is the default configuration for Buty-Gardener:

local esxHas = GetResourceState('es_extended') == 'started'
local qbHas = GetResourceState('qb-core') == 'started'
Locales = Locales or {}

Configuration = {
    Framework = esxHas and 'esx' or qbHas and 'qb' or 'esx',
    Mysql = 'oxmysql', -- Database type: 'oxmysql', 'mysql-async', or 'ghmattisql'
    UseTarget = false, -- Activate it if you want to use target. Set to false if you want floating text
    Language = 'es', -- 'en' or 'es' by default (you can create more)
    RequiredJob = "police", -- Required job to perform tasks, set to "none" if no job is required
    RequireJobFromAllGroup = false, -- If true, all group members must have the job; if false, only the leader needs the job
    xprequired = 10000, -- Required experience to level up 
    UseQSinventory = true,
    DefaultRewardType = 'cash', -- Default reward type: 'cash', 'bank', or 'item'
    DefaultItemName = 'bread' -- Default item name if 'item' is selected as reward type
}

StartPoint = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT" -- Starting point coordinates

Pay = {
    coord = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT", -- Coordinates and model for the payment NPC
    pedmodel = "s_m_m_gardener_01", -- Model for the payment NPC
}

Workclothes = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT" -- Coordinates for work clothes

Clothes = {

    male = {
        tshirt_1 = 15, tshirt_2 = 0,
        torso_1 = 247, torso_2 = 7,
        decals_1 = 0, decals_2 = 0,
        arms = 21,
        pants_1 = 47, pants_2 = 1,
        shoes_1 = 94, shoes_2 = 6,
        chain_1 = 0, chain_2 = 0,
        helmet_1 = 60, helmet_2 = 4,
        ears_1 = -1, ears_2 = 0,
        bproof_1 = 0, bproof_2 = 0,
    },
    female = {
        tshirt_1 = 220, tshirt_2 = 0,
        torso_1 = 43,   torso_2 = 0,
        decals_1 = 0,   decals_2 = 0,
        arms = 36,
        pants_1 = 137,   pants_2 = 2,
        shoes_1 = 24,   shoes_2 = 0,
        chain_1 = -1,    chain_2 = 0,
        helmet_1 = -1,  helmet_2 = 0,
        bproof_1 = 0,  bproof_2 = 0
    }
}

Vehicle = {
    coord = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT", -- Coordinates for vehicle interaction and spawn
    spawnvehicle = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT", -- Coordinates for vehicle spawn
    model = "burrito3", -- Vehicle model
}

Webhooks = {  -- Here you can configure webhooks for discord

    Active = false, -- true: you will activate the webhooks; false: you will disable webhooks
    Link = "", -- webhook link
}


Tasks = {
    [1] = {
        Info_Task = {
            Name = "GREEN PARK", -- Task information
            LevelRequired = 1, -- Level required to start the task
            Exp = 400, -- Experience points rewarded for completing the task
            Money = 90, -- Money rewarded for completing the task
        },

        Blip_Tasks = {
            radius = 50.0, 
            coord = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT"
        },

        Points_Task = {
            ['cut_grass'] = {
                {
                    coord = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT", 
                    take = false,
                    prop = "prop_weeddry_nxg04"
                },
                {
                    coord = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT", 
                    take = false,
                    prop = "prop_weeddry_nxg04"
                },
            },            
        }
    },
    [2] = {
        Info_Task = {
            Name = "CEMETERY", -- Task information
            LevelRequired = 2, -- Level required to start the task
            Exp = 700, -- Experience points rewarded for completing the task
            Money = 200, -- Money rewarded for completing the task
        },

        Blip_Tasks = {
            radius = 50.0, 
            coord = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT"
        },

        Points_Task = {
            ['cut_grass'] = {
                {
                    coord = "THIS IS AN EXAMPLE, IN THE FINAL SCRIPT IT IS CORRECT", 
                    take = false,
                    prop = "prop_weeddry_nxg04"
                },
            },            
        }
    },
}

-- The code continues beyond this point. This is just an example; in the final script, all details are correct.

Last updated