Brew Crafting - The most advanced crafting system for RedM!
This crafting system provides everything your roleplay server needs. Originally developed for our own roleplay server, it is now available for everyone! With features no other crafting script currently offers in a single solution, tested with over 100 players, and backed by a development studio that is open to ideas and requests. Active support is provided, along with assistance in configuring and setting up the system!
What are the features?
- Supports using skill levels for crafting
- Allows for progression and experience gain in specific skills (e.g., “woodwork” skill).
- Setup polyzones for jobs which you can lock a recipe to, so the player has to be in his polyzone
- Setup polyzones as special locations you can link to single recipes where the player has to be to craft
- Create unlimited amount of categorys you can assign a recipe to
- Configurable tools required for crafting (e.g., “saw”).
- Tools can have durability that decreases with use.
- Define propnames that are getting detected near a player to open a crafting book (Currently missing in the Showcase Video, but is already supported check the example config below!)
- Set items or coords into the world to open a crafting book
- The whole UI Folder is unencrypted to support users that want to edit it themself
- Images are getting imported directly from you inventory image folder
Features that got added since release:
- Added possibility to set for each book a own command to open
- Added Possibility to enable and disable the webhook
- Added webhook message with discord as tag, steam, full rp name, recipe label and amount crafted
- Added the possibility to add a failchance in percent, if the percentage is hit, the player loses the items but doesnt receive the recipe items and gets a notification
- Added the possibility to set blipSettings to a crafting location check the docs for more information for color and stuff
- Added that the active recipe and category you clicked in the ui is marked orange for better visiblity
- You can now change the prompt key and also if its a button or a hold event, check config prompt settings
- Added a export to open crafting books on client side
- Added 3 Events for Client and Server Side when a recipe gets crafted, failed and finished
- Added a job & grade filter for categorys to hide a complete category when the player doesnt have the needed job and grade
- Added a job & grade filter for single recipes, when the player doesnt have the needed job and grade, the whole recipe doesnt show
- vorp_inventory 4.0 support added
- You can set in the config that a item can be degraded in the recipe
- Added a success message with the receiving items
- Added that prompts and blips that are for books with certain jobs are hidden for players that dont fulfill the dependency
- Added a client side job refresh for blips and books with a timer of 90 secs to react on player job changes
- Added the possibility to hide skills in the skillslist of a book by job and grade
Recipe Features and configuration possibilities:
- Recipes grouped under specific crafting books (e.g., “example_book”).
- Configurable categories for better organization (e.g., “Produce”).
- Recipes CAN require specific skill levels for crafting. (Multiple skills settable)
- Skill progression tracked through crafting activities.
- Configurable experience gain for specific skills when crafting recipes. (Multiple skills settable)
- Recipes can require specific ingredients and tools to be completed.
- Tools can be configured and whether to wear out during crafting or not.
- Optional “giveback” items returned after crafting.
- Time required for crafting specific recipes can be set.
- Recipes can require crafting to take place in specific locations either job or in multiple assigned special locations.
- Recipes can have detailed descriptions and disclaimers for players that is colored.
HERE YOU CAN FIND A EXAMPLE CONFIG:
Example Config
Config = {}
Config.useSkillLevel = true --Set true if the progress in neededSkills is the skill level when false its the current exp without any level in this skill the player got
Config.Debug = true --Enable debug prints
--Here you enter a job name, when in a recipe requireJobLocation is true, the player must be in this polyzone to craft the item.
Config.Locations = {
["rho_gunsmith"] = {
label = "Waffenhändler Rhodes",
coords = {
{1322.6740, -1318.7966, 77.8895, 32.3811},
{1330.2942, -1321.0535, 77.8848, 280.7123},
{1328.2479, -1328.6735, 77.8833, 265.9806},
{1320.0278, -1326.3068, 77.8846, 112.5043},
}
},
}
--Here you enter a polyzone name, when in a recipe specialLocation is one of those names, the player must be in this polyzone to craft the item. You can enter multiple zones into one recipe.
Config.SpecificLocations = {
["rho_special_location"] = {
label = "Rhodes Waffenhändler",
coords = {
{1322.6740, -1318.7966, 77.8895, 32.3811},
{1330.2942, -1321.0535, 77.8848, 280.7123},
{1328.2479, -1328.6735, 77.8833, 265.9806},
{1320.0278, -1326.3068, 77.8846, 112.5043},
}
},
}
--Here you enter a prop name into the [""], when the player is near this prop, he gets a prompt to open the book, its like using it in the inventory.
Config.SpecialProps = {
["p_campfire05x_script"] = {book = "braten_book", label = "Lagerfeuer Menü"},
}
--Here you enter a tool item name into the [""], this is the base setup for tools in recipe where the initial durability is set and which item it is. This must be present if you want to use a tool with durabilitiy in a recipe
Config.Tools = {
["bucket"] = {item = "bucket", label = "Example Tool", durability = 100},
}
--Here you enter a coords and a book name, the book name must be the same as the book name in the recipes. The jobs parameter is a list of jobs that can access this location.
--If the jobs parameter is true, any job can access this book. If the jobs parameter is a list of jobs, only those jobs can access this location. If the jobs parameter is false, only the jobs in the recipe book can access this location.
--The job setting overrides the job setting in the recipe book.
Config.CraftingLocations = {
{coords={1331.7584, -1314.1544, 76.8606, 344.8817},book = "example_book",label ="Example Book for as Prompt", jobs= false},
}
Config.Recipes = {
["example_book"] = { --This is the item name
item = "drugs_book", --Here you enter the item name of the book if false the book is not binded to a item and can only be used with the prompt methodes
label = "Example Book", --This is the label that gets displayed in the book top left corner
jobs = false, --This is the job setting for the book, if false any job can access this book. If a list of jobs, only those jobs can access this book.
skillList = { --This is the skill list that gets displayed in the book with progressbars, you can decide if you want to display the skill in the book or not.
{
label = "Sugarfactory", --This is the label that gets displayed in the book
skill = "sugar", --This is the skill name like in the vorp core skills.lua
},
},
categorys = {
["production"] = "Produce", --this is the category and its label that gets displayed in the book
},
categoryImages = {
["production"] = "sugar", --this is the category and the image that gets displayed in the book (itemname -> image from inventory)
},
recipes = { --List with all recipes
{
label= "Sugar", --This is the label that gets displayed in the book
category= "production", --This is the category that gets displayed in the book
recipeImage= "sugar", --This is the image that gets displayed in the book (itemname -> image from inventory)
neededSkills = { --This are the skills that are needed to craft the item, if not set the player can craft the item without any skills.
{skill = "drugs", progress = 1, label = "Sugar"},
},
receivingExp = { --This are the skills exp that are gained when the item is crafted.
{skill = "drugs", exp = 13, label = "Sugarfactory"},
},
needed= { --This are the items that are needed to craft the item.
{label = "Sugar", item = "sugar", amount = 1},
{label = "Waterbucket", item = "full_bucket", amount = 1},
},
duration= 40, --This is the duration of the recipe in seconds.
retrieve= { --This is the itemlist that is retrieved when the item is crafted.
--{ item= "weapon_fishingrod", label= "Angel", amount= 1, isWeapon = true }, -- you can add isWeapon = true to mark the item as weapon so it will add it correctly to the players inventory
{ item= "sugar", label= "Sugar", amount= 1,}, --Item that gets given to the player
},
tools= {{ item= "bucket", label= "Bucket", amount= 1, useDurability = true }},--Those are the tools that are needed to craft the item, with useDurability set to true the tool
-- will lose durability when used if false it will not have durability just need the item to be in the players inventory
giveback= {{item= "sugar", label= "Sugar", amount= 1,}}, --This is the itemlist that is given back to the player when the item is crafted.
requireJobLocation = false, --When this is set to true the player must be in the job location of his current set job to craft the item.
-- specialLocation = {"rho_special_location"}, --This is the list of polyzones where the player can craft the item, cant be used with requireJobLocation.
disclaimer = "This is a disclaimer text, to be displayed to the player.", --This is the disclaimer text that gets displayed in orange above the craft button
description = "Here you can write a amazing description for your recipe or tell the player what he can do with it." --This is the description text that gets displayed below the recipe titel in the details tab
},
},
},
}
GET OTHER SCRIPTS FROM ME
BREW CASES - A CSGO styled case system for VORP and RSG
BREW MULTIJOB - A versatile multijob system for VORP and RSG!
BREW TELEGRAM - Your allrounder for messaging - With private and company mailboxes!
Price:
35€ + local taxes and tebex fees
Framework:
VORP
NOW ALSO FOR RSG
Tebex:
https://brewery.tebex.io/package/6597686
The script is also open source available:
https://brewery.tebex.io/package/6628930
Showcase:
! Click here for the Showcase Video !
The prop bind of a book is missing in the video, but before christmas I dont have enough time to cut a new video!
Code is accessible | No (Only UI Folder) |
Subscription-based | No |
Lines (approximately) | ~2000 |
Requirements | vorp_inventory and vorp_core |
Support | Yes |