KuzQuality
Search
K
Comment on page

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. 1.
    Drag and drop the script into your resources folder
  2. 2.
    Run the SQL file which will be stored in the root of kuz_merryweather
  3. 3.
    Add the script to your server.cfg file
  4. 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
Random Events
Sell Locations
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 },
}
-- Event types
-- Type of the event, current event types:
-- 1. shooting
-- 2. helicopter
-- amount
-- Amount of the vehicles/peds spawning
--
-- Can use math.random(A,B)
-- A is the minimum and B is the maximum
-- health
-- Health which NPC's have, default = 200, for more difficult enemies I recommend around 500-600
-- criticalHits
-- If peds should get critical hits (aka if player can headshot the npc and insta kill them)
-- peds
-- List of all possible peds that can spawn in that event
-- https://docs.fivem.net/docs/game-references/ped-models/
-- useVehicles
-- If the NPC's should spawn with vehicles
-- perVehicle
-- Amount of NPC's that will be in one vehicle, must be at least 1,
-- if number is higher than seats in the vehicle the NPC's won't spawn
--
-- Can use math.random(A,B)
-- A is the minimum and B is the maximum
-- vehicles
-- List of all the vehicles that can spawn in that event
-- underglow (optional)
-- If the vehicles should have randomly colored underglow applied (Only used for the default "Fast 'n Furious" gang)
-- colors (optional)
-- Colors that the vehicles can be (could be used for gangs etc.)
-- https://pastebin.com/pwHci0xK
-- weapons
-- List of weapons that the npc's can use, each npc will get a random weapon from that list
-- https://wiki.rage.mp/index.php?title=Weapons
-- aim
-- Aim of the NPC that is going to shoot the player
-- 0 - 100, 0 very bad aim, can pretty much only hit from few meters away, 100 aimbot
--
-- Can use math.random(A,B)
-- A is the minimum and B is the maximum
-- spawnRadius (in meters)
-- Minimum 50, maximum 200, for cars I recommend 150-200, if they're on foot 50-75 is good
-- keepUpDistance
-- Distance up to which NPC's will keep chasing the player, longer distance means that NPC's will follow
-- even when you far away, will make it more difficult but could get annoying, for cars I recommend around 600-1000 for cars and 400-600 for helicopters
-- It should be at least the double of the spawnRadius
Config.randomEvents = {
{ -- Red gang
type = "shooting",
amount = 4,
health = 600,
criticalHits = false,
peds = {
'g_m_m_chigoon_02',
'g_m_m_mexboss_01',
'g_m_m_armgoon_01',
'g_m_m_mexboss_02',
'g_m_m_chigoon_01',
},
useVehicles = true,
perVehicle = 2,
vehicles = {
'buccaneer',
'rapidgt3',
'tulip',
},
colors = {
28,
29,
150,
35
},
weapons = {
'weapon_snspistol',
'weapon_vintagepistol',
},
aim = 30,
spawnRadius = 150.0,
keepUpDistance = 700.0,
},
{ -- Street bikers gang
type = "shooting",
amount = math.random(2,4),
health = 400,
criticalHits = false,
peds = {
'u_m_y_sbike',
'u_f_y_bikerchic',
'u_m_y_smugmech_01',
},
useVehicles = true,
perVehicle = math.random(1,2),
vehicles = {
'bati',
'akuma',
'vader',
},
weapons = {
'weapon_snspistol',
'weapon_vintagepistol',
},
aim = 40,
spawnRadius = 150.0,
keepUpDistance = 700.0,
},
{ -- MC gang
type = "shooting",
amount = math.random(3,5),
health = 500,
criticalHits = false,
peds = {
'g_f_y_lost_01',
'g_m_y_lost_01',
'g_m_y_lost_02',
'g_m_y_lost_03',
},
useVehicles = true,
perVehicle = 2,
vehicles = {
'daemon2',
'chimera',
'gargoyle',
'cliffhanger',
'zombieb',
'gburrito',
},
colors = {
12
},
weapons = {
'weapon_pistol',
},
aim = 25,
spawnRadius = 150.0,
keepUpDistance = 700.0,
},
{ -- Rednecks
type = "shooting",
amount = math.random(3,5),
health = 400,
criticalHits = false,
peds = {
'a_m_m_farmer_01',
's_m_m_trucker_01',
'cs_old_man1a',
'cs_old_man2',
},
useVehicles = true,
perVehicle = 1,
vehicles = {
'rebel',
'tornado3',
'bodhi2',
'sanchez2',
},
weapons = {
'weapon_dbshotgun',
'weapon_vintagepistol',
},
aim = 15,
spawnRadius = 150.0,
keepUpDistance = 700.0,
},
{ -- Fast 'n furious gang
type = "shooting",
amount = math.random(3,5),
health = 500,
criticalHits = false,
peds = {
'csb_fos_rep',
'cs_terry',
'a_m_y_ktown_02',
'a_f_y_eastsa_03',
},
useVehicles = true,
perVehicle = math.random(1,2), -- You can also do random amounts for peds per vehicle and all other values
vehicles = {
'elegy',
'sentinel3',
'sentinel',
'comet3',
'vacca',
'sultanrs',
},
underglow = true,
weapons = {
'weapon_pistol',
},
aim = 20,
spawnRadius = 150.0,
keepUpDistance = 700.0,
},
{ -- Danger squad
type = "shooting",
amount = 1,
health = 400,
criticalHits = true,
peds = {
'ig_malc',
'ig_talcc',
'u_m_m_aldinapoli',
'ig_chengsr',
},
useVehicles = true,
perVehicle = math.random(4,6),
vehicles = {
'rumpo3',
'bison',
'tailgater',
},
weapons = {
'weapon_pistol',
'weapon_snspistol',
},
aim = 0,
spawnRadius = 150.0,
keepUpDistance = 700.0,
},
{ -- Clowns
type = "shooting",
amount = math.random(1,2),
health = 200,
criticalHits = false,
peds = {
's_m_y_clown_01',
},
useVehicles = true,
perVehicle = math.random(3,4),
vehicles = {
'speedo2',
},
weapons = {
'weapon_pistol',
'weapon_snspistol',
},
aim = 0,
spawnRadius = 150.0,
keepUpDistance = 700.0,
},
{ -- Helicopter that will chase and shoot the player
type = "helicopter",
amount = 1,
health = 1000,
criticalHits = false,
peds = {
's_m_y_blackops_01',
's_m_y_blackops_02',
},
useVehicles = true,
perVehicle = 3,
vehicles = {
'buzzard2',
},
colors = {
39
},
weapons = {
'weapon_pistol',
},
aim = 30,
spawnRadius = 100.0,
keepUpDistance = 500.0,
},
}
--
-- All the locations where an Merryweather sell can occur at
--
-- sell
-- Location of the NPC/selling spot
-- vehicle
-- Location of the vehicle
Config.merryweatherLocations = {
{
sell = { x = -372.68, y = -2284.55, z = 7.61, h = 50.27},
vehicle = { x = -377.52, y = -2284.98, z = 7.61, h = 356.71},
},
{
sell = { x = -557.06, y = -1803.14, z = 22.58, h = 326.73},
vehicle = { x = -559.79, y = -1791.26, z = 22.41, h = 230.0},
},
{
sell = { x = -629.95, y = -1157.25, z = 9.69, h = 117.02},
vehicle = { x = -637.43, y = -1150.04, z = 9.38, h = 226.9},
},
{
sell = { x = -1202.02, y = 350.81, z = 71.26, h = 206.76},
vehicle = { x = -1208.29, y = 350.78, z = 71.06, h = 205.43},
},
{
sell = { x = -447.5, y = 288.88, z = 83.23, h = 1.21},
vehicle = { x = -443.65, y = 294.81, z = 83.23, h = 72.21},
},
{
sell = { x = -174.07, y = 215.63, z = 89.09, h = 133.06},
vehicle = { x = -177.59, y = 214.68, z = 88.86, h = 92.48},
},
{
sell = { x = -123.25, y = -24.17, z = 58.27, h = 79.56},
vehicle = { x = -127.95, y = -22.01, z = 58.21, h = 134.25},
},
{
sell = { x = 765.19, y = -1189.46, z = 24.29, h = 163.26},
vehicle = { x = 768.34, y = -1195.91, z = 24.29, h = 74.45},
},
{
sell = { x = 974.58, y = -1587.78, z = 30.65, h = 10.77},
vehicle = { x = 970.69, y = -1588.46, z = 30.6, h = 1.9},
},
{
sell = { x = 1400.45, y = -2086.48, z = 54.41, h = 245.03},
vehicle = { x = 1403.63, y = -2081.97, z = 54.47, h = 294.38},
},
{
sell = { x = 32.37, y = -1407.65, z = 29.34, h = 179.55},
vehicle = { x = 36.65, y = -1407.34, z = 29.35, h = 185.9},
},
{
sell = { x = -1723.18, y = -891.74, z = 7.78, h = 229.12},
vehicle = { x = -1717.58, y = -899.72, z = 7.7, h = 128.21},
},
{
sell = { x = 2761.18, y = -717.66, z = 8.68, h = 353.24},
vehicle = { x = 2755.35, y = -718.18, z = 9.32, h = 47.74},
},
{
sell = { x = 1903.63, y = 559.9, z = 175.82, h = 268.59},
vehicle = { x = 1904.07, y = 565.57, z = 175.82, h = 240.38},
},
{
sell = { x = 2269.94, y = 1537.66, z = 66.11, h = 85.71},
vehicle = { x = 2270.34, y = 1543.82, z = 65.91, h = 16.71},
},
{
sell = { x = 1471.77, y = 2208.31, z = 80.23, h = 178.46},
vehicle = { x = 1475.34, y = 2214.76, z = 79.45, h = 214.22},
},
{
sell = { x = -65.7, y = 2101.92, z = 143.5, h = 324.69},
vehicle = { x = -70.08, y = 2109.08, z = 142.14, h = 21.95},
},
{
sell = { x = -1911.45, y = 2025.33, z = 140.74, h = 5.24},
vehicle = { x = -1916.42, y = 2029.26, z = 140.74, h = 324.82},
},
{
sell = { x = -2586.58, y = 1926.36, z = 167.31, h = 342.76},
vehicle = { x = -2590.45, y = 1930.45, z = 167.3, h = 272.54},
},
{
sell = { x = -3177.85, y = 1294.93, z = 14.49, h = 253.97},
vehicle = { x = -3176.11, y = 1299.6, z = 14.55, h = 221.61},
},
{
sell = { x = 2012.64, y = 2920.79, z = 48.37, h = 223.2},
vehicle = { x = 2022.64, y = 2923.86, z = 48.16, h = 115.02},
},
{
sell = { x = 1045.12, y = 2538.51, z = 54.7, h = 64.32},
vehicle = { x = 1039.73, y = 2538.92, z = 54.75, h = 324.83},
},
{
sell = { x = 316.72, y = 2956.06, z = 42.79, h = 203.47},
vehicle = { x = 321.9, y = 2961.24, z = 42.62, h = 192.36},
},
{
sell = { x = 1409.11, y = 2977.61, z = 40.95, h = 234.74},
vehicle = { x = 1401.21, y = 2974.5, z = 41.07, h = 239.61},
},
{
sell = { x = 2067.04, y = 3428.17, z = 44.12, h = 127.14},
vehicle = { x = 2063.7, y = 3434.41, z = 44.03, h = 85.68},
},
{
sell = { x = 2412.46, y = 3742.36, z = 41.6, h = 346.27},
vehicle = { x = 2418.43, y = 3739.8, z = 42.07, h = 353.8},
},
{
sell = { x = 950.97, y = 3613.2, z = 32.68, h = 62.35},
vehicle = { x = 945.32, y = 3608.37, z = 32.81, h = 38.71},
},
{
sell = { x = 326.47, y = 3546.7, z = 33.37, h = 287.13},
vehicle = { x = 331.26, y = 3537.8, z = 34.06, h = 327.38},
},
{
sell = { x = 364.04, y = 3408.49, z = 36.4, h = 0.08},
vehicle = { x = 369.72, y = 3411.37, z = 36.4, h = 24.94},
},
{
sell = { x = 2532.09, y = 4309.9, z = 39.68, h = 33.81},
vehicle = { x = 2524.44, y = 4310.19, z = 39.53, h = 74.93},
},
{
sell = { x = 2412.32, y = 4982.93, z = 46.15, h = 70.81},
vehicle = { x = 2414.55, y = 4991.44, z = 46.2, h = 137.81},
},
{
sell = { x = 2935.55, y = 4586.86, z = 49.02, h = 59.99},
vehicle = { x = 2930.83, y = 4580.8, z = 48.69, h = 122.24},
},
{
sell = { x = 786.5, y = 4277.44, z = 56.54, h = 183.03},
vehicle = { x = 777.23, y = 4276.1, z = 56.27, h = 123.95},
},
{
sell = { x = -1206.88, y = 4300.66, z = 76.8, h = 227.23},
vehicle = { x = -1197.11, y = 4301.04, z = 77.3, h = 184.71},
},
{
sell = { x = 1523.84, y = 6502.31, z = 22.04, h = 161.04},
vehicle = { x = 1529.04, y = 6500.5, z = 22.15, h = 149.28},
},
{
sell = { x = 127.87, y = 6654.39, z = 31.75, h = 24.11},
vehicle = { x = 127.99, y = 6660.03, z = 31.68, h = 121.54},
},
{
sell = { x = -387.05, y = 6385.16, z = 14.2, h = 30.22},
vehicle = { x = -390.84, y = 6381.41, z = 14.15, h = 44.2},
},
{
sell = { x = -2019.07, y = 2716.13, z = 3.43, h = 123.76},
vehicle = { x = -2026.81, y = 2716.77, z = 3.38, h = 93.65},
},
{
sell = { x = -1863.82, y = 4424.73, z = 48.11, h = 203.58},
vehicle = { x = -1857.76, y = 4428.54, z = 48.69, h = 217.44},
},
{
sell = { x = -318.08, y = 2742.02, z = 67.82, h = 177.8},
vehicle = { x = -316.69, y = 2746.54, z = 67.32, h = 256.89},
},
{
sell = { x = 1315.86, y = 3314.29, z = 36.78, h = 180.17},
vehicle = { x = 1326.67, y = 3316.47, z = 36.81, h = 98.28},
},
{
sell = { x = 93.96, y = 6320.04, z = 31.25, h = 67.26},
vehicle = { x = 87.88, y = 6315.05, z = 31.25, h = 359.8},
},
{
sell = { x = -1542.28, y = -31.13, z = 57.86, h = 251.86},
vehicle = { x = -1545.52, y = -34.83, z = 57.88, h = 270.72},
},
{
sell = { x = 1213.36, y = 1303.38, z = 143.98, h = 328.3},
vehicle = { x = 1216.05, y = 1296.26, z = 143.55, h = 253.8},
},
{
sell = { x = 852.3, y = 3102.97, z = 40.26, h = 154.46},
vehicle = { x = 852.61, y = 3114.54, z = 40.46, h = 141.02},
},
{
sell = { x = 1244.08, y = 3182.04, z = 40.23, h = 306.93},
vehicle = { x = 1237.01, y = 3176.78, z = 40.58, h = 42.77},
},
{
sell = { x = 607.67, y = 3190.46, z = 38.67, h = 12.59},
vehicle = { x = 604.17, y = 3186.58, z = 38.51, h = 353.02},
},
{
sell = { x = 2384.5, y = 3296.41, z = 47.56, h = 139.23},
vehicle = { x = 2376.83, y = 3290.37, z = 47.29, h = 132.39},
},
{
sell = { x = -668.21, y = 5894.5, z = 16.6, h = 129.48},
vehicle = { x = -666.48, y = 5901.51, z = 16.65, h = 348.14},
},
{
sell = { x = -382.9, y = 1244.27, z = 326.68, h = 185.79},
vehicle = { x = -398.06, y = 1235.74, z = 325.64, h = 71.78},
},
}