About script
This script puts you in the role of a moonshine maker.
It offers a wide range of possibilities in the search for a recipe, but at the same time also production, which may not be easy at all.
This script has a little story that you can relate to.
- You can change the recipe.
- You can change the location of everything.
- You can allow laying only in certain places.
- You can change the picking field.
- You can adjust all items so you don’t have to create new ones.
- Adjustable prices.
- Adjustable progress.
And much more! Check out config.lua
Preview
I recommend watching the full video to understand how everything works.!
You want to know more about the script?
More info
How does it work?
First, you need to purchase or find a recipe - It’s up to you how you choose to do it. Of course, you can cook without a recipe, but there’s a high chance you won’t cook it correctly. So, when you find a clue that you can adjust in config.lua, you will then find a buried recipe and cook according to it.
If you cook it correctly, you can sell moonshine to NPCs.
Cooking itself Cooking works simply.
You gradually add ingredients, and the production process increases accordingly. When you add wood, a fire is created, and the fire increases the temperature. If there is already a fire and you add water, steam begins to form, which you must release. If you don’t release the steam, the cooker will start to break, and you’ll have to repair it.
Selling
Small shops, where you can sell for smaller amounts, but you can negotiate.
Configuration of absolutely everything.
config.lua
Config = {}
Config.AllowPlayersPlaceBrewlery = true
Config.StaticBrewleryPoints = {
-- vector3(x, y, z),
vector3(1451.0593, 3754.3269, 31.9342),
}
Config.BrewlerySpawnStats = {
temp = 0, -- Temperature is important to maintain quality and warmth. I recommend keeping it between 70-90 or Config.Recepie
water = 0, -- Water must be greater than 50 or Config.Recepie
herbs = 0, --Herbs for proper production must number between 7-9 or Config.Recepie
steam = 0, -- If the steam/pressure is greater than 80 then the steam must be dropped or it will reduce in condition and may break.
corn = 0, -- For proper cooking, you need 10-12 corn or Config.Recepie
spice = 0, -- Spices need 2-3 or Config.Recepie
moonshine = 0, -- Moonshine will only start to rise if progress is greater than 50 or Config.Recepie
litres = 0, -- Number of litres
condition = 60, -- Condition determines condition. If you don't relieve the pressure, it drops.
fire = 0, -- Check if there is a fire, min 5
broken = false, -- Guess lol
progress = 0, -- This is important! Please do not change as it will reset and clean the contents of the distillery.
}
-- How much litres you need for one bottle?
Config.LitresNeeded = 0.5
-- Ideal numbers for the recipe.
Config.Recepie = {
temp = {
min = 70,
max = 90
},
herbs = {
min = 7,
max = 9
},
corn = {
min = 10,
max = 12,
},
spice = {
min = 2,
max = 4,
},
moonshine_producition_start = 50,
progress_production_start = 50,
steam_destroying_effect = 80,
}
Config.ProgressUpdateTime = 60000
-- The values below are always once per progress, which means that according to Config.ProgressUpdateTime
Config.Progress = {
fire_minus = 0.5, -- The fire is diminishing by
temp_less_than_70_plus = 10, -- If the temperature is less than 70, the temperature rises
temp_more_than_70_plus = 0.5, -- If temp more than 70 add to temp
remove_water = 0.5, -- Remove water every progress run
add_stream = 3, -- Add steam every progress run
remove_condition = 10, -- This if steam more than Config.Recepie.steam_destroying_effect
add_litres = 0.2, -- If all the conditions of correct production.
add_progress = 2, -- If all the conditions of correct production.
-- If progress == 100 removes all the herbs, corns and spices
remove_temp_if_not_fire = 10, -- Remove the fire if there is no wood.
quality = 0, -- Bad < 0 > Good -- THIS IS INVISIBLE VALUE FOR PLAYER
}
Config.RecivieBrewleryWhenDestroyed = true
Config.RiddleToFindRecepie = "By the valentine tree to the west, go ahead and dig."
Config.RecepieChest = vector3(-325.2024, 616.0845, 108.7664)
Config.RecepieFakeLocations = {
vector3(0,0,0)
}
Config.RecepieFakeItem = "garbage"
Config.BrewleryPlaceEverywhere = false -- If false line down
Config.BrewleryAllowCollision = true -- If someone place on road
-- or
Config.BrewleryLocationsWhereCanBePlace = { -- This is good if the players on your server are idiots.
{coords = vector3(-274.3869, 827.3947, 118.9536), radius = 150.0},
{coords = vector3(22.7895, 496.0854, 163.8879), radius = 150.0},
}
Config.Items = {
water = "water",
moonshine = "moonshine",
badmoonshine = "badmoonshine",
brewlery = "moonshine_brewlery",
wood = "wood",
corn = "moonshine_corn",
herb = "moonshine_herb",
spice = "moonshine_spice",
recepie = "moonshine_recepie",
help = "moonshine_help",
repair = "moonshine_repair_kit",
empty_bottle = "bottle",
}
Config.ProgressBarTime = 10000 -- This is for long actions
Config.ProgressBarTimeShort = 3000 -- This is for short actions / Add ingredience
Config.Dig = {
model = `p_shovel02x`,
anim = {"amb_work@world_human_gravedig@working@male_b@idle_a", "idle_a"},
bone = "skel_r_hand",
pos = {0.06, -0.06, -0.03, 270.0, 165.0, 17.0},
}
-- Shop
Config.ShopCoords = vector4(556.3729, 565.1187, 111.6160, 257.3225)
Config.Shop = {
{
label = "Spice",
itemName = "moonshine_spice",
count = 5,
price = 50
},
{
label = "Shovel",
itemName = "shovel",
count = 1,
price = 100
},
{
label = "Hint",
itemName = "moonshine_recepie_help",
count = 1,
price = 500
},
{
label = "Moonshine brewlery",
itemName = "moonshine_brewlery",
count = 1,
price = 2000
},
{
label = "Wood",
itemName = "wood",
count = 1,
price = 1
},
-- Uncomment this unless you want to use other things to get wood.
--[[
{
label = "Wood",
itemName = "wood",
count = 1,
price = 100
},
]]--
}
--- Fields
Config.FieldsLoadTime = 5000
Config.FieldsDistanceLoad = 50.0
Config.Fields = {
{
label="Corn field",
pos = vector3(89.5634, -215.9102, 111.3551),
spawnModel = "crp_cornstalks_bc_sim",
spawnRadius = 40.0,
spawnLimit = 3,
recivieItem = Config.Items.corn,
count = {
min = 1,
max = 2,
}
},
{
label="Herb field",
pos = vector3(396.8406, -272.7169, 132.9089),
spawnModel = "p_herbsdry01x",
spawnRadius = 40.0,
spawnLimit = 3,
recivieItem = Config.Items.herb,
count = {
min = 1,
max = 2,
}
},
}
Config.Peds = {
"cs_exconfedsleader_01",
}
Config.SmallSellCountLimit = 3
Config.SmallSells = {
{
target = vec3(-239.6348, 759.8047, 117.7147),
price = 10,
chanceForPD = 40,
},
--[[
{
target = vec3(-239.6348, 759.8047, 117.7147),
price = 10,
chanceForPD = 40,
},
]]--
}
Config.UseClientEvents = true
if not IsDuplicityVersion() then
function DispatchCall(type, coords)
-- Types: smalldeal/bigdeal
-- coords: Player coords
if type == "smalldeal" then
print("Small deal dispatch")
end
end
end
Dependencies
Store
Escrow: https://store.polisek.io/package/6193188
Source: https://store.polisek.io/package/6193203
Check my other resources
FiveM
Mower job
Job system
Weed growing
RedM
NPC Bandits V2