Merryweather

Merryweather allows players to repair broken Merryweather parts, sell those parts to Merryweather with a chance of getting a random event where a gang of blood thirsty NPCs will chase them down.

Installation

  1. Drag and drop the script into your resources folder

  2. Run the SQL file which will be stored in the root of kuz_merryweather

  3. Add the script to your server.cfg file

  4. Start your server

This script is unobfuscated and does not require authorization meaning that there is no extra steps before you can use it. Simply drag and drop it into your resources folder and add it to your server.cfg

Script not being obfuscated doesn't mean that you can redistribute the script

Config file

Config file is located in the "shared" folder

You may edit this file as you will, if you have any questions about the config file feel free to contact us on our discord

Config = {}
Config.Locale = 'en'

-- Don't turn this on on a public server [boolean]
Config.Debug = false

-- Picking up of the parts
Config.partsPickupLocations = {
    {
        locations = {
            { x = 1719.21, y = -1606.02, z = 112.51},
            { x = 1699.59, y = -1614.01, z = 112.48},
            { x = 1730.75, y = -1651.66, z = 112.59},
            { x = 1737.46, y = -1693.85, z = 112.74},
            { x = 1765.68, y = -1651.02, z = 112.66},
            { x = 1741.24, y = -1520.05, z = 112.66},
            { x = 1711.91, y = -1562.35, z = 112.63},
            { x = 1734.47, y = -1614.24, z = 112.45},
            { x = 1713.89, y = -1721.47, z = 112.52},
            { x = 1688.08, y = -1734.78, z = 112.26},
            { x = 1733.23, y = -1670.36, z = 112.57},
            { x = 1714.35, y = -1471.83, z = 112.95},
            { x = 1697.19, y = -1505.91, z = 112.98},
        },
        showOnMap = true,
        delay = 3000,
        item = "kuz_merryweatherbroken",
    }
}

Config.partsRepairLocations = {
    {
        locations = {
            { x = 1208.43, y = -3112.45, z = 5.54 },
            { x = 2330.00, y = 2569.77, z = 46.68 },
            { x = 1981.76, y = 5177.66, z = 47.63 },
        },
        showOnMap = true,
        delay = 5000,
        inputAmount = 2,
        input = "kuz_merryweatherbroken",
        outputAmount = 1,
        output = "kuz_merryweather",
        chance = 50,
    }
}

--
-- Progress
--

-- The amount of sales that the player has to have to achieve the max price multiplier [number]
Config.maxLevelSalesAmount = 200
-- Max price multiplier which the player will get once they reach the max level of sales [number 1 - infintiy]
Config.maxLevelPriceMultiplier = 1.7

-- The amount of successful repairs that the player has to have to achieve the max success percentage [number]
Config.maxLevelRepairsAmount = 400
-- Max success percentage of repairing an item that player will get once they reach max level of repairs [number 1-100]
Config.maxLevelRepairSuccessPercentage = 80

-- If the laptop should be able to be purchased at the Merryweather sales NPC [boolean]
Config.sellLaptop = true
-- The amount of successful sales that the player has to have before they're able to buy the "Merryweather Laptop" from the NPC [number 1 - infintiy]
Config.unlockLaptopBuySaleLevel = 10
Config.laptopPrice = 2000


--
-- Selling
--

-- Account to which the money from the sales should go ['money', 'black_money', 'bank']
Config.payToBalance = 'black_money'
-- Time in minutes which determine how long the transaction(sell) will be available for
-- If player doesn't manage to sell before the time ends he will have to setup a new transaction [number 3 or above]
Config.sellTimeout = 10

--
-- Sell spawning
--

-- You can disable the npc from spawning (I see no point in that though) [boolean]
Config.spawnNPC = true
-- You can disable the vehicle from spawning [boolean]
Config.spawnNPCwithVehicle = true




--
-- Random events
--
-- Should random events ever occur? [boolean]
Config.useRandomEvents = true
-- Chance of an random event occurring in total [number 0-100]
Config.randomEventChance = 35
-- Chance of an random event occurring in the city as frequent car chases and NPC's shooting could be annoying for some [number 0-100]
Config.randomEventChanceInCity = 20
-- Minimum amount of previous sales for an event to trigger (Makes it so new players don't get shot on their first sale) [number]
Config.minimumSalesAmount = 3
-- If peds should have the chance of dropping their weapons after killed [boolean]
Config.canPedsDropWeapons = false
-- The distance at which the enemy NPC's will show on the map when player sees them for the first time (0 to never show) [number]
Config.pedBlipDistance = 100
-- If the vehicles spawned during the random event should be locked for players
Config.lockRandomEventVehicles = true

-- The NPC model that will spawn at the sell location
Config.merryweatherNPC = "csb_mweather"

-- Settings of the laptop
Config.merryweatherLaptop = {
    -- Price of setting up the sell [number]
    setupPrice = 1000,
    -- Show the laptops on the map [boolean]
    showOnMap = false,
    -- All the locations at which the laptop will be at [List of vector3]
    locations = {
        { x = 1208.51, y = -3115.28, z = 5.54 },
    },
    file1Content = "Our cargo ship has been sunken due to a storm, it threw the ship onto rocks causing it to flip and sink. Almost all containers have been retrieved but there were some where our machinery couldn't get. There's lots of technology and weapon parts still at the bed of the ocean.",
    file2Content = "Why is it a bad idea to iron your four-leaf clover? Cause you shouldn't press your luck.<br><br>I ordered a chicken and an egg from Amazon. I'll let you know.<br><br>Do you know the last thing my grandfather said to me before he kicked the bucket? \"Grandson, watch how far I can kick this bucket.\"<br><br>What is brown, hairy and wears sunglasses?<br>- A coconut on vacation.<br><br>I saw my dwarf neighbor standing at the bus stop this morning so I stopped him.<br>- I said, \"Jump in! I'll give you a lift!\"<br>- \"Fuck off!\" he said.<br>- And I just thought to myself, \"What an ungrateful person he is.\" So I zipped up my backpack and kept on walking.",
}

-- If players should be able to open the laptop using the laptop item
Config.useLaptopItem = true
-- Database item name of the laptop
Config.laptopItem = 'kuz_laptop'


-- All the items that can be sold to Merryweather
-- item
-- Script name of the item, can be found in the database

-- label
-- The display name of the item that will show in the sell menu

-- price
-- The amount of money that the player will get upon selling the item
--
-- Can use math.random(A,B)
-- A is the minimum and B is the maximum
Config.sellable = {
    {
        item = "kuz_merryweather",
        label = "Merryweather parts",
        price = 1000,
    },
    {
        item = "kuz_merryweatherbroken",
        label = "Broken Merryweather parts",
        price = 200,
    },
}

-- All the vehicles that Merryweather can spawn with
-- Vehicle colors = https://pastebin.com/pwHci0xK
Config.merryweatherVehicles = {
    { vehicle = "mesa3", color = 12 },
    { vehicle = "mesa3", color = 154 },
    { vehicle = "mesa3", color = 152 },
    { vehicle = "mesa3", color = 151 },
    { vehicle = "freecrawler", color = 12 },
    { vehicle = "speedo4", color = 131 },
    { vehicle = "dubsta2", color = 12 },
    { vehicle = "rebel2", color = 12 },
    { vehicle = "schafter2", color = 12 },
    { vehicle = "granger", color = 12 },
    { vehicle = "rumpo3", color = 12 },
    { vehicle = "rumpo3", color = 151 },
    { vehicle = "kuruma", color = 12 },
}

Last updated